Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#1589 closed enhancement (not our bug)

Dead DNS server - TCP deadlocks, NTP failure, lot errors

Reported by: DjJeshk Owned by:
Priority: obsolete Milestone: undecided
Component: unspecified Version: 0.9.19
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

Restarted after upgrade to -31-rc and did not noticed that DNS is dead. It first show up that NTP server is unreachable, then I could not any page in router console. Then router complains it cannot connect to internal connection (looks NTCP failed). Deadlocks keep coming, stupid situation.

I2P version: 0.9.19-31-rc
Java version: Oracle Corporation 1.8.0_45 (Java™ SE Runtime Environment 1.8.0_45-b15)
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.29.5 05:12:47 ERROR Proxy .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 #57991]: Cannot connect to the router on [internal connection]:0
at net.i2p.client.I2PSessionImpl.connect(I2PSessionImpl.java:559)
at net.i2p.i2ptunnel.I2PTunnelClientBase.connectManager(I2PTunnelClientBase.java:433)
at net.i2p.i2ptunnel.I2PTunnelClientBase.verifySocketManager(I2PTunnelClientBase.java:249)
at net.i2p.i2ptunnel.I2PTunnelClientBase.<init>(I2PTunnelClientBase.java:185)
at net.i2p.i2ptunnel.I2PTunnelClientBase.<init>(I2PTunnelClientBase.java:133)
at net.i2p.i2ptunnel.I2PTunnelHTTPClientBase.<init>(I2PTunnelHTTPClientBase.java:134)
at net.i2p.i2ptunnel.I2PTunnelHTTPClient.<init>(I2PTunnelHTTPClient.java:237)
at net.i2p.i2ptunnel.I2PTunnel.runHttpClient(I2PTunnel.java:971)
at net.i2p.i2ptunnel.TunnelController?.startHttpClient(TunnelController?.java:312)
at net.i2p.i2ptunnel.TunnelController?.doStartTunnel(TunnelController?.java:271)
at net.i2p.i2ptunnel.TunnelController?.startTunnel(TunnelController?.java:232)
at net.i2p.i2ptunnel.TunnelController?$1.run(TunnelController?.java:212)
at java.lang.Thread.run(Unknown Source)
at net.i2p.util.I2PThread.run(I2PThread.java:107)
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:536)
… 13 more

15.29.5 05:07:45 ERROR [al Reader 17] i2p.client.I2PSessionMuxedImpl: [shared clients #5796]: Error occurred communicating with router: duplicate destination

net.i2p.client.I2PSessionException: Disconnect Message received
at net.i2p.client.DisconnectMessageHandler?.handleMessage(DisconnectMessageHandler?.java:32)
at net.i2p.client.I2PSessionImpl.messageReceived(I2PSessionImpl.java:774)
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.29.5 05:07:45 ERROR [al Reader 15] .client.ClientConnectionRunner?: Disconnecting the client - duplicate destination
15.29.5 05:07:45 ERROR [al Reader 15] ent.ClientMessageEventListener?: Session establish failed: code = 3
15.29.5 05:07:45 CRIT [al Reader 15] 2p.router.client.ClientManager?: Client attempted to register duplicate destination [deleted]
15.29.5 05:07:25 ↓↓↓ 1 similar message omitted ↓↓↓


15.29.5 05:07:25 ERROR [ xxxx] .i2ptunnel.I2PTunnelHTTPServer: Unable to connect to the router at 127.0.0.1:7654 and build tunnels for the server at 127.0.0.1:xxxx, retrying in 20 seconds
15.29.5 05:07:25 ERROR Proxy .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 #5796]: Cannot connect to the router on [internal connection]:0
at net.i2p.client.I2PSessionImpl.connect(I2PSessionImpl.java:559)
at net.i2p.i2ptunnel.I2PTunnelClientBase.connectManager(I2PTunnelClientBase.java:433)
at net.i2p.i2ptunnel.I2PTunnelClientBase.verifySocketManager(I2PTunnelClientBase.java:249)
at net.i2p.i2ptunnel.I2PTunnelClientBase.<init>(I2PTunnelClientBase.java:185)
at net.i2p.i2ptunnel.I2PTunnelClientBase.<init>(I2PTunnelClientBase.java:133)
at net.i2p.i2ptunnel.I2PTunnelHTTPClientBase.<init>(I2PTunnelHTTPClientBase.java:134)
at net.i2p.i2ptunnel.I2PTunnelHTTPClient.<init>(I2PTunnelHTTPClient.java:237)
at net.i2p.i2ptunnel.I2PTunnel.runHttpClient(I2PTunnel.java:971)
at net.i2p.i2ptunnel.TunnelController?.startHttpClient(TunnelController?.java:312)
at net.i2p.i2ptunnel.TunnelController?.doStartTunnel(TunnelController?.java:271)
at net.i2p.i2ptunnel.TunnelController?.startTunnel(TunnelController?.java:232)
at net.i2p.i2ptunnel.TunnelController?$1.run(TunnelController?.java:212)
at java.lang.Thread.run(Unknown Source)
at net.i2p.util.I2PThread.run(I2PThread.java:107)
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:536)
… 13 more

15.29.5 05:07:25 ERROR [ eepsite] .i2ptunnel.I2PTunnelHTTPServer: Unable to connect to the router at 127.0.0.1:7654 and build tunnels for the server at 127.0.0.1:xxxx, retrying in 20 seconds
15.29.5 05:02:08 WARN [ handler 1/1] er.transport.udp.PacketHandler?: NTP failure, UDP adjusting clock by 736ms
15.29.5 05:01:57 WARN [Timestamper ] .router.time.RouterTimestamper?: Unable to reach any of the NTP servers [0.lv.pool.ntp.org, 1.lv.pool.ntp.org, 2.lv.pool.ntp.org, 0.europe.pool.ntp.org, 1.europe.pool.ntp.org, 2.europe.pool.ntp.org, 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org] - network disconnected? Or set time.sntpServerList=myserver1.com,myserver2.com in advanced configuration.

Subtickets

Change History (4)

comment:1 Changed 5 years ago by DjJeshk

Priority: minorcritical

Need an I2P NTP replacement for system TCP connection recovery, remote DNS server lookup would help too. Did not expected such failures if something fails at clearnet or toward it.

Edit: TCP looks recovered from this, I2P console does not hangs for some time.

PS. Interesting idea would be entering all network connections in UDP only mode. :D

Last edited 5 years ago by DjJeshk (previous) (diff)

comment:2 Changed 5 years ago by DjJeshk

Summary: Dead DNS server - NTCP deadlocks, NTP failure, lot errorsDead DNS server - TCP deadlocks, NTP failure, lot errors

comment:3 Changed 5 years ago by Eche|on

Priority: criticalobsolete
Resolution: not our bug
Status: newclosed
Type: defectenhancement

If your network breaks, I2P breaks. Fairly simple.
Nothing we can do.

comment:4 Changed 5 years ago by zzz

Not a "deadlock" in the strict Java sense.

OP references "NTCP failed" but I see no evidence of this.

Comment 1 referenes "TCP connection recovery" and "TCP recovered" but I don't understand what that means.

Comment 1 proposes "remote DNS server lookup" but I don't understand that. Are you propsing we implement our own DNS?

I think comment 1 indicates that the router did recover, if so, then agreed with echelon on closing the ticket.

However, there may be a bug in here somewhere, if the router did not unregister the build-in-progress destination when the client gave up (at 05:07:27), causing the duplicate destination at 05:07:47/

Note: See TracTickets for help on using tickets.