19.09.2017, 13:14, "Konstantin Tokarev" <annu...@yandex.ru>: > 14.09.2017, 10:22, "Sami Nurmenniemi" <sami.nurmenni...@qt.io>: >> Hi, >> >> Commit 120ecc976fc3d5504d234702f68c2ad3898b77a4 changes default behavior of >> QRandomGenerator to use getentropy instead of /dev/urandom. This causes >> problems for device boot times when using QRandomGenerator in the boot >> sequence. As the commit message itself states "What's more, the glibc >> implementation blocks until entropy is available on early boot". Depending >> on the hw + kernel configuration of the device, this can increase boot time >> by more than a minute. For example in the Boot2Qt image qdbd and qtlauncher >> demo now block until the nonblocking pool is initialized. See QTBUG-63188. >> >> What do you suggest for working around this problem? >> 1. Disable feature "getentropy" from Boot2Qt builds >> - This is the behavior in Qt < 5.10.x >> - Only difference in the entropy of randomness is in the early boot >> 2. Add "rng-tools" to the image for inputting entropy to the kernel >> - Speeds up initialization of nonblocking pool >> - On devices with HW random generator, this adds real entropy to the kernel >> pool >> - On devices without HW random generator, this adds bad entropy from >> /dev/urandom to the kernel pool >> 3. Setting QT_HASH_SEED for the affected processes >> - Not a good solution IMO > > Why? Is hash randomization really important in your case?
Actually, you can read value of QT_HASH_SEED from /dev/urandom, restoring previous behavior exactly. > Also, you may want to replace QHash with a different data structure in your > boot code. > >> - It seems code using this in qhash.cpp is the actual reason for the >> blocked processes (originated from QDebug) >> 4. Something else? >> >> Best Regards, >> Sami Nurmenniemi >> >> , >> >> _______________________________________________ >> Development mailing list >> Development@qt-project.org >> http://lists.qt-project.org/mailman/listinfo/development > > -- > Regards, > Konstantin > _______________________________________________ > Development mailing list > Development@qt-project.org > http://lists.qt-project.org/mailman/listinfo/development -- Regards, Konstantin _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development