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.