Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ignore SIGPIPE in child worker #127

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kostko
Copy link

@kostko kostko commented Dec 25, 2016

Without this PR, the child worker process will simply exit on SIGPIPE (e.g. when the TCP connection with the remote server breaks) and the parent will report something like this:

EXIT on SIGCHLD (signal 13, exit_code 0)

And then just terminate.

@vsespb
Copy link
Owner

vsespb commented Dec 25, 2016

actually, remote server should not ever break, this must be some bug somewhere. do you mean Amazon servers or internal IPC communucations?

@kostko
Copy link
Author

kostko commented Dec 25, 2016

I am getting these errors consistently when uploading large files on a new system (Ubuntu 16.10). I did not encounter this before on Ubuntu 14.04, so I am not sure where the problem is (could be a change in some dependent module?).

Also not sure if this SIGPIPE comes from parent-child IPC or from the remote HTTP socket, I'll do some more debugging later, but the file upload seems to be working at the moment with this change (while previously it failed consistently after uploading at most 10 parts).

@kostko
Copy link
Author

kostko commented Dec 25, 2016

Perhaps also the parent should retry when a child exits due to SIGPIPE?

@kostko
Copy link
Author

kostko commented Dec 25, 2016

actually, remote server should not ever break

Why not? A TCP connection may reset at any time, although this may indicate some network/overload issues somwhere between me and AWS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants