[Xcb] [Bug 27552] Lots of processes crash in XCreatePixmap() with _XAllocID: Assertion `ret != inval_id' failed

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Apr 16 01:58:10 PDT 2010


https://bugs.freedesktop.org/show_bug.cgi?id=27552

--- Comment #4 from Martin Pitt <martin.pitt at ubuntu.com> 2010-04-16 01:58:10 PDT ---
Just to collect more puzzle pieces, I got three replies by now about my "which
driver" question, and these three are all using the proprietary NVIDIA driver.
It might be just pure luck with a sample size of three, of course, so I asked
whether anyone who got this crash has a different card/driver.

(In reply to comment #3)

> I meant, which extensions are these applications actually using? I'm hoping to
> pin the blame on a client-side extension library rather than libX11 itself. ;-)
> The list of loaded libraries from GDB would be a start.

We routinely collect /proc/<pid>/maps in crash reports, they all have a
"ProcMaps.txt" attachment. However, this just says which libraries the program
dynamically links against, not which extensions  it's actually using, right?

Is there a better way to see which extensions a program is currently using?
Some command that I could ask the bug reporters to run? We could even add that
to our standard Apport hooks, so that it's collected for all crash reports.

> Is there some Launchpad way to download all the attachments from all the public duplicate bugs at once?

Bryce Harrington (CC added) has put together a lot of scripts for these
purposes (X.org bug triaging). Bryce, do you have a script like that?

Anyway, it's really easy using the Python API, so for this particular purpose I
wrote a quick hack which downloads a particular attachment name from a bug and
all its duplicates and dumps them to stdout:

$ ./cat-bugattachment.py 507062 ProcMaps.txt 
---- 507062 ---
00110000-001ae000 r-xp 00000000 08:05 526394    
/usr/lib/libgdk-x11-2.0.so.0.1902.0
[...]
---- 340441 ---
00400000-00408000 r-xp 00000000 09:01 94936                             
/usr/lib/firefox-3.0.7/firefox
[...]

and so on. The script takes the master bug number and an attachment name, I put
it on http://people.canonical.com/~pitti/scripts/cat-bugattachment.py for now.

When I do some simple post-processing of the output of above command (which I
directed into file "out") I get this:

$ grep lib/libX out | awk '{print $6}' | sort -u
/usr/lib/libX11.so.6.2.0
/usr/lib/libX11.so.6.3.0
/usr/lib/libXau.so.6.0.0
/usr/lib/libXcomposite.so.1.0.0
/usr/lib/libXcursor.so.1.0.2
/usr/lib/libXdamage.so.1.1.0
/usr/lib/libXdmcp.so.6.0.0
/usr/lib/libXext.so.6.4.0
/usr/lib/libXfixes.so.3.1.0
/usr/lib/libXft.so.2.1.13
/usr/lib/libXinerama.so.1.0.0
/usr/lib/libXi.so.6.0.0
/usr/lib/libXi.so.6.1.0
/usr/lib/libXmu.so.6.2.0
/usr/lib/libXrandr.so.2.2.0
/usr/lib/libXrender.so.1.3.0
/usr/lib/libXRes.so.1.0.0
/usr/lib/libXss.so.1.0.0
/usr/lib/libXt.so.6.0.0
/usr/lib/libXtst.so.6.1.0
/usr/lib/libXxf86misc.so.1.1.0
/usr/lib/libXxf86vm.so.1.0.0

Not sure how helpful that actually is, though, since those are still a fair
number of extensions.

Thank you!

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the Xcb mailing list