Conversation

I got infinity of this error because my perl script forked a lot of children all with the same PRNG seed so all of them tried to create the same sequence of 1000 temp file names 😭😭
Image
5
51
Replying to
it's one of those things where if *I* was using the prng I might possibly think of this, but library functions? I guess the answer is maybe that all randomness that isn't perf-sensitive or intended to be deterministic should come from /dev/urandom?
4
3
Replying to and
Should be getrandom, not /dev/urandom, so that it makes sure the CSPRNG is initialized in early boot and is always available even if the /dev device nodes are missing which often happens within a chroot or mount namespace sandbox. It's pretty high performance overhead though.
1
1
It avoids needing extra locking by having a CSPRNG for each slab allocator. ChaCha8 is very fast, although it'd be nice to speed it up more. Initially cached getrandom output but that was far too slow and needed to cache way too much to reduce overall syscall/locking overhead.
1