stress-ng 0.15.07-1 autopkgtest failure on armhf

Bug #2019079 reported by Heinrich Schuchardt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
stress-ng (Ubuntu)
Fix Released
High
Benjamin Drung

Bug Description

Autopkgtest fails on armhf with stack overflow in pthread tests:
https://autopkgtest.ubuntu.com/results/autopkgtest-mantic/mantic/armhf/s/stress-ng/20230504_234423_40746@/log.gz

```
pthread at Thu May 4 23:43:49 UTC 2023
stress-ng: 23:43:49.90 debug: [1045] invoked with 'stress-ng -v -t 1 --pthread 4 --verify --timestamp' by user 1000 'ubuntu'
stress-ng: 23:43:49.90 debug: [1045] stress-ng 0.15.07
stress-ng: 23:43:49.90 debug: [1045] system: Linux autopkgtest-lxd-fsyuma 5.4.0-147-generic #164-Ubuntu SMP Tue Mar 21 14:25:54 UTC 2023 armv7l
stress-ng: 23:43:49.90 debug: [1045] RAM total: 3.8G, RAM free: 2.3G, swap free: 488.7M
stress-ng: 23:43:49.90 debug: [1045] temporary file path: '.', filesystem type: btrfs
stress-ng: 23:43:49.90 debug: [1045] 8 processors online, 8 processors configured
stress-ng: 23:43:49.90 info: [1045] setting to a 1 second run per stressor
stress-ng: 23:43:49.90 info: [1045] dispatching hogs: 4 pthread
stress-ng: 23:43:49.90 debug: [1045] cache allocate: using defaults, cannot determine cache level details
stress-ng: 23:43:49.90 debug: [1045] cache allocate: shared cache buffer size: 2048K
stress-ng: 23:43:49.90 debug: [1045] starting stressors
stress-ng: 23:43:49.90 debug: [1046] pthread: started [1046] (instance 0)
stress-ng: 23:43:49.90 debug: [1045] 4 stressors started
stress-ng: 23:43:49.90 debug: [1047] pthread: started [1047] (instance 1)
stress-ng: 23:43:49.91 debug: [1049] pthread: started [1049] (instance 3)
Stack overflow detected! Aborting stress-ng.
Stack overflow detected! Aborting stress-ng.
Stack overflow detected! Aborting stress-ng.
Stack overflow detected! Aborting stress-ng.
Stack overflow detected! Aborting stress-ng.
stress-ng: 23:43:49.94 debug: [1048] pthread: started [1048] (instance 2)
stress-ng: 23:43:49.94 debug: [1048] pthread: exited [1048] (instance 2)
stress-ng: 23:43:50.57 debug: [1045] process [1046] (pthread) terminated on signal: 6 (Aborted)
stress-ng: 23:43:50.57 debug: [1045] process [1046] terminated
[...]
```

Upstream has a bug report for it
https://github.com/ColinIanKing/stress-ng/issues/283
and a patch
https://github.com/ColinIanKing/stress-ng/commit/637662d92865fbf5f3469d7754584f6d810fb902 ("stress-pthread: use 64 bit tid_addr to fix stack clobbering on 32 bit platforms")

Benjamin Drung (bdrung)
tags: added: update-excuse
Benjamin Drung (bdrung)
summary: - Autopkgtest-failure
+ stress-ng 0.15.07-1 autopkgtest failure on armhf
Benjamin Drung (bdrung)
Changed in stress-ng (Ubuntu):
assignee: nobody → Benjamin Drung (bdrung)
Benjamin Drung (bdrung)
Changed in stress-ng (Ubuntu):
status: New → Fix Committed
importance: Undecided → High
Revision history for this message
Benjamin Drung (bdrung) wrote :

Including the upstream patch is not enough. stress-ng 0.15.07-1ubuntu1 runs into a timeout now:

```
pthread at Thu May 18 13:52:57 UTC 2023
stress-ng: 13:52:57.49 debug: [1047] invoked with 'stress-ng -v -t 1 --pthread 4 --verify --timestamp' by user 1000 'ubuntu'
stress-ng: 13:52:57.49 debug: [1047] stress-ng 0.15.07
stress-ng: 13:52:57.49 debug: [1047] system: Linux autopkgtest-lxd-auisii 5.4.0-139-generic #156-Ubuntu SMP Sat Jan 21 13:46:46 UTC 2023 armv7l
stress-ng: 13:52:57.49 debug: [1047] RAM total: 3.8G, RAM free: 1.8G, swap free: 373.3M
stress-ng: 13:52:57.49 debug: [1047] temporary file path: '.', filesystem type: btrfs
stress-ng: 13:52:57.49 debug: [1047] 4 processors online, 4 processors configured
stress-ng: 13:52:57.49 info: [1047] setting to a 1 second run per stressor
stress-ng: 13:52:57.49 info: [1047] dispatching hogs: 4 pthread
stress-ng: 13:52:57.49 debug: [1047] cache allocate: using defaults, cannot determine cache level details
stress-ng: 13:52:57.49 debug: [1047] cache allocate: shared cache buffer size: 2048K
stress-ng: 13:52:57.49 debug: [1047] starting stressors
stress-ng: 13:52:57.49 debug: [1048] pthread: started [1048] (instance 0)
stress-ng: 13:52:57.49 debug: [1049] pthread: started [1049] (instance 1)
stress-ng: 13:52:57.49 debug: [1047] 4 stressors started
stress-ng: 13:52:57.51 debug: [1051] pthread: started [1051] (instance 3)
stress-ng: 13:52:57.59 debug: [1050] pthread: started [1050] (instance 2)
autopkgtest [16:39:15]: kill with SIGTERM did not work sending SIGKILL
```

Full log: https://autopkgtest.ubuntu.com/results/autopkgtest-mantic/mantic/armhf/s/stress-ng/20230518_163932_72f42@/log.gz

description: updated
description: updated
Benjamin Drung (bdrung)
description: updated
Benjamin Drung (bdrung)
Changed in stress-ng (Ubuntu):
status: Fix Committed → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (14.5 KiB)

This bug was fixed in the package stress-ng - 0.15.07-1ubuntu2

---------------
stress-ng (0.15.07-1ubuntu2) mantic; urgency=medium

  * Cherry-pick upstream commit "stress-pthread: fix big endian tid addr
    for 32 bit systems" to fix test failure on armhf (LP: #2019079)

stress-ng (0.15.07-1ubuntu1) mantic; urgency=medium

  * Cherry-pick upstream commit "stress-pthread: use 64 bit tid_addr to fix
    stack clobbering on 32 bit platforms" to fix test failures on armhf
    (LP: #2019079)

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

  [Shoily Rahman]
  * stress-rawpkt: use of rx ring to the rawpkt module

  [Luis Chamberlain]
  * stress-module: stress finit_module() and delete_module()

  [Colin Ian King]
  * Makefile: bump version
  * stress-memthrash: check for negative return from
    stress_numa_count_mem_nodes
  * stress-memthrash: add some numa sanity checking
  * stress-rawpkt: voidify blocknr if it is not being used
  * stress-memthrash: reduce copy128 hunks by half, use correct end offset
  * stress-memthrash: fix copy128 end offset
  * Makefile: shorten run time of verify-test-all rule, remove kernel
    log check
  * core-klog: exit klog child process rather than return
  * stress-timerfd: relax error message on timerfd creation w/o priv
  * stress-timerfd: add missing space in failure message
  * core-processes: don't use getpwuid for static builds
  * stress-zero: remove alignment from register pointer, icc does not
    support this idiom
  * stress-full: remove alignment from register pointer, icc does not
    support this idiom
  * core-helper: use char * pointers to avoid auto increment on void * ptr
  * stress-rawpkt: add built time check for struct tpacket_req3
  * core-shared-heap: use shim_strlcpy as some systems don't have strlcpy
  * core-shared-heap: use strlcpy rather than strcpy as it is safer
  * stress-zlib: cast mmap'd memory to stress_zlib_shared_checksums_t *
  * stress-module: only declare helper functions if they are required
  * stress-module: voidify unused function args
  * stress-msync: fix missing pointer constifications
  * stress-ng.h: re-work unconstify macro
  * core-resources: cast 0 for pthread to pthread_t
  * stress-memcpy: replace references to b with str2/str3
  * stress-tmpfs: don't assume page size is 4K, fixes PPC64 failure
  * stress-pthread: check for head being null
  * stress-malloc: avoid calloc allocatiob being less than a uintptr_t
  * stress-malloc: avoid zero sized callocs when performing len / n
    where len < n
  * core-helper: reduce scope of variable prev_flag
  * test/test-finit-module: ensure test is compilable
  * stress-wcs: reduce scope of variable t
  * stress-vdso: remove redudant shadowed declaration of pointer vdso_sym
  * stress-set: make bad_groups const
  * stress-sem-sysv: only declare variable nsems when required
  * stress-rawpkt: declare lable close_fd only when required
  * stress-seek: reduce scope of variable t
  * stress-sctp: make char array patterns const
  * stress-qsort: add ( ) to remove cppcheck precedence style warning
  * stress-malloc: remove shadow'd variable declaration ret
  * stress-mmap: rename shadow'd variable index with flag_perms_index,
...

Changed in stress-ng (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.