Opened 5 years ago

Closed 3 years ago

#1576 closed defect (wontfix)

Fortuna AIOOBE

Reported by: zzz Owned by:
Priority: minor Milestone: undecided
Component: api/crypto Version: 0.9.19
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

In Windows 8,1 VM "151" 0.9.19-16 Java 1.8.0_31-b13
Seen several times over last month. See comment 1 for stack trace. How could this be our problem? Synchronization in FortunaRandomSource? looks correct. Coming from several places in I2P, unlike to be a real problem with the data/off/len args.

Subtickets

Change History (4)

comment:1 Changed 5 years ago by zzz

2015/05/14 04:45:18 | CRIT  [P reader 2/4] p.router.transport.ntcp.Reader: Error in the ntcp reader
2015/05/14 04:45:18 | java.lang.ArrayIndexOutOfBoundsException
2015/05/14 04:45:18 | 	at sun.security.provider.DigestBase.engineUpdate(Unknown Source)
2015/05/14 04:45:18 | 	at java.security.MessageDigest$Delegate.engineUpdate(Unknown Source)
2015/05/14 04:45:18 | 	at java.security.MessageDigest.update(Unknown Source)
2015/05/14 04:45:18 | 	at gnu.crypto.prng.FortunaStandalone.addRandomBytes(FortunaStandalone.java:184)
2015/05/14 04:45:18 | 	at net.i2p.util.FortunaRandomSource.feedEntropy(FortunaRandomSource.java:266)
2015/05/14 04:45:18 | 	at net.i2p.router.transport.crypto.DHSessionKeyBuilder.calculateSessionKey(DHSessionKeyBuilder.java:289)
2015/05/14 04:45:18 | 	at net.i2p.router.transport.crypto.DHSessionKeyBuilder.getSessionKey(DHSessionKeyBuilder.java:236)
2015/05/14 04:45:18 | 	at net.i2p.router.transport.ntcp.EstablishState.receiveInbound(EstablishState.java:313)
2015/05/14 04:45:18 | 	at net.i2p.router.transport.ntcp.EstablishState.receive(EstablishState.java:233)
2015/05/14 04:45:18 | 	at net.i2p.router.transport.ntcp.Reader.processRead(Reader.java:156)
2015/05/14 04:45:18 | 	at net.i2p.router.transport.ntcp.Reader.access$400(Reader.java:21)
2015/05/14 04:45:18 | 	at net.i2p.router.transport.ntcp.Reader$Runner.run(Reader.java:118)
2015/05/14 04:45:18 | 	at java.lang.Thread.run(Unknown Source)
2015/05/14 04:45:18 | 	at net.i2p.util.I2PThread.run(I2PThread.java:107)
2015/05/14 04:45:18 | CRIT  [JobQueue 4/4] net.i2p.router.JobQueueRunner : Error processing job [Handle Inbound Garlic Message] on thread 3: null
2015/05/14 04:45:18 | java.lang.ArrayIndexOutOfBoundsException
2015/05/14 04:45:18 | 	at sun.security.provider.DigestBase.engineUpdate(Unknown Source)
2015/05/14 04:45:18 | 	at java.security.MessageDigest$Delegate.engineUpdate(Unknown Source)
2015/05/14 04:45:18 | 	at java.security.MessageDigest.update(Unknown Source)
2015/05/14 04:45:18 | 	at gnu.crypto.prng.FortunaStandalone.addRandomBytes(FortunaStandalone.java:184)
2015/05/14 04:45:18 | 	at net.i2p.util.FortunaRandomSource.feedEntropy(FortunaRandomSource.java:266)
2015/05/14 04:45:18 | 	at net.i2p.crypto.ElGamalAESEngine.decryptNewSession(ElGamalAESEngine.java:213)
2015/05/14 04:45:18 | 	at net.i2p.crypto.ElGamalAESEngine.decrypt(ElGamalAESEngine.java:123)
2015/05/14 04:45:18 | 	at net.i2p.router.message.GarlicMessageParser.getGarlicCloves(GarlicMessageParser.java:53)
2015/05/14 04:45:18 | 	at net.i2p.router.message.GarlicMessageReceiver.receive(GarlicMessageReceiver.java:75)
2015/05/14 04:45:18 | 	at net.i2p.router.message.HandleGarlicMessageJob.runJob(HandleGarlicMessageJob.java:69)
2015/05/14 04:45:18 | 	at net.i2p.router.JobQueueRunner.runCurrentJob(JobQueueRunner.java:134)
2015/05/14 04:45:18 | 	at net.i2p.router.JobQueueRunner.run(JobQueueRunner.java:77)

comment:2 Changed 4 years ago by zzz

seen again, same machine, 3 times in 400 ms (1 NTCP, 2 ElG), 0.9.19-31-rc

added workaround in 0.9.19-34-rc f1cdf89f5df2c77274d68690bcba4d7a55f2e355, root cause unknown

comment:3 Changed 4 years ago by str4d

Status: newopen

comment:4 Changed 3 years ago by zzz

Resolution: wontfix
Status: openclosed

Not worth chasing further, workaround is sufficient

Note: See TracTickets for help on using tickets.