← Back to issue list

BrokenPipeError when `| head`ing output

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1779154
Type
issue
State
open
Author
~saviq
Labels
—
Created
Updated
Closed
—

Current evaluation

Piping any snapcraft command's output to `head` (e.g. `snapcraft revisions multipass | head`) emits a spurious BrokenPipeError at exit; no SIGPIPE/BrokenPipe handling exists in the codebase or its history.

Suggested action: needs triage

Reason: The bug is confirmed still present: grep for `BrokenPipeError`/`SIGPIPE` finds no matches and no fixing commit exists, while `snapcraft/commands/status.py` (the revisions command) writes via `emit.message()` and `snapcraft/__main__.py` has no stdout guard. However, the issue has 3018 days of inactivity with zero comments and no labels, so it shows no sign of maintainer categorization — it needs triage. Impact is modest (cosmetic stderr noise, not app-breaking), and the root cause may sit in the external craft-cli emitter rather than snapcraft, adding ownership ambiguity.

Evaluated by: mr-cal-bot

Impact: 25 Quick Win: 14 Complexity: 25 Confidence: 82 Actionability: 75

Issue body

`snapcraft revisions $snap` gets unwieldy quickly, adding `| head` to it helps groking the output, but then: $ snapcraft revisions multipass | head [...] Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'> BrokenPipeError: [Errno 32] Broken pipe

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 25
Quick Win: 14
Complexity: 25
Confidence: 82
Actionability: 75
needs triage Piping any snapcraft command's output to `head` (e.g. `snapcraft revisions multipass | head`) emits a spurious BrokenPipeError at exit; no SIGPIPE/BrokenPipe handling exists in the codebase or its history.
stealth/space-bunny-alpha
Impact: 25
Quick Win: 16
Complexity: 20
Confidence: 79
Actionability: 82
needs triage Piping snapcraft revisions output to head was reported to emit BrokenPipeError after early stdout closure; it remains open and untriaged, with a possible dependency-level fix to verify.
qwen/qwen3.8-27b
Impact: 25
Quick Win: 21
Staleness: 95
Complexity: 15
Confidence: 60
Support Request: 10
needs triage Piping snapcraft revisions output to head triggers a BrokenPipeError traceback. Reported 8+ years ago with zero maintainer interaction; no BrokenPipeError handling found in current codebase.
qwen/qwen3.6-35b-a3b
Staleness: 99
Complexity: 15
Confidence: 90
Support Request: 10
close stale BrokenPipeError occurs when piping snapcraft revisions output to head. No maintainer response or comments in over 8 years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 15
Confidence: 75
Support Request: 10
close stale Reports a BrokenPipeError when piping snapcraft revisions output to head. Unlabeled, no maintainer interaction, inactive for ~8 years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 100
Complexity: 15
Confidence: 95
Support Request: 0
close stale snapcraft revisions command raises BrokenPipeError when piped to head. Issue has been inactive for over 8 years with no maintainer response or labels.

Update history

Date Change
created

Related issues

Issue Project State Summary Similarity
#378 Broken pipe when trimming lines (head) craft-cli closed BrokenPipeError when piping craft-cli output into `head` was fixed by merged PR canonical/craft-cli#443 (commit 15f312f), which makes the printer ignore broken pipes on write and stream cleanup; issue #378 closed as resolved.
74%