Parece que algum componente do seu sistema bloqueia enquanto tenta obter dados aleatórios do kernel (ou seja, lendo /dev/urandom
ou chamando getrandom()
) devido à entropia insuficiente (aleatoriedade) disponível.
Eu não tenho uma explicação do porque o problema depende de uma versão do kernel em particular, ou qual componente do seu sistema realmente bloqueia, mas independente da causa raiz,
De fato, como apontado por Bigon em sua resposta , parece ser um bug do kernel introduzido em 4.16 :
This bug is introduced by the "crng_init > 0" to "crng_init > 1" change in this commit: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43838a23a05fbd13e47d750d3dfd77001536dd33
This change inadvertently impacts urandom_read, causing the crng_init==1 state to be treated as uninitialized and causing urandom to block, despite this state existing specifically to support non-cryptographic needs at boot time: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c#n1863
Reverting 43838a23a05f ("random: fix crng_ready() test") fixes the bug (tested with 4.16.5-1), but this may cause security concerns (CVE-2018-1108 is mentioned in 43838a23a05f). I am testing a more localised fix that should be more palatable to upstream.
( link )
... Ainda assim, você pode tentar usar haveged
ou rng-tools
para reunir a entropia mais rapidamente.