Skip to content

Hang when output file size exceeds OS pipe buffer size #4

@ssokolow

Description

@ssokolow

Basically, you're tripping over this warning from the Python manual:

Warning: Use communicate() rather than stdin.write(), stdout.read() or stderr.read() to avoid deadlocks due to any of the other OS pipe buffers filling up and blocking the child process.

...though I also noticed that you were making a couple of other mistakes in your use of subprocess:

Warning: Passing shell=True can be a security hazard if combined with untrusted input. See the warning under Frequently Used Arguments for details.

Note that on Windows, you cannot set close_fds to true and also redirect the standard handles by setting stdin, stdout or stderr.

I have a fix (plus some code cleanups) ready to submit but, with no license specified, I'm wary of submitting a pull request where the world can see and use my changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions