Opened 6 years ago

Last modified 4 years ago

#1016 testing defect

Incorrect handling of AIOOBE caused by streaming packet

Reported by: killyourtv Owned by: str4d
Priority: minor Milestone: 0.9.21
Component: router/general Version: 0.9.8
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

I2PBote Version: 0.2.8-b132
I2P version: 0.9.7.1-24
Java version: Oracle Corporation 1.7.0_25 (OpenJDK Runtime Environment 1.7.0_25-b30)
Wrapper version: 3.5.19
Server version: 7.6.12.v20130726
Servlet version: Jasper JSP 2.1 Engine
Platform: Linux amd64 3.10-2-amd64
Processor: Bulldozer FX-6***/FX-8*** (athlon64)
Jbigi: Locally optimized native BigInteger library loaded from file
Encoding: UTF-8
Charset: UTF-8
09/08/13 16:29:45.905 ERROR [Kademlia ] e.network.kademlia.KademliaDHT: Exception caught in KademliaDHT loop
     java.util.ConcurrentModificationException
     at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
     at java.util.ArrayList$Itr.next(ArrayList.java:791)
     at i2p.bote.network.kademlia.BucketManager.getAllUnlockedPeers(BucketManager.java:267)
     at i2p.bote.network.kademlia.BucketManager.getUnlockedPeerCount(BucketManager.java:282)
     at i2p.bote.network.kademlia.KademliaDHT.run(KademliaDHT.java:666)
09/08/13 14:57:10.611 ERROR [ote #6338]: ] i2p.client.I2PSessionMuxedImpl: Error notifying app of message availability
     java.lang.ArrayIndexOutOfBoundsException
     at net.i2p.data.Certificate.create(Certificate.java:60)
     at net.i2p.data.Destination.readBytes(Destination.java:65)
     at net.i2p.client.streaming.Packet.readPacket(Packet.java:585)
     at net.i2p.client.streaming.MessageHandler.messageAvailable(MessageHandler.java:64)
     at net.i2p.client.I2PSessionDemultiplexer.messageAvailable(I2PSessionDemultiplexer.java:39)
     at net.i2p.client.I2PSessionMuxedImpl$MuxedAvailabilityNotifier.run(I2PSessionMuxedImpl.java:353)
     at java.lang.Thread.run(Thread.java:724)
     at net.i2p.util.I2PThread.run(I2PThread.java:85)

Subtickets

Change History (6)

comment:1 Changed 6 years ago by str4d

Keywords: i2pbote added
Version: 0.9.8

comment:2 Changed 5 years ago by zzz

Owner: changed from hungryhobo to HungryHobo
Status: newassigned

comment:3 Changed 5 years ago by str4d

Keywords: I2P-Bote race added; i2pbote removed

comment:4 Changed 4 years ago by str4d

Milestone: soon
Owner: changed from HungryHobo to str4d
Status: assignedaccepted

The CME should be fixed now (#1586).

I'll look into the AIOOBE.

comment:5 Changed 4 years ago by str4d

Keywords: race removed

comment:6 Changed 4 years ago by str4d

Component: apps/pluginsrouter/general
Keywords: I2P-Bote removed
Milestone: soon0.9.21
Status: acceptedtesting
Summary: I2PBote: Exception caught in KademliaDHT loopIncorrect handling of AIOOBE caused by streaming packet

The problem is that Certificate.create() throws an ArrayIndexOutOfBoundsException, but the streaming code only looks for a DataFormatException, and so the error was being propagated incorrectly.

Proposed fix in 180338e86ace3ac6b2eb8add166a3e147cc9d18d, moving to testing for comments.

Note: See TracTickets for help on using tickets.