XCB is a single-threaded protocol, and when called from a multi-threaded
client application, that client needs to take care that its calls are
properly thread-safe.  Otherwise, it can trip assertions in the XCB
code.

Which would mean this is not really a *bug* in xcb (any more than a
syntax error would be a bug in gcc), but that xcb is catching a bug in
the client application.  Indeed, the assertion error text from xcb spell
out the threading issue (or other similar issues commonly hit in code
calling xcb_io.c functionality.)

However, lots of code is MT and xcb is just too fragile, and the error
text makes it look like the crash was in X so these issues tend to get
filed against X components rather than investigated as client bugs.  But
I don't have a good idea what should be done on the X side.  We're aware
of some upstream work investigating these locking problems:
http://article.gmane.org/gmane.comp.freedesktop.xorg.devel/29102

** Changed in: libx11 (Ubuntu)
   Importance: Medium => High

** Changed in: libx11 (Ubuntu)
       Status: Confirmed => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/905686

Title:
  nautilus assert failure: nautilus: ../../src/xcb_io.c:528: _XAllocID:
  Assertion `ret != inval_id' failed.

To manage notifications about this bug go to:
https://bugs.launchpad.net/xlibs/+bug/905686/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to