Opened 5 years ago

Closed 4 years ago

#1455 closed defect (fixed)

SAMv3 DATAGRAM SEND failed

Reported by: Eche|on Owned by: mkvore
Priority: minor Milestone: 0.9.20
Component: apps/SAM Version: 0.9.17
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

2/1/15 4:23:40 PM ERROR [Mv3Handler 1] net.i2p.sam.SAMv3Handler : DATAGRAM SEND failed
2/1/15 4:23:40 PM ERROR [Mv3Handler 1] t.i2p.sam.SAMv3DatagramSession: I2PSessionException while sending data

net.i2p.client.I2PSessionException: Already closed
at net.i2p.client.I2PSessionMuxedImpl.prepPayload(I2PSessionMuxedImpl.java:259)
at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:196)
at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:175)
at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:134)
at net.i2p.sam.SAMMessageSession.sendBytesThroughMessageSession(SAMMessageSession.java:121)
at net.i2p.sam.SAMDatagramSession.sendBytes(SAMDatagramSession.java:93)
at net.i2p.sam.SAMv1Handler.execDatagramMessage(SAMv1Handler.java:467)
at net.i2p.sam.SAMv3Handler.handle(SAMv3Handler.java:408)
at net.i2p.sam.SAMHandler.run(SAMHandler.java:194)
at java.lang.Thread.run(Thread.java:745)
at net.i2p.util.I2PThread.run(I2PThread.java:84)

I2P version: 0.9.17-18
Java version: Oracle Corporation 1.8.0_05 (Java™ SE Runtime Environment 1.8.0_05-b13)
Wrapper version: 3.5.13
Server version: 8.1.16.v20140903
Servlet version: Jasper JSP 2.1 Engine
Platform: Linux amd64 3.16.0-4-amd64
Processor: Bulldozer FX-6100/8100 (athlon64)
Jbigi: Locally optimized native BigInteger? library loaded from file
Encoding: UTF-8
Charset: UTF-8

Subtickets

Change History (8)

comment:1 Changed 5 years ago by zzz

More context please…

What SAM app?
One-time error, or a bunch of them all at once, or continuing?

This is caused by the app closing a session, then sending another datagram… or perhaps just a transient thing while closing, some datagram that was already queued.

comment:2 Changed 5 years ago by Eche|on

Hi

I do not know which app exactly, I assume iMule, and there were ~10-15 of them at once.
iMule kept running, it was in usual transfer.

comment:3 Changed 5 years ago by zzz

<zzz> so it wasn't at iMule startup or shutdown, but just a bunch at once for no apparent reason?
<eche|on> correct
<zzz> hmph

comment:4 Changed 5 years ago by Eche|on

Added view from iMUle:
2015-02-01 16:13:02: Disconnected from Kad
2015-02-01 16:13:02: UDP server cannot connect to the I2P network (Unknown error)
2015-02-01 16:13:02: Next connection try in 60 seconds
2015-02-01 16:14:02: UDP server cannot connect to the I2P network (Unknown error)
2015-02-01 16:14:02: Next connection try in 60 seconds
2015-02-01 16:15:02: UDP server cannot connect to the I2P network (Unknown error)
2015-02-01 16:15:02: Next connection try in 60 seconds
2015-02-01 16:16:05: Connection to the underlying I2P network successful

comment:5 Changed 5 years ago by hummingbird

I had the same kind of error message as Echelon (I'm running I2P betas since 2 weeks).
Logs (maybe useless): http://zerobin.i2p/?5691bb4f50be03e0#N5KJiSSsETgPC4wNtmInWPzblpHJkL4uoUvg9tjRx0M=

Since less than one week, 2 or 3 times iMule crashed when I launched it, it launched fine when I launched it a second time (I don't remember to have such crashes before).

comment:6 Changed 4 years ago by zzz

First part from zerobin (a load of dups follow):

I run iMule, and sometimes I2Phex. 04/02/15 15:34:19 ERROR [HelloHandler] net.i2p.sam.SAMBridge : SAM error: Timeout waiting for HELLO VERSION net.i2p.sam.SAMException: Timeout waiting for HELLO VERSION at net.i2p.sam.SAMHandlerFactory.createSAMHandler(SAMHandlerFactory.java:56) at net.i2p.sam.SAMBridge$1HelloHandler.run(SAMBridge.java:509) at java.lang.Thread.run(Unknown Source) at net.i2p.util.I2PThread.run(I2PThread.java:84) Caused by: java.net.SocketTimeoutException at sun.nio.ch.SocketAdaptor$SocketInputStream.read(Unknown Source) at sun.nio.ch.ChannelInputStream.read(Unknown Source) at java.io.InputStream.read(Unknown Source) at sun.nio.ch.ChannelInputStream.read(Unknown Source) at net.i2p.data.DataHelper.readLine(DataHelper.java:1436) at net.i2p.data.DataHelper.readLine(DataHelper.java:1333) at net.i2p.data.DataHelper.readLine(DataHelper.java:1300) at net.i2p.sam.SAMHandlerFactory.createSAMHandler(SAMHandlerFactory.java:48) ... 3 more 04/02/15 17:41:02 ERROR [DP #25551]: ] t.i2p.sam.SAMv3DatagramSession: Error forwarding message to receiver java.nio.channels.AsynchronousCloseException at java.nio.channels.spi.AbstractInterruptibleChannel.end(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at net.i2p.sam.SAMHandler.writeBytes(SAMHandler.java:108) at net.i2p.sam.SAMHandler.writeBytes(SAMHandler.java:103) at net.i2p.sam.SAMv1Handler.receiveDatagramBytes(SAMv1Handler.java:837) at net.i2p.sam.SAMv3DatagramSession.receiveDatagramBytes(SAMv3DatagramSession.java:76) at net.i2p.sam.SAMDatagramSession.messageReceived(SAMDatagramSession.java:119) at net.i2p.sam.SAMMessageSession$SAMMessageSessionHandler.messageAvailable(SAMMessageSession.java:261) at net.i2p.client.I2PSessionDemultiplexer$NoPortsListener.messageAvailable(I2PSessionDemultiplexer.java:130) at net.i2p.client.I2PSessionDemultiplexer.messageAvailable(I2PSessionDemultiplexer.java:39) at net.i2p.client.I2PSessionMuxedImpl$MuxedAvailabilityNotifier.run(I2PSessionMuxedImpl.java:369) at java.lang.Thread.run(Unknown Source) at net.i2p.util.I2PThread.run(I2PThread.java:84) 04/02/15 20:21:55 CRIT [hutdown hook] net.i2p.router.Router : Graceful shutdown progress: No more tunnels, starting final shutdown 04/02/15 20:21:57 CRIT [hutdown hook] net.i2p.router.Router : Starting final shutdown(2) 04/02/15 20:21:58 ERROR [al Reader 14] i2p.client.I2PSessionMuxedImpl: [iMule_UDP #48154]: Error occurred communicating with router: Router shutdown net.i2p.client.I2PSessionException: Disconnect Message received at net.i2p.client.DisconnectMessageHandler.handleMessage(DisconnectMessageHandler.java:32) at net.i2p.client.I2PSessionImpl.messageReceived(I2PSessionImpl.java:754) 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:84) 04/02/15 20:21:58 ERROR [al Reader 16] i2p.client.I2PSessionMuxedImpl: [iMule_TCP #28193]: Error occurred communicating with router: Router shutdown net.i2p.client.I2PSessionException: Disconnect Message received at net.i2p.client.DisconnectMessageHandler.handleMessage(DisconnectMessageHandler.java:32) at net.i2p.client.I2PSessionImpl.messageReceived(I2PSessionImpl.java:754) 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:84) 04/02/15 20:21:59 ERROR [Mv3Handler 7] t.i2p.sam.SAMv3DatagramSession: I2PSessionException while sending data net.i2p.client.I2PSessionException: Already closed at net.i2p.client.I2PSessionMuxedImpl.prepPayload(I2PSessionMuxedImpl.java:259) at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:196) at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:175) at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:134) at net.i2p.sam.SAMMessageSession.sendBytesThroughMessageSession(SAMMessageSession.java:121) at net.i2p.sam.SAMDatagramSession.sendBytes(SAMDatagramSession.java:93) at net.i2p.sam.SAMv1Handler.execDatagramMessage(SAMv1Handler.java:467) at net.i2p.sam.SAMv3Handler.handle(SAMv3Handler.java:408) at net.i2p.sam.SAMHandler.run(SAMHandler.java:194) at java.lang.Thread.run(Unknown Source) at net.i2p.util.I2PThread.run(I2PThread.java:84)

comment:7 Changed 4 years ago by zzz

hmm that c+p didn't work too well.

The logging on sending through a closed connection was added a few releases ago.

The timeout on HELLO VERSION was added a couple releases ago.

Can't help with any imule crashes.

Not sure there's anything to fix on the I2P side, and the iMule side is unmaintained. But…. the session closed doesn't seem to be making it through SAM. It should close the SAM session and tell the SAM client?

comment:8 Changed 4 years ago by zzz

Milestone: undecided0.9.20
Resolution: fixed
Status: newclosed

I believe #1563 is a duplicate of this, and is fixed for 0.9.20. See that ticket for details.

Note: See TracTickets for help on using tickets.