eclipse-iceoryx / eclipse-iceoryx/iceoryx2

`sendmsg` fails with EFAULT in sending unix domain socket file descriptors

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.