rust-lang / rust-lang/libc

CMSG_NXTHDR hits a Bus Error on sparc64-unknown-linux-gnu

Open
#1,239 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

E-medium
Dominant language
Rust
Stars
2.6k
Forks
1.3k
Avg merge
1d 22h
Merged PRs (30d)
69

Description

PR #1235 adds a new test program to ensure that the cmsg(3) family of functions are correctly implemented on all targets. However, when run in QEMU CMSG_NXTHDR hits a Bus Error. This could be an error in libc's CMSG_NXTHDR implementation for that platform, or it could be an error in Linux's definition of the macro (doesn't work on unaligned buffers or something like that). Less likely would be an error in QEMU. Lacking access to sparc hardware, I didn't investigate further.

https://travis-ci.com/rust-lang/libc/jobs/175199673

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the test program added by PR #1235 and reproduce the CMSG_NXTHDR failure in the Travis job or QEMU on sparc64-unknown-linux-gnu. Compare the platform's libc macro and Linux definition, including behavior with the test buffer alignment. Done means identifying whether libc, Linux, or QEMU causes the Bus Error and documenting or fixing the confirmed cause.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
operating-systems, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.