aiol stressor not supported, but ran anyway

Bug #1858858 reported by Jeff Lane on 2020-01-08
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Stress-ng
Medium
Colin Ian King
stress-ng (Ubuntu)
Status tracked in Focal
Bionic
Medium
Unassigned
Eoan
Medium
Unassigned
Focal
Medium
Unassigned

Bug Description

== SRU Justification BIONIC, EOAN ==

running a stressor that terminates early because it cannot be supported when using the --aggressive option and the -t option will not abort early as expected. It should terminate immediately if all the stressors have completed.

== Fix ==

Upstream fix: https://kernel.ubuntu.com/git/cking/stress-ng.git/commit/?id=6523bfc9a6c146f44a7b9c71a10b6ac5b87276bb

This checks if all the stressor processes have terminated and if so it aborts the --aggressive mode loop.

== Test ==

stress-ng --aggressive --aiol 1 -t 5 -v

Should abort early. Without the fix it will run for 5 seconds if aiol is not supported. With the fix it aborts early if aiol is not supported.

== Regression Potential ==

Small, this affects just the --aggressive mode loop handler when the --agressive mode is enabled with a timeout.

-------------------------------------------------------

Discovered on 18.04 / 4.15 against both SSD and NVMe drives in this submission:
https://certification.canonical.com/hardware/201912-27596/submission/156320/test/64283/result/11844159/

Stress-NG spent 4 minutes attempting to run a stressor that "is not implemented on this system"

Running stress-ng aiol stressor for 240 seconds....
stress-ng: info:  [130482] dispatching hogs: 256 aiol
stress-ng: info:  [130483] stress-ng-aiol: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
stress-ng: info:  [130484] stress-ng-aiol: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
stress-ng: info:  [130485] stress-ng-aiol: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
...
stress-ng: info:  [130737] stress-ng-aiol: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
stress-ng: info:  [130738] stress-ng-aiol: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
stress-ng: info:  [130482] successful run completed in 240.04s (4 mins, 0.04 secs)

This did not affect the outcome of the testing, so only a minor issue of confusing output because it actually consumed 4 minutes of runtime on something that appears to not be supported.

the command line that would have been used is found in the disk_stress_ng script in checkbox and is:

stress-ng --aggressive --verify --timeout 240 --temp-path $test_dir --aiol 0 --hdd-opts dsync --readahead-bytes 16M -k

Note, I do not have access to this hardware, it is from a remote submission.

Note this is on a system running an AMD Epyc 2 (Rome) CPU, not an Intel. I presume the AMD CPU doesn't support certain things being tested, hence the message, the question remains why once stress-ng determines that the stressor is not supported it continues attempting to test it.

Also from that system in the cpu stress test:
stress-ng: info: [18239] dispatching hogs: 256 af-alg, 256 bsearch, 256 context, 256 cpu, 256 crypt, 256 hsearch, 256 longjmp, 256 lsearch, 256 matrix, 256 qsort, 256 str, 256 stream, 256 tsearch, 256 vecmath, 256 wcs
stress-ng: info: [18240] stress-ng-af-alg: 41 cryptographic algorithms found in /proc/crypto
stress-ng: info: [18240] stress-ng-af-alg: 116 cryptographic algorithms max (with defconfigs)
stress-ng: info: [18255] stress-ng-wcs: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
stress-ng: info: [18272] stress-ng-wcs: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
stress-ng: info: [18289] stress-ng-wcs: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
stress-ng: info: [18306] stress-ng-wcs: this stressor is not implemented on this system: x86_64 Linux 4.15.0-72-generic gcc 7.4
...
https://certification.canonical.com/hardware/201912-27596/submission/156320/test/62532/result/11844201/

Jeff Lane (bladernr) on 2020-01-08
description: updated
Jeff Lane (bladernr) on 2020-01-08
description: updated
Colin Ian King (colin-king) wrote :

Just to clarify, which version of stress-ng is this? (stress-ng -V will show this)

Changed in stress-ng:
status: New → Incomplete
importance: Undecided → Medium
assignee: nobody → Colin Ian King (colin-king)

On Thu, Feb 13, 2020 at 17:55 Colin Ian King <email address hidden>
wrote:

> Just to clarify, which version of stress-ng is this? (stress-ng -V will
> show this)

stress-ng 0.09.25-1ubuntu4
--
Sent from my iPhone so please forgive any typos, top posting and such.

Colin Ian King (colin-king) wrote :

I'll get this fixed when I'm back from my vacation.

Changed in stress-ng:
status: Incomplete → In Progress
Colin Ian King (colin-king) wrote :
Changed in stress-ng:
status: In Progress → Fix Committed
no longer affects: stress-ng (Ubuntu Disco)
description: updated
Changed in stress-ng (Ubuntu Bionic):
importance: Undecided → Medium
Changed in stress-ng (Ubuntu Focal):
importance: Undecided → Medium
Changed in stress-ng (Ubuntu Eoan):
importance: Undecided → Medium
Changed in stress-ng (Ubuntu Focal):
status: New → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package stress-ng - 0.11.01-1

---------------
stress-ng (0.11.01-1) unstable; urgency=medium

  * Makefile: bump version
  * Ensure --aggressive mode terminates early (LP: #1858858)
  * stress-ptrace: also check for EACESS errors
  * stress-ptrace: add one more EPERM check
  * stress-ptrace: make EPERM non-fatal error, modify pr_info messages
  * snapcraft: add system-trace, hardware-random-observe interfaces
  * stress-ptrace: terminate in with failure if child cannot be ptraced

 -- Colin King <email address hidden> Mon, 24 Feb 2020 10:48:23 +0000

Changed in stress-ng (Ubuntu Focal):
status: Fix Committed → Fix Released
Dan Streetman (ddstreet) wrote :

subscribing ~ubuntu-sru, as ~ubuntu-sru-developers does not handle sru reviews.

Hello Jeff, 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-1ubuntu4 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/PerformingSRUVerification . 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.

Changed in stress-ng (Ubuntu Eoan):
status: New → Fix Committed
tags: added: verification-needed verification-needed-eoan

An upload of stress-ng to bionic-proposed has been rejected from the upload queue for the following reason: "Previous, bionic-proposed verification-failed SRU is included in this upload. Please re-upload with either the old upload reverted or the old bugs re-introduced in the .changes.".

Colin Ian King (colin-king) wrote :

Verified eoan 0.10.07-1ubuntu4 is fixed.

tags: added: verification-done-eoan
removed: verification-needed-eoan
Colin Ian King (colin-king) wrote :

I've re-uploaded the bionic version with the necessary fixes ready for a re-test for SRU.

Michael Reed (mreed8855) wrote :

I tested this on eoan on a ROME system and I got the following results:

$ stress-ng --aggressive --verify --timeout 240 --temp-path /tmp --aiol 0 --hdd-opts dsync --readahead-bytes 16M -k
stress-ng: info: [12605] dispatching hogs: 96 aiol
stress-ng: info: [12605] successful run completed in 247.78s (4 mins, 7.78 secs)

$ cat /etc/issue
Ubuntu 19.10 \n \l

$ uname -a
Linux R7525-105-25GCX 5.3.0-40-generic #32-Ubuntu SMP Fri Jan 31 20:24:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ sudo apt-cache policy stress-ng
stress-ng:
  Installed: 0.10.07-1ubuntu4
  Candidate: 0.10.07-1ubuntu4
  Version table:
 *** 0.10.07-1ubuntu4 500
        500 http://archive.ubuntu.com/ubuntu eoan-proposed/universe amd64 Packages
        100 /var/lib/dpkg/status
     0.10.07-1ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu eoan-updates/universe amd64 Packages
     0.10.07-1 500
        500 http://archive.ubuntu.com/ubuntu eoan/universe amd64 Packages

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package stress-ng - 0.10.07-1ubuntu4

---------------
stress-ng (0.10.07-1ubuntu4) eoan; urgency=medium

  * Ensure --aggressive mode terminates early (LP: #1858858)
    Add a waitpid NOHANG wait on each child process and if we get ESRCH
    on all the child pids we can terminate the loop early.

 -- Colin King <email address hidden> Mon, 24 Feb 2020 11:14:21 +0000

Changed in stress-ng (Ubuntu Eoan):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for stress-ng has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Hello Jeff, or anyone else affected,

Accepted stress-ng into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/stress-ng/0.09.25-1ubuntu8 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-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. 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/PerformingSRUVerification . 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.

Changed in stress-ng (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed-bionic
Colin Ian King (colin-king) wrote :

Tested and it's fixed on Bionic.

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic

All autopkgtests for the newly accepted stress-ng (0.09.25-1ubuntu8) for bionic have finished running.
The following regressions have been reported in tests triggered by the package:

stress-ng/0.09.25-1ubuntu8 (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/bionic/update_excuses.html#stress-ng

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers