X crashes with SIGPIPE

Jon Turney jon.turney@dronecode.org.uk
Mon Apr 20 17:03:36 GMT 2020

On 18/04/2020 04:38, Henry Gebhardt via Cygwin wrote:
> Hi,
> Cygwin/X crashes every few days for me. I managed to obtain a backtrace
> from the last crash (attached). Server log is also included.
> I have not, yet, managed to pin down the exact trigger for the crash. I
> am running two graphical programs under Windows 10 WSL2 Debian: tilix
> and evince.
> Thank you for any help.

Thanks for reporting this issue.

I am assuming, although it's not totally clear from your report, that 
you are starting the X server with '-listen tcp', and are setting 
DISPLAY to localhost:0.0 or similar in your WSL environment.

> Thread 1 received signal SIGPIPE, Broken pipe.
> [Switching to Thread 2952.0x1144]
> 0x000000010053f250 in _XSERVTransSocketWritev (ciptr=0xffffbb18,
>     buf=0xffffbc10, size=-17396) at /usr/include/X11/Xtrans/Xtranssock.c:2382
> 2382    /usr/include/X11/Xtrans/Xtranssock.c: No such file or directory.

I'm not sure this is the actual point of failure (since the X server 
should be setting SIGPIPE to be ignored), so you probably need to tell 
gdb not to stop on it e.g. 'handle sigpipe ignore'.

In any case, a sigpipe here indicates that the X client has already 
closed when the X server tries to write to it's socket.

Assuming gdb is giving accurate information here, this is also looks 
very odd, as a negative value of size (which is used as iovcnt passed to 
write) doesn't make a lot of sense.

More information about the Cygwin mailing list