Opened 5 years ago
Closed 4 years ago
#1593 closed defect (fixed)
HTTPBidirProxy broken
Reported by: | sponge | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | 0.9.21 |
Component: | apps/i2ptunnel | Version: | 0.9.20 |
Keywords: | Cc: | ||
Parent Tickets: | Sensitive: | no |
Description
ERROR [7.0.0.1:4488] tunnel.I2PTunnelHTTPBidirProxy: Error listening for connections on /127.0.0.1 port 4488 java.net.BindException: Address already in use at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382) at java.net.ServerSocket.bind(ServerSocket.java:375) at java.net.ServerSocket.<init>(ServerSocket.java:237) at net.i2p.i2ptunnel.I2PTunnelClientBase.run(I2PTunnelClientBase.java:688) at java.lang.Thread.run(Thread.java:744) at net.i2p.util.I2PThread.run(I2PThread.java:107)
and…
Starting tunnel sponge.i2p... Client ready, listening on 127.0.0.1:4488 Client ready, listening on 127.0.0.1:4488 Error listening for connections on /127.0.0.1 port 4488: java.net.BindException: Address already in use Stopping client 4488 -> HTTPClient [NO PROXIES] Ready! Tunnels ready for server at 127.0.0.1:7658
Starts twice then fails?
Who broke it?
Subtickets
Change History (6)
comment:1 Changed 5 years ago by
comment:2 Changed 5 years ago by
The culprit is d6cde6f0fb2d5adc41793eda0efb1f1550261fb4
(part of #815 work):
-
apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPBidirServer.java
public class I2PTunnelHTTPBidirServer ex 32 32 bidir = true; 33 33 34 34 /* start the httpclient */ 35 task = new I2PTunnelHTTPBidirProxy(localPort, l, sockMgr, getTunnel(), getEventDispatcher(), __serverId); 35 I2PTunnelClientBase client = new I2PTunnelHTTPBidirProxy(localPort, l, sockMgr, getTunnel(), getEventDispatcher(), __serverId); 36 client.startRunning(); 37 task = client; 36 38 sockMgr.setName("Server"); // TO-DO: Need to change this to "Bidir"! 37 39 getTunnel().addSession(sockMgr.getSession()); 38 40 l.log("Ready!");
comment:3 Changed 5 years ago by
Component: | router/general → apps/i2ptunnel |
---|---|
Milestone: | undecided → 0.9.21 |
I broke it, and it was propped very early in this cycle, but apparently nobody tested it in 7 weeks.
Possibly affects IRC DCC client also, uncomfirmed.
comment:4 Changed 5 years ago by
Status: | new → testing |
---|
I'll take some of that blame, I should be testing -rc builds more.
Fix pushed in 034317df013b161a7f61b5617b37e6a20d4f3ef6
0.9.20-2, it fixes Seedless, have not tested IRC DCC.
comment:5 Changed 5 years ago by
making outbound dcc requests are non functional while recving inbound are functional on -2
Note: See
TracTickets for help on using
tickets.
The client-side is being started twice in
I2PTunnelHTTPBidirServer.finishSetupI2PTunnelHTTPBidirServer()
- once by theI2PTunnelHTTPClient
constructor, and again by theI2PTunnelHTTPClient.startRunning()
call.The short-term fix is to remove the
startRunning()
call. The long-term fix is to stopI2PTunnelHTTPClient
starting its tunnels in its constructor.