xfce4-session crash

Benedikt Meurer benedikt.meurer at unix-ag.uni-siegen.de
Tue Jun 22 19:44:14 CEST 2004


Brian J. Tarricone wrote:
>>Ok, finally, thanks to Jens, we found the cause for the problem on Linux. 
>>Linux sends SIGPIPE "randomly" instead of just telling me that the socket peer 
>>disconnected, for which the default action is "Terminate current process". 
>>Problem should be finally fixed now, please verify.
> 
> it occurs to me.... if this is occurring asynchronously, not much you 
> can do aside from your fix.  but if it's happening on a send() or recv() 
> on the socket, passing MSG_NOSIGNAL in the 'flags' parameter will also 
> cause this behaviour to stop.  that may just be for send(), i think, 
> actually.  of course, just ignoring sigpipe entirely is much easier ^_~.
> 
> (you might also be able to use ioctl() or fcntl() on the socket 
> descriptor to disable this; i don't recall offhand.)

MSG_NOSIGNAL (and most probably the other ways you describe as well) are linux 
extensions, so non-standard and useless, since the send() is done in libX11 
and libICE. The problem is that SIGPIPE should not have been raised at all in 
the simple xterm stress test since the xterms should either don't 
start/connect at all due to resource shortage or connect and disconnect 
correctly (the sm receives an error and closes the socket w/o negotiating). 
All in all very easy and 100% reproducible for me on BSD and Solaris, no 
SIGPIPE, no other weird behaviour. So, take this as my personal rant on Linux 
for its stupidity and all the headcaches it caused hunting non-existing 
software-bugs in 100% working software, where the problem was solely caused by 
Linux and/or other broken GNU software (I'd also like to mention GNU/Hurd here 
for its stupid philosophy on practical programming). Thanks for your interest 
in this rant.

best regards,
Benedikt

-- 
NetBSD Operating system:                       http://www.NetBSD.org/
pkgsrc "Work in progress":                  http://pkgsrc-wip.sf.net/
XFce desktop environment:                        http://www.xfce.org/
German Unix-AG Association:                   http://www.unix-ag.org/
os-cillation:                             http://www.os-cillation.de/

OpenPGP Key: http://www.home.unix-ag.org/bmeurer/#gpg




More information about the Xfce4-dev mailing list