Enabling CONFIG_SIG_DEFAULT causing ostest to crash
- Dominant language
- C
- Stars
- 4k
- Forks
- 1.7k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 237
Description
## Problem
ostest build with CONFIG_SIG_DEFAULT and task grouping will crash during mqueue_test
## How to Reduplicate the problem
Run Using the x86_64 ostest build with CONFIG_SIG_DEFAULT=y on qemu or Jailhouse.
## Reason of Problem
At the end of mqueue_test, pthread_kill SIGKILL is used to delete the reciver thread.
With CONFIG_SIG_DEFAULT, it will trigger abnormal_termination.
Furthermore, because of task grouping, this will not only terminate the thread but also other threads in the whole group, including the ostest thread.
This in terms cause the DEBUGASSERT in waitpid to failed because the threads are terminated unexpectedly and child no longer exit in groups.
The test will crash as #955.
## How should it behave
2. ostest thread should not be killed.
1. The DEBUGASSERT in waitpid should not be triggered
## Related Issue
I think this is the root cause of #955.
## Other thoughts
I am not definite whether this is simply a bad DEBUGASSERT or mqueue_test should fundamentally stop using pthread_kill.
Contributor guide
Assessment
This issue has not been assessed yet.