Opened 21 months ago

Closed 21 months ago

Last modified 21 months ago

#2091 closed defect (duplicate)

IllegalStateException in DHSessionKeyBuilder precalc thread

Reported by: str4d Owned by: zzz
Priority: minor Milestone: undecided
Component: apps/android Version: 0.9.31
Keywords: I2P Android Cc:
Parent Tickets: #2077 Sensitive: no

Description

Reported via Google Play. Device was a LGE Nexus 5X (bullhead), 2048MB RAM, Android 8.0, running app version 4745238 (0.9.31).

java.lang.IllegalStateException: 
  at gnu.crypto.prng.BasePRNGStandalone.nextByteInternal (BasePRNGStandalone.java:166)
  at gnu.crypto.prng.BasePRNGStandalone.nextByte (BasePRNGStandalone.java:106)
  at net.i2p.util.FortunaRandomSource.nextBits (FortunaRandomSource.java:258)
  at net.i2p.util.FortunaRandomSource.signedNextInt (FortunaRandomSource.java:123)
  at net.i2p.util.FortunaRandomSource.nextInt (FortunaRandomSource.java:92)
  at java.math.BigInteger.<init> (BigInteger.java:138)
  at net.i2p.util.NativeBigInteger.<init> (NativeBigInteger.java:629)
  at net.i2p.router.transport.crypto.DHSessionKeyBuilder.<init> (DHSessionKeyBuilder.java:84)
  at net.i2p.router.transport.crypto.DHSessionKeyBuilder$PrecalcRunner.precalc (DHSessionKeyBuilder.java:553)
  at net.i2p.router.transport.crypto.DHSessionKeyBuilder$PrecalcRunner.run (DHSessionKeyBuilder.java:504)

Subtickets

Change History (3)

comment:1 Changed 21 months ago by zzz

Component: router/transportapps/android
Parent Tickets: 2077
Resolution: duplicate
Status: newclosed

Appears to be a dup of #2077 already assigned to you but now we have a stack trace. See the link there for more info.

I suspect a race at shutdown?

comment:2 Changed 21 months ago by zzz

Or, given the frequency people are seeing it, perhaps a race at startup. I see you made several changes today in android to address other startup races.

3rd possibility, ofc, is a real static ref somewhere.

comment:3 Changed 21 months ago by str4d

Yeah, in 0.9.31 I bumped Android to target SDK 25 (first SDK bump in ages), specifically to uncover user issues. Seems that the 24-to-25 jump removes a bunch of older ordering guarantees, I assume for performance.

Last edited 21 months ago by str4d (previous) (diff)
Note: See TracTickets for help on using tickets.