apache / apache/nuttx

Enabling CONFIG_SIG_DEFAULT causing ostest to crash

Open
#1,039 0 comments 0 reactions 0 assignees View on GitHub
Type: Bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.