eclipse-iceoryx / eclipse-iceoryx/iceoryx2
`sendmsg` fails with EFAULT in sending unix domain socket file descriptors
- Dominant language
- Rust
- Stars
- 2.5k
- Forks
- 185
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 34
Description
## Required information
**Operating system:**
Linux ubuntu:22.04
**Rust version:**
rustc 1.80.0 (051478957 2024-07-21)
**Cargo version:**
cargo 1.80.0 (376290515 2024-07-16)
**iceoryx2 version:**
`main` branch
**Observed result or behaviour:**
Everything was build for target `i686-unknown-linux-gnu`
The tests (`:
* unix_datagram_socket_sending_receiving_with_max_supported_fd_and_credentials_works (introduced with rust 1.71)
* unix_datagram_socket_sending_receiving_with_single_fd_works (introduced with rust 1.80)
fail in the `posix::sendmsg` call since it emits an `EFAULT`. Those errors where introduced whenever a new rust version was introduced.
**Expected result or behaviour:**
What do you expect to happen?
**Conditions where it occurred / Performed steps:**
```sh
cargo nextest run -p iceoryx2-bb-posix --target i686-unknown-linux-gnu --test unix_datagram_socket_tests sending_receiving_with_single_fd_works
```
Contributor guide
Research direction
Start with the posix::sendmsg call and the unix_datagram_socket_tests cases named in the issue, then reproduce the failure using the provided cargo nextest command for i686-unknown-linux-gnu. Done means the single-FD and maximum-supported-FD-and-credentials tests no longer fail with EFAULT.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100