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.
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
