More info about nondeterminism_added_by_pyqt5_pyrcc5

Federico Brega charon.66 at gmail.com
Mon Aug 14 20:58:02 UTC 2017


Hello,

I'm packaging an application making use of pyrcc5 and I noticed the
nondeterminism it adds.
I see[1] that this is currently description is not correct.
You can see that pyrcc5 uses QHash, which is made to avoid algorithmic
complexity attacks[2]
introducing a randomization.

There are two possible solutions[2]: set the environment variable
QT_HASH_SEED to a constant value before
pyrcc5 is called (this is my current workaround) or call qSetGlobalQHashSeed().

I can help with the implementation if needed.

Regards
--
Federico

[1] https://tests.reproducible-builds.org/debian/issues/unstable/nondeterminism_added_by_pyqt5_pyrcc5_issue.html
[2] http://doc.qt.io/qt-5/qhash.html



More information about the Reproducible-builds mailing list