I've been getting SIGSEGVs in mieqEnqueue while valgrinding the server
hoping to find the source of an Ubuntu crash bug (which doesn't appear
to affect the upstream server).

Upon inspection, it was dying when trying to print the EQ overflowing
message.  Digging down, ErrorF appears to end up calling a whole bunch
of functions that aren't listed as signal-safe - sprintf (which is where
the segfault happens under valgrind), strlen (!?), vsnprintf, fwrite,
and fflush.

Some of those (hello, strlen!) should be signal safe under any
reasonable implementation, but it seems that sprintf isn't, at least
under valgrind.

Is my analysis correct?  What, if anything, should be done about this -
it doesn't seem like anything's terribly broken when running X on glibc.

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to