Opened 3 years ago

Closed 3 years ago

Last modified 3 years 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


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

  at gnu.crypto.prng.BasePRNGStandalone.nextByteInternal (
  at gnu.crypto.prng.BasePRNGStandalone.nextByte (
  at net.i2p.util.FortunaRandomSource.nextBits (
  at net.i2p.util.FortunaRandomSource.signedNextInt (
  at net.i2p.util.FortunaRandomSource.nextInt (
  at java.math.BigInteger.<init> (
  at net.i2p.util.NativeBigInteger.<init> (
  at net.i2p.router.transport.crypto.DHSessionKeyBuilder.<init> (
  at net.i2p.router.transport.crypto.DHSessionKeyBuilder$PrecalcRunner.precalc (
  at net.i2p.router.transport.crypto.DHSessionKeyBuilder$ (


Change History (3)

comment:1 Changed 3 years 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 3 years 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 3 years 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 3 years ago by str4d (previous) (diff)
Note: See TracTickets for help on using tickets.