stress-ng mwc8() getting reset when mwc1() is called
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
stress-ng (Ubuntu) |
Fix Released
|
Medium
|
Colin Ian King | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Disco |
Fix Released
|
Undecided
|
Unassigned | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Colin Ian King |
Bug Description
== SRU [Bionic]
The 8 bit pseudo-random number generator mwc8() is being zero'd whenever a 1 bit value from mwc1() is generated. This causes mwc8() to generate a stream of 1 to 31 zeros until all the bits are shifted out of a 32 bit entropy state and the next 8 bit value is generated.
== Fix ==
Upstream fix (in Focal):
commit 99e65ccceedc12e
Author: Colin Ian King <email address hidden>
Date: Fri Nov 29 10:55:42 2019 +0000
core-mwc: fix mwc8() being reset when using mwc1()
== Test ==
This cannot be easily regression tested, one has to attach a debugger to observe mwc1() clobbering the mwc8() internal state.
== Regression Potential ==
Since this fixes the random number generation when mwc1() is called, it changes the random behaviour of various stressors that use mwc1() and mwc8() together. This affects the following stressors: mmapfixed, sock and swap. The changes now make the stressors behave more randomly and hence this may affect the way a system is being stressed.
description: | updated |
description: | updated |
Changed in stress-ng (Ubuntu Focal): | |
status: | New → Fix Committed |
Changed in stress-ng (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in stress-ng (Ubuntu Disco): | |
status: | New → In Progress |
Changed in stress-ng (Ubuntu Eoan): | |
status: | New → In Progress |
Changed in stress-ng (Ubuntu Focal): | |
assignee: | nobody → Colin Ian King (colin-king) |
importance: | Undecided → Medium |
Changed in stress-ng (Ubuntu Focal): | |
status: | Fix Committed → Fix Released |
tags: |
added: verification-done-bionic removed: verification-needed-bionic |
tags: |
added: verification-done-disco removed: verification-needed-disco |
tags: |
added: verification-done removed: verification-needed |
Hello Colin, or anyone else affected,
Accepted stress-ng into eoan-proposed. The package will build now and be available at https:/ /launchpad. net/ubuntu/ +source/ stress- ng/0.10. 07-1ubuntu3 in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification- needed- eoan to verification- done-eoan. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed- eoan. In either case, without details of your testing we will not be able to proceed.
Further information regarding the verification process can be found at https:/ /wiki.ubuntu. com/QATeam/ PerformingSRUVe rification . Thank you in advance for helping!
N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.