eclipse-iceoryx / eclipse-iceoryx/iceoryx2

Robust mutexes are not properly released from crashed threads on QNX 7.1

Open
#978 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.