Skip to content

Exception ignored in: io.TextIOWrapper(stdout) BrokenPipeError: [Errno 32] Broken pipe #406

@pirate

Description

@pirate

Describe the bug

This bug is completely harmless and is visual-only, it can be avoided by setting SHOW_PROGRESS=False.

A macOS-specific bug where the subprocess handler gets killed before the stdout is finished flushing. It catches the exception, but prints it to stderr instead of bubbling up back to user code, so it's impossible to catch and silence from python without monkey patching python internals or doing something crazy.

I've already lost dozens of hours trying to get rid of this, at the moment the only fix is adding a 1sec delay after the process kill, slowing down archiving a lot, or by setting SHOW_PROGRESS=False and skipping the subprocess entirely.

Screenshots or log output

image

Software versions

  • OS: macOS 10.15
  • ArchiveBox version: v0.4.9
  • Python version: v3.8.5
  • Chrome version: v84.x.x

Metadata

Metadata

Assignees

No one assigned

    Labels

    size: hardstatus: wipWork is in-progress / has already been partially completed

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions