eclipse-iceoryx / eclipse-iceoryx/iceoryx2
Robust mutexes are not properly released from crashed threads on QNX 7.1
- Dominant language
- Rust
- Stars
- 2.5k
- Forks
- 185
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 47
Description
## Required information
**Operating system:** QNX 7.1
```sh
# uname -a
QNX x86_64-qnx-vm 7.1.0 2023/07/14-18:28:33EDT x86pc x86_64
```
**Rust version:**
```sh
$ rustc --version
rustc 1.88.0 (6b00bc388 2025-06-23
```
**Cargo version:**
```
$ cargo --version
cargo 1.88.0 (873a06493 2025-05-10)
```
**iceoryx2 version:**
`main` branch
**Detailed log output:**
No log output.
**Observed result or behaviour:**
Test `fn mutex_can_be_recovered_when_thread_died()` in `mutex_tests.rs` hangs then crashes without output.
**Expected result or behaviour:**
Since QNX supports [`pthread_mutexattr_setrobust()`](https://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.lib_ref/topic/p/pthread_mutexattr_setrobust.html), the test should pass.
**Conditions where it occurred / Performed steps:**
Run the `mutex_tests` binary on QNX 7.1.
Contributor guide
Research direction
Start by running the mutex_tests binary on QNX 7.1 and focus on mutex_tests.rs, especially mutex_can_be_recovered_when_thread_died(). Then inspect the mutex implementation used by that test and compare its behavior with QNX's pthread_mutexattr_setrobust support. Done means the test completes successfully on QNX 7.1 instead of hanging and crashing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100