NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: error writing to stdout





On 13/12/2018 18:01, Mike Pumford wrote:

I've dropped pkgsrc-users as while its package builds that are causing the blow up this is clearly a system issue not a package issue.

Okay. I've just dug into stdio and the kernel and one obvious thing is that libc calling write() doesn't handle EINTR which seems like a huge hole but perhaps there is some system knowledge I'm missing here?

Since the problem is being seen with make/gmake there could well be a lot of SIGCHLD signals floating around as the various processes exit. If that coincided with a stdio write to a slow device at the wrong point in time we would get an unexpected error back from the underlying write call which would then mess up the stream state and block further IO which seems to match the symptoms.

__sflush doesn't handle that in lib/libc/stdio/fflush.c. Doesn't look on the surface like any of the libc functions do.

Mike


Home | Main Index | Thread Index | Old Index