When I see a bunch of `write: broken pipe ` errors for a process what does it mean ?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












When I see a bunch of write: broken pipe errors for a process what does it mean ?



level=error msg="attach: stdout: write unix /var/run/docker.sock->@: write: broken pipe"



Does this mean this process needs more file descriptors ? or any other resource ? which way should I be looking at ?










share|improve this question







New contributor




user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1




    usually it means someprogram in a program | someprogram type of pipe has gone away while program was writing to that pipe
    – thrig
    Nov 16 at 22:19














up vote
1
down vote

favorite












When I see a bunch of write: broken pipe errors for a process what does it mean ?



level=error msg="attach: stdout: write unix /var/run/docker.sock->@: write: broken pipe"



Does this mean this process needs more file descriptors ? or any other resource ? which way should I be looking at ?










share|improve this question







New contributor




user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1




    usually it means someprogram in a program | someprogram type of pipe has gone away while program was writing to that pipe
    – thrig
    Nov 16 at 22:19












up vote
1
down vote

favorite









up vote
1
down vote

favorite











When I see a bunch of write: broken pipe errors for a process what does it mean ?



level=error msg="attach: stdout: write unix /var/run/docker.sock->@: write: broken pipe"



Does this mean this process needs more file descriptors ? or any other resource ? which way should I be looking at ?










share|improve this question







New contributor




user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











When I see a bunch of write: broken pipe errors for a process what does it mean ?



level=error msg="attach: stdout: write unix /var/run/docker.sock->@: write: broken pipe"



Does this mean this process needs more file descriptors ? or any other resource ? which way should I be looking at ?







linux docker socket






share|improve this question







New contributor




user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Nov 16 at 21:25









user2062360

61




61




New contributor




user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






user2062360 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 1




    usually it means someprogram in a program | someprogram type of pipe has gone away while program was writing to that pipe
    – thrig
    Nov 16 at 22:19












  • 1




    usually it means someprogram in a program | someprogram type of pipe has gone away while program was writing to that pipe
    – thrig
    Nov 16 at 22:19







1




1




usually it means someprogram in a program | someprogram type of pipe has gone away while program was writing to that pipe
– thrig
Nov 16 at 22:19




usually it means someprogram in a program | someprogram type of pipe has gone away while program was writing to that pipe
– thrig
Nov 16 at 22:19










1 Answer
1






active

oldest

votes

















up vote
3
down vote













It means that someone has set the signal handler for SIGPIPE to SIG_IGN (ignore), and the error (trying to write into a pipe with no reader) is reported instead via the exit status of write(2).



In your case, the program at the other end of the Unix socket is most probably crashing or exiting unexpectedly. I'll look first into that.



It may be some sofisticated attack -- many badly written programs don't expect errors from write(2) and do not check its return value.



A process exiting because of a SIGPIPE is nothing special, and it's how things should work. This is how command | head -5 works; if command still wants to write stuff into the pipeline after head -5 has exited, it will receive a SIGPIPE, and everything will finely terminate. But if command installs a signal handler for SIGPIPE, or if the calling shell has set a trap '' PIPE (which will cause itself and its children to ignore the SIGPIPE signal), any write(2) into the pipe will return -1 with errno set to EPIPE ("broken pipe"). And sockets work the same as pipes in this regard.






share|improve this answer


















  • 1




    Never attribute to malice that...
    – Rui F Ribeiro
    2 days ago










Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






user2062360 is a new contributor. Be nice, and check out our Code of Conduct.









 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f482250%2fwhen-i-see-a-bunch-of-write-broken-pipe-errors-for-a-process-what-does-it-me%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
3
down vote













It means that someone has set the signal handler for SIGPIPE to SIG_IGN (ignore), and the error (trying to write into a pipe with no reader) is reported instead via the exit status of write(2).



In your case, the program at the other end of the Unix socket is most probably crashing or exiting unexpectedly. I'll look first into that.



It may be some sofisticated attack -- many badly written programs don't expect errors from write(2) and do not check its return value.



A process exiting because of a SIGPIPE is nothing special, and it's how things should work. This is how command | head -5 works; if command still wants to write stuff into the pipeline after head -5 has exited, it will receive a SIGPIPE, and everything will finely terminate. But if command installs a signal handler for SIGPIPE, or if the calling shell has set a trap '' PIPE (which will cause itself and its children to ignore the SIGPIPE signal), any write(2) into the pipe will return -1 with errno set to EPIPE ("broken pipe"). And sockets work the same as pipes in this regard.






share|improve this answer


















  • 1




    Never attribute to malice that...
    – Rui F Ribeiro
    2 days ago














up vote
3
down vote













It means that someone has set the signal handler for SIGPIPE to SIG_IGN (ignore), and the error (trying to write into a pipe with no reader) is reported instead via the exit status of write(2).



In your case, the program at the other end of the Unix socket is most probably crashing or exiting unexpectedly. I'll look first into that.



It may be some sofisticated attack -- many badly written programs don't expect errors from write(2) and do not check its return value.



A process exiting because of a SIGPIPE is nothing special, and it's how things should work. This is how command | head -5 works; if command still wants to write stuff into the pipeline after head -5 has exited, it will receive a SIGPIPE, and everything will finely terminate. But if command installs a signal handler for SIGPIPE, or if the calling shell has set a trap '' PIPE (which will cause itself and its children to ignore the SIGPIPE signal), any write(2) into the pipe will return -1 with errno set to EPIPE ("broken pipe"). And sockets work the same as pipes in this regard.






share|improve this answer


















  • 1




    Never attribute to malice that...
    – Rui F Ribeiro
    2 days ago












up vote
3
down vote










up vote
3
down vote









It means that someone has set the signal handler for SIGPIPE to SIG_IGN (ignore), and the error (trying to write into a pipe with no reader) is reported instead via the exit status of write(2).



In your case, the program at the other end of the Unix socket is most probably crashing or exiting unexpectedly. I'll look first into that.



It may be some sofisticated attack -- many badly written programs don't expect errors from write(2) and do not check its return value.



A process exiting because of a SIGPIPE is nothing special, and it's how things should work. This is how command | head -5 works; if command still wants to write stuff into the pipeline after head -5 has exited, it will receive a SIGPIPE, and everything will finely terminate. But if command installs a signal handler for SIGPIPE, or if the calling shell has set a trap '' PIPE (which will cause itself and its children to ignore the SIGPIPE signal), any write(2) into the pipe will return -1 with errno set to EPIPE ("broken pipe"). And sockets work the same as pipes in this regard.






share|improve this answer














It means that someone has set the signal handler for SIGPIPE to SIG_IGN (ignore), and the error (trying to write into a pipe with no reader) is reported instead via the exit status of write(2).



In your case, the program at the other end of the Unix socket is most probably crashing or exiting unexpectedly. I'll look first into that.



It may be some sofisticated attack -- many badly written programs don't expect errors from write(2) and do not check its return value.



A process exiting because of a SIGPIPE is nothing special, and it's how things should work. This is how command | head -5 works; if command still wants to write stuff into the pipeline after head -5 has exited, it will receive a SIGPIPE, and everything will finely terminate. But if command installs a signal handler for SIGPIPE, or if the calling shell has set a trap '' PIPE (which will cause itself and its children to ignore the SIGPIPE signal), any write(2) into the pipe will return -1 with errno set to EPIPE ("broken pipe"). And sockets work the same as pipes in this regard.







share|improve this answer














share|improve this answer



share|improve this answer








edited 2 days ago

























answered Nov 16 at 22:25









mosvy

4,305221




4,305221







  • 1




    Never attribute to malice that...
    – Rui F Ribeiro
    2 days ago












  • 1




    Never attribute to malice that...
    – Rui F Ribeiro
    2 days ago







1




1




Never attribute to malice that...
– Rui F Ribeiro
2 days ago




Never attribute to malice that...
– Rui F Ribeiro
2 days ago










user2062360 is a new contributor. Be nice, and check out our Code of Conduct.









 

draft saved


draft discarded


















user2062360 is a new contributor. Be nice, and check out our Code of Conduct.












user2062360 is a new contributor. Be nice, and check out our Code of Conduct.











user2062360 is a new contributor. Be nice, and check out our Code of Conduct.













 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f482250%2fwhen-i-see-a-bunch-of-write-broken-pipe-errors-for-a-process-what-does-it-me%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown






Popular posts from this blog

Peggy Mitchell

Palaiologos

The Forum (Inglewood, California)