DynamoRIO / DynamoRIO/dynamorio
ASSERT suspend_count>0 on 32-bit linux.fork-multithread test
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
My new linux.fork-multithread app consistently hits this assert in 32-bit:
https://github.com/DynamoRIO/dynamorio/actions/runs/32322802312/job/96288112750?pr=8068
```
57: suspend_count > 0
57: (Error occurred @4113 frags in tid 26424)
57: version 11.91.20685, custom build
57: -no_dynamic_options -code_api -stderr_mask 12 -stack_size 56K -signal_stack_size 32K -max_elide_jmp 0 -max_elide_call 0 -early_inject -emulate_brk -no_inline_ignored_syscalls -native_exec_default_list '' -no_native_exec_managed_code -no_indcall2direct
57: 0x4ebbca58 0xee9ccae2
57: 0x4ebbcc98 0xeeb74283
57: 0x4ebbccc8 0xeeaa50e7
57: 0x4ebbccf8 0xeeaa5285
57: 0x4ebbcd28 0xeeb71ccd
57: 0x4ebbcd68 0xeeb8184d
57: 0x4ebbce98 0xee9c28f9
57: 0x4ebbcec8 0xee9b9b38
57: 0x4ebbcf58 0xee9b5673
57: 0x4ebbcfe8 0x4eb7efce
57: 0xee8c4000 0xee8dc4a0
57: /home/runner/work/dynamorio/dynamorio/build_debug-internal-32/lib32/debug/libdynamorio.so=0xee91d000>
```
32-bit is not high priority so I am disabling the test there.
Contributor guide
Research direction
Start with the failing linux.fork-multithread test and the assertion at core/unix/os.c:4004, then inspect the linked CI run for the 32-bit failure context. Reproduce or investigate the suspend_count assertion on 32-bit Linux; done means determining and addressing the failure rather than only disabling the test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100