libatk-bridge.so crashes on XIOError

Owen Taylor otaylor at redhat.com
Mon Nov 16 15:40:41 UTC 2009


I just went through the ABRT filed backtraces for metacity and found at
least 7 related to the GTK+ module libatk-bridge.so adding an atexit()
handler that calls XCloseDisplay().

This tends to cause nasty chains of:

 X server dies
   XIOErrorHandler is called (installed by GTK+/metacity)
     Calls exit()
       Calls libatk-bridge.so's atexit() handler
         Calls XCloseDisplay()
           XIOErrorHandler is called

And things get messed up with the reentrancy and the process segfaults
or aborts.

I think metacity may be particularly vulnerable to this crash, but at
least two of the crashes I saw were *not* Metacity but filed against
Metacity because of the problems that older versions of ABRT had with
confusing processes.

So, you may have some of these in your modules as well - if you see a
backtrace that has frames in it like:

#4  0x00007f95bd2bd41e in _XIOError (dpy=0x12a6960) at XlibInt.c:3138
[...]
#8  0x00007f95bd297c60 in XCloseDisplay (dpy=0x12a6960) at
ClDisplay.c:67
        ext = <value optimized out>
        i = 1
#9  0x00007f95b38beda8 in ?? ()
   from /usr/lib64/gtk-2.0/modules/libatk-bridge.so

Then you can dup it on:

  https://bugzilla.redhat.com/show_bug.cgi?id=537843

- Owen





More information about the Fedora-desktop-list mailing list