TarError::Io returns exit code 2, GNU tar returns exit code 141
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 49
- Forks
- 13
- Avg merge
- 5h 23m
- Merged PRs (30d)
- 13
Description
In extract.rs, code like this
out.flush().map_err(TarError::Io)?;
UError::code reports as 2, with the io error printed to stderr - is non-conventional. GNU tar on tar tf foo.tar | head -1 exits via SIGPIPE (status 141) silently
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in extract.rs at the out.flush() call that maps failures to TarError::Io. Reproduce the issue with tar tf foo.tar | head -1 and inspect the resulting exit status and stderr; done means the broken-pipe case matches GNU tar's silent status 141 behavior instead of reporting code 2.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100