← Back to issue list

Broken pipe when trimming lines (head)

View original Github issue

Metadata

Project
craft-cli
Number
#378
Type
issue
State
open
Author
sergiusens
Labels
Created
Updated
Closed

Current evaluation

BrokenPipeError traceback when piping snapcraft output to an early-closing consumer like `head -n1`. Fix is scoped to ignoring BrokenPipeError in the printer's stream handling; draft PR #443 is open and awaiting review.

Suggested action: keep open

Reason: The bug is real and still present at HEAD (no BrokenPipeError handling exists in craft_cli/printer.py or messages.py), and contributor gcomneno has an open draft PR (#443) that directly fixes it, so the issue is acknowledged and in progress. Last activity was ~4 months ago with the PR awaiting maintainer review, which is moderately stale but not stale enough to close; the appropriate next step is review/merge of the PR.

Impact: 25 Quick Win: 20.0 Staleness: 45 Complexity: 20 Confidence: 85 Support Request: 5

Issue body

``` ❯ snapcraft revisions snapcraft | head -n1 stead. The old name will be removed in a future release. Rev. Uploaded Arches Version Channels Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> BrokenPipeError: [Errno 32] Broken pipe ```

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 25
Quick Win: 20.0
Staleness: 45
Complexity: 20
Confidence: 85
Support Request: 5
keep open BrokenPipeError traceback when piping snapcraft output to an early-closing consumer like `head -n1`. Fix is scoped to ignoring BrokenPipeError in the printer's stream handling; draft PR #443 is open and awaiting review.
qwen/qwen3.6-35b-a3b
Staleness: 65
Complexity: 15
Confidence: 85
Support Request: 0
needs triage Reports a BrokenPipeError when piping snapcraft output to head. A contributor analyzed the stream handling and submitted a draft PR to gracefully ignore the error during output cleanup.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 15
Confidence: 85
Support Request: 0
keep open Reports a BrokenPipeError when piping snapcraft output to head. A contributor analyzed the stream handling and submitted draft PR #443 to catch the exception during printer cleanup. Awaiting maintainer review.
qwen3.6-35b-a3b-mtp-q6
Staleness: 20
Complexity: 15
Confidence: 95
Support Request: 0
keep open snapcraft revisions crashes with BrokenPipeError when piped to early-closing commands like head. Draft PR #443 fixes this by ignoring the error during stream cleanup. Awaiting review and merge.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: craft-cli#443 (confidence 80%)

    Open draft PR 'fix(printer): ignore broken pipe on output streams' explicitly targets this issue by catching BrokenPipeError when the printer writes to or cleans up output streams; not yet merged.

Related issues

Issue Project State Summary Similarity
#1779154 BrokenPipeError when `| head`ing output snapcraft (launchpad) open 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.
81%
#443 fix(printer): ignore broken pipe on output streams craft-cli open Ignore BrokenPipeError in printer output streams to avoid crashes when piped to early-closing consumers (e.g., head -n1). +87/-11, 2 files, unit tests. All test jobs pass; lint/OSV failures pre-existing. No maintainer review; author pinged 99 days ago.
72%