GNOME Bugzilla – Bug 594890
Empathy crashing with CSW
Last modified: 2009-09-14 09:05:54 UTC
I'm using Ubuntu Karmic with gtk+ 2.17.11 and Empathy is crashing for me when I try to make a video call with my N810. Specifically, the crash happens when I switch on the video stream from N810 to the PC (so maybe something to do with XVideo). When crashing, the program outputs the following on the terminal: Gdk-ERROR **: The program 'empathy' received an X Window System error. This probably reflects a bug in the program. The error was 'BadIDChoice (invalid resource ID chosen for this connection)'. (Details: serial 10323 error_code 14 request_code 1 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) aborting... When I execute "GDK_NATIVE_WINDOWS=1 empathy", the crash doesn't happen.
BadIDChoice generally means there is some locking issue or other thread problem
Created attachment 143128 [details] [review] fix in Empathy The problem comes about because of GDK_WINDOW_XID() first being called from a thread. If gdk_window_ensure_native() is called as soon as the widget is realized, before the XID can be requested in a thread, the problem goes away. http://git.collabora.co.uk/?p=user/davyd/empathy-davyd.git;a=commit;h=90102ee22a58768e052470b77eea7196d9de36af
Another alternative is to grab the lock around the GDK_WINDOW_XID call, but this seems easier.
*** Bug 595000 has been marked as a duplicate of this bug. ***
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.