Opened 4 years ago

Closed 3 years ago

#1567 closed defect (fixed)

shared clients: SendMessage w/o session error causes first browser request failure

Reported by: DjJeshk Owned by: zzz
Priority: minor Milestone: 0.9.23
Component: api/i2cp Version: 0.9.19
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

I2P version: 0.9.19-18
Java version: Oracle Corporation 1.8.0_45 (Java™ SE Runtime Environment 1.8.0_45-b14)
Wrapper version: 3.5.25
Server version: 8.1.17.v20150415
Servlet version: Jasper JSP 2.1 Engine
Platform: Windows 7 x86 6.1
Processor: Core 2 (45nm) (core2)
Jbigi: Locally optimized library jbigi-windows-core2.dll loaded from file
Encoding: Cp1257
Charset: windows-1257

15.9.5 00:10:03 ERROR [al Reader 99] ent.ClientMessageEventListener?: SendMessage? w/o session
15.9.5 00:10:03 ERROR [al Reader 99] .client.ClientConnectionRunner?: Disconnecting the client - SendMessage? w/o session
15.9.5 00:10:03 ERROR [l Reader 100] i2p.client.I2PSessionMuxedImpl: [shared clients]: Error occurred communicating with router: SendMessage? w/o session
net.i2p.client.I2PSessionException: Disconnect Message received

at net.i2p.client.DisconnectMessageHandler?.handleMessage(DisconnectMessageHandler?.java:32)
at net.i2p.client.I2PSessionImpl.messageReceived(I2PSessionImpl.java:759)
at net.i2p.internal.QueuedI2CPMessageReader$QueuedI2CPMessageReaderRunner.run(QueuedI2CPMessageReader.java:56)
at java.lang.Thread.run(Unknown Source)
at net.i2p.util.I2PThread.run(I2PThread.java:107)

15.9.5 00:15:07 ERROR [nt Runner 27] .i2ptunnel.I2PTunnelClientBase: Unable to connect to the router at 127.0.0.1:7654 and build tunnels for the client, retrying in 20 seconds
net.i2p.client.I2PSessionException: [shared clients]: Cannot connect to the router on [internal connection]:0

at net.i2p.client.I2PSessionImpl.connect(I2PSessionImpl.java:549)
at net.i2p.i2ptunnel.I2PTunnelClientBase.connectManager(I2PTunnelClientBase.java:426)
at net.i2p.i2ptunnel.I2PTunnelClientBase.verifySocketManager(I2PTunnelClientBase.java:239)
at net.i2p.i2ptunnel.I2PTunnelHTTPClient.getDefaultOptions(I2PTunnelHTTPClient.java:293)
at net.i2p.i2ptunnel.I2PTunnelHTTPClient.clientConnectionRun(I2PTunnelHTTPClient.java:1196)
at net.i2p.i2ptunnel.I2PTunnelClientBase$BlockingRunner?.run(I2PTunnelClientBase.java:767)
at java.util.concurrent.ThreadPoolExecutor?.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor?$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: No tunnels built after waiting 5 minutes. Your network connection may be down, or there is severe network congestion.

at net.i2p.client.I2PSessionImpl.connect(I2PSessionImpl.java:526)
… 8 more

PS. Shared client tunnel is configured to close if inactive.

Subtickets

Change History (3)

comment:1 Changed 4 years ago by DjJeshk

Summary: shared clients: SendMessage w/o session error causes fist browser request failureshared clients: SendMessage w/o session error causes first browser request failure

comment:2 Changed 4 years ago by zzz

Component: unspecifiedapi/i2cp
Owner: set to zzz
Status: newaccepted

There are some bugs on the client side that will cause data to be sent before the session is ready.
Some fixed in 0.9.20-6, some may remain. New log messages should output errors when this happens.

Also in 0.9.20-6, router will no longer drop the connection on receiving data before there's a session, to reduce the impact of these bugs.

comment:3 Changed 3 years ago by zzz

Milestone: undecided0.9.23
Resolution: fixed
Status: acceptedclosed

This was fixed in 0.9.23, see #1650 #1698

Note: See TracTickets for help on using tickets.