On Sun, 24 Nov 2013, Jeff King wrote:
Hmm. The fix in curl's 7d80ed64e435155 seems to involve strategically placed calls to ignore SIGPIPE. I wonder if there is another spot that needs similar treatment. It looks like curl_easy_cleanup is covered, though, and that's where I would expect problem to come.
Sounds like a plausible reason.
It would be interesting to see a backtrace from remote-curl when we get the SIGPIPE. Doing so would be slightly tricky; instrumenting with the patch below may be enough.
Another thought is that the curl fix seems to only kick in when built with openssl support. I'm not sure I understand how ubuntu's packaging of curl uses gnutls versus openssl for the shared library. That may be related.
I'm only aware of a SIGPIPE problem with openssl that can make it write to the socket in some situations when the remote end is no longer there - something we can't prevent it from doing.
I *believe* the problem doesn't exist in the similar way when built to use gnutls, but I may of course be wrong.
--
/ daniel.haxx.se