The freedesktop.org library libxcb has a problem in xcb_xid.c:xcb_generate_id() which causes it to crash firefox frequently with an X "BadIdChoice error. URLs on a number of bug systems include: https://bugzilla.mozilla.org/show_bug.cgi?id=458092 https://bugzilla.novell.com/show_bug.cgi?id=423740#c1 https://bugs.freedesktop.org/show_bug.cgi?id=20254 http://thread.gmane.org/gmane.comp.freedesktop.xcb/4317/focus=4324 http://article.gmane.org/gmane.comp.freedesktop.xcb/4324 Now, duce to some recent changes in xcb-proto, it is impossible to compile libxcb-1.2. It looks like there needs to be a upgrade to libxcb-1.2, an upgrade to xcb-proto, and a new package python-xcbgen (which should contain the xcbgen python package required by libxcb-1.2. It looks like Novell/Suse and Ubuntu have or be in the process of dealing with this (Google "xcbgen"). It *does* not appear that the patch posted by Barton Massey has made it into the libxcb-1.2 sources, so until there is an upgrade to the sources the patch may need to be applied by Gentoo. This is a fairly critical item since it brings down Firefox (and related browsers) "hard" and may require a lengthy restart if one is working with a large session. Reproducible: Always Steps to Reproduce: 1. See firefox bug documentation. Actual Results: Firefox will crash but it is difficult to reproduce -- but a patch by the X developers is provided. Expected Results: Firefox should not crash. Discussed at length in the various bug reports.
Both libxcb-1.2 and xcb-proto-1.4 have been in the x11 overlay for more than two months. You could test them and report if they fix the issue that you are encountering.
I downloaded libxcb-1.2 from xcb.freedesktop.org this morning and it does xcb-xid.c does not appear to contain the patch. Grepsrc/xcb-xid.c for: "XXX The latter disjunct is what the server returns" or simply "XXX". If that isn't in the source when xcb-xid.c is compiled then it is likely that it isn't patched. The patch adds something like 25-30 lines to the code. I also don't know how to apply "overlays" and since I pretty much have a functioning system now (with the patch applied to libxcb-1.1) I would be reluctant to mess with it. I am running a large Gran Paradiso session currently with the patch and it hasn't failed yet. But it may take me a week or more to feel really confident that the patch fixes the problem.
The p.masked versions of libxcb & friends have the correct patches. Thanks