Opened 6 years ago
Last modified 5 years ago
#1562 open defect
Bote ignores session exception
Reported by: | zzz | Owned by: | str4d |
---|---|---|---|
Priority: | minor | Milestone: | undecided |
Component: | apps/plugins | Version: | 0.9.19 |
Keywords: | bote | Cc: | |
Parent Tickets: | Sensitive: | no |
Description
After getting a session exception, it tries to load a 0-length datagram into the dissector. See I2PPacketDispatcher line 91. Should never get to the 2nd error below.
The fact that it gets to the 3rd error is a bug on the i2p side, it should throw a DFE when it gets an IOE. Fixed in 0dbfa32f838d839398b2d25e896e8178966a3bca to be 0.9.19-17.
05 06 AA:24:49.558 ERROR [ote #7811]: ] te.network.I2PPacketDispatcher: Can't get new message from I2PSession. net.i2p.client.I2PSessionException: Error decompressing message at net.i2p.client.I2PSessionImpl2.receiveMessage(I2PSessionImpl2.java:297) at i2p.bote.network.I2PPacketDispatcher.messageAvailable(I2PPacketDispatcher.java:89) at i2p.bote.network.I2PPacketDispatcher.messageAvailable(I2PPacketDispatcher.java:82) 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:107) Caused by: java.io.IOException: Stream closed at java.util.zip.InflaterInputStream.ensureOpen(Unknown Source) at java.util.zip.InflaterInputStream.read(Unknown Source) at net.i2p.util.ResettableGZIPInputStream.read(ResettableGZIPInputStream.java:100) at net.i2p.data.DataHelper.decompress(DataHelper.java:1783) at net.i2p.data.DataHelper.decompress(DataHelper.java:1763) at net.i2p.client.I2PSessionImpl2.receiveMessage(I2PSessionImpl2.java:295) ... 6 more 05 06 AA:24:49.558 ERROR [ote #7811]: ] .datagram.I2PDatagramDissector: Caught IOException - INCONSISTENT STATE! java.io.EOFException: Not enough bytes to read the data at net.i2p.data.SDSCache.get(SDSCache.java:178) at net.i2p.data.PublicKey.create(PublicKey.java:44) at net.i2p.data.Destination.create(Destination.java:57) at net.i2p.client.datagram.I2PDatagramDissector.loadI2PDatagram(I2PDatagramDissector.java:77) at i2p.bote.network.I2PPacketDispatcher.messageAvailable(I2PPacketDispatcher.java:100) at i2p.bote.network.I2PPacketDispatcher.messageAvailable(I2PPacketDispatcher.java:82) 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:107) 05 06 AA:24:49.558 ERROR [ote #7811]: ] te.network.I2PPacketDispatcher: Datagram failed verification. net.i2p.client.datagram.I2PInvalidDatagramException: Datagram not yet read at net.i2p.client.datagram.I2PDatagramDissector.verifySignature(I2PDatagramDissector.java:222) at i2p.bote.network.I2PPacketDispatcher.messageAvailable(I2PPacketDispatcher.java:101) at i2p.bote.network.I2PPacketDispatcher.messageAvailable(I2PPacketDispatcher.java:82) 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:107)
reported by a bote user
Subtickets
Note: See
TracTickets for help on using
tickets.