Colm Buckley added the comment:

A couple of things to note:

* Despite the earlier title; this does not just apply to VMs; any system with a 
potentially-blocking getrandom() (including all Linux 3.17+ and Solaris 11+) is 
affected.

* It's true that getrandom() only blocks on Linux when called before the RNG 
entropy pool is initialized. However, Python should not be limited to only 
being called after this initialization.

* In particular, systemd-cron relies on a Python script being called very early 
in the boot process (before the urandom pool is initialized), this is now 
prevalent on the Debian testing track; causing a 90-second boot delay.

* The patch I supplied causes getrandom() to be only called in nonblocking 
mode; this seems consistent with the desired semantics of os.urandom and 
_PyRandomInit.

Hope this helps.

Colm

----------
title: Python 3.5 running in a virtual machine with Linux kernel 3.17+ can 
block at startup or on importing the random module on getrandom() -> Python 3.5 
running on Linux kernel 3.17+ can block at startup or on importing the random 
module on getrandom()
type:  -> behavior

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26839>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to