nautilus assert failure: nautilus: ../../src/xcb_io.c:528: _XAllocID: Assertion `ret != inval_id' failed.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xlibs |
Invalid
|
Undecided
|
Unassigned | ||
libx11 (Ubuntu) |
Invalid
|
High
|
Canonical X.org | ||
nautilus (Ubuntu) |
Invalid
|
Medium
|
Unassigned |
Bug Description
Here is a backtrace from Ubuntu Precise.
ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: nautilus 1:3.2.1-2ubuntu4
ProcVersionSign
Uname: Linux 3.2.0-5-generic-pae i686
ApportVersion: 1.90-0ubuntu1
Architecture: i386
AssertionMessage: nautilus: ../../src/
Date: Sat Dec 17 14:16:03 2011
EcryptfsInUse: Yes
ExecutablePath: /usr/bin/nautilus
ExecutableTimes
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
ProcCmdline: nautilus -n
ProcCwd: /
Signal: 6
SourcePackage: nautilus
StacktraceTop:
__kernel_vsyscall ()
raise () from /lib/i386-
abort () from /lib/i386-
__assert_fail () from /lib/i386-
_XAllocID () from /usr/lib/
Title: nautilus assert failure: nautilus: ../../src/
UpgradeStatus: Upgraded to precise on 2011-12-16 (1 days ago)
UserGroups: adm admin cdrom dialout libvirtd lpadmin plugdev sambashare vboxusers
tags: | added: bugpattern-needed |
Changed in nautilus (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in libx11 (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in libx11 (Ubuntu): | |
importance: | Undecided → Medium |
tags: | added: qa-manual-testing |
Changed in libx11 (Ubuntu): | |
status: | Triaged → Incomplete |
Changed in libx11 (Ubuntu): | |
assignee: | nobody → Canonical X.org (canonical-x) |
Changed in xlibs: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
Changed in libx11 (Ubuntu): | |
status: | Incomplete → New |
Changed in nautilus (Ubuntu): | |
assignee: | nobody → Александр (sdmk79) |
Changed in nautilus (Ubuntu): | |
assignee: | Александр (sdmk79) → nobody |
tags: | removed: apport-crash bugpattern-needed i386 precise qa-manual-testing running-unity |
tags: | added: i386 precise |
Changed in nautilus (Ubuntu): | |
status: | Triaged → New |
tags: | added: quantal |
Changed in nautilus (Ubuntu): | |
assignee: | nobody → Syeef Ahmed (syeef) |
tags: | added: rls-q-incoming |
tags: | removed: rls-q-incoming |
Changed in nautilus (Ubuntu): | |
assignee: | Syeef Ahmed (syeef) → nobody |
tags: | added: raring |
Changed in libx11 (Ubuntu): | |
status: | Triaged → Incomplete |
Changed in libx11 (Ubuntu): | |
status: | Incomplete → Triaged |
Changed in libx11 (Ubuntu): | |
status: | Triaged → Incomplete |
Changed in libx11 (Ubuntu): | |
status: | Incomplete → In Progress |
Changed in nautilus (Ubuntu): | |
assignee: | nobody → W1zz4r> (cesar309bermudez) |
Changed in nautilus (Ubuntu): | |
assignee: | W1zz4r> (cesar309bermudez) → nobody |
description: | updated |
libx11, 1.3.2 (sorry, I didn't see a libX11 component)
We are getting tons of crash reports in Ubuntu (https:/ /launchpad. net/bugs/ 507062) about programs crashing with
_XAllocID: Assertion `ret != inval_id' failed
At first we thought this would be the same problem that was recently discussed and fixed in libXext:
http:// lists.freedeskt op.org/ archives/ xcb/2009- October/ 005102. html cgit.freedeskto p.org/xorg/ lib/libXext/ commit/ ?id=956fd30e104 6e5779ac0b6c07e c4f0e87250869a
http://
However, we already have that fixed version, and the stack traces of above bug reports does not go through XShmAttach(), so it does seem to be a different cause.
They all have this piece in common:
#4 0xb74d7199 in _XAllocID (dpy=0x8116770) at ../../src/ xcb_io. c:378 FUNCTION_ _ = "_XAllocID" CrPixmap. c:58
ret = 4294967295
__PRETTY_
#5 0xb74ad048 in XCreatePixmap (dpy=0x8116770, d=265, width=24, height=24,
depth=32) at ../../src/
i. e. they all come through XCreatePixmap() (which is called from various functions in the duplicate bugs, like XcursorImageLoa dCursor( ), _cairo_ xlib_surface_ create_ similar_ with_format( ), etc.)
I checked that the current libX11's XCreatePixmap() already calls _XAllocID() in a LockDisplay() block, so it's not the same cause as the recent libXext fix.
Beyond that I'm afraid I don't know enough about this API to be able to continue debugging on my own. Obviously nothing must call _XAllocID() two times in succession without an _XIDHandler() in between (the only other place where next_xid is set is _XConnectXCB(), but that's only called on program initialization through XOpenDisplay(), right?)
Do you have some further hints how to debug this, or what could go wrong here?
For reference, here are some links to the full stack traces: launchpadlibrar ian.net/ 23717282/ Stacktrace. txt launchpadlibrar ian.net/ 35702381/ Stacktrace. txt launchpadlibrar ian.net/ 39577843/ Stacktrace. txt launchpadlibrar ian.net/ 37855566/ Stacktrace. txt
http://
http://
http://
http://
Thanks!