[cairo] Firefox failure with cairo 1.12.6 on NetBSD-current amd64

Chris Wilson chris at chris-wilson.co.uk
Fri Oct 26 01:49:39 PDT 2012


On Thu, 25 Oct 2012 16:09:42 +0200, Uli Schlachter <psychon at znc.in> wrote:
> Hi,
> 
> On 25.10.2012 10:59, Chris Wilson wrote:
> > On Wed, 24 Oct 2012 15:39:44 +0200, Martin Husemann <martin at duskware.de> wrote:
> >> pkgsrc recently updated cairo to version 1.12.6 and that causes my firefox
> >> to crash at startup with:
> >>
> >> ###!!! ABORT: X_SendEvent: BadValue (integer parameter out of range for operation); 494 requests ago: file /usr/pkgobj/devel/xulrunner/work/mozilla-release/toolkit/xre/nsX11ErrorHandler.cpp, line 157
> > 
> > This is the error that Soren predicted - BadVale of 205 corresponds to
> > the ShmCompletionEvent of 77 | 0x80.
> > 
> > Can you please take a look at src/cairo-xlib-surface-shm.c,
> > xorg_has_buggy_send_shm_completion_event() and add a necessary clause to
> > detect your XServer? Or attach your xdpyifo?
> 
> Chris, what do you think about the following alternative:
> 
> Instead of guessing, we should test the X11 server. When the
> cairo_xlib_display_t is created, cairo once sends a SHMCompletion event to
> itself and checks if it works (similar to how XShmAttach is already tested,
> possibly even in the same function, can_use_shm()).

I like it, I'm just not sure if X always sends an error back. The commit
that fixed xorg-1.11.4 seemed to imply that X itself died...

The alternative is that we just whitelist servers that are known to
work. :|
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the cairo mailing list