Re: /dev/random blocking causing i2p router to crash
Jan Stary <[email protected]> Tue, 30 Jun 2026 16:52:36 +0200
| Newsgroups | gmane.os.openbsd.misc |
|---|---|
| Message-ID | <[email protected]> |
On Jun 30 10:49:10, [email protected] wrote: > OpenBSD 7.9, i2p-2.10.0-0 > > Hello, > after around 1 hour of uptime on the i2p router /dev/random will block DESCRIPTION The urandom device produces high quality pseudo-random output data without ever blocking. [...] For portability reasons, never use /dev/random. On OpenBSD, it is an alias for /dev/urandom, but on many other systems misbehaves by blocking because their random number generators lack a robust boot-time initialization sequence. > and cause the i2p router to crash (or perpetually hang, so the console > is inaccesible, I'm not sure). It works perfect up until this point. > I have tried increasing the RAM and kernel maxfiles (i2pd docs > suggested that) but the issue persists. > The following error message shows in wrapper.log, > > Thread terminated unexpectedly: PRNG > java.lang.IllegalStateException: Read failed /dev/random To be clear: this is a "router" written in Java? > at gnu.crypto.prng.DevRandom.nextBytes(DevRandom.java:49) > at gnu.crypto.prng.DevRandom.nextBytes(DevRandom.java:40) > at gnu.crypto.prng.AsyncFortunaStandalone.doFill(AsyncFortunaStandalo > ne.java:169) > at gnu.crypto.prng.AsyncFortunaStandalone.run(AsyncFortunaStandalone. > java:130) > at java.base/java.lang.Thread.run(Thread.java:840) > at net.i2p.util.I2PThread.run(I2PThread.java:103) > Caused by: java.io.FileNotFoundException: /dev/random (Too many open > files) So it's too many open files, not a blocking /dev/random. > >From what I've researched blocking is a feature of /dev/random Quite the opposite, as the manpage clearly states.