Bug 78224

Summary: BadMatch is shm extention
Product: cairo Reporter: Maciej Piechotka <uzytkownik2>
Component: xlib backendAssignee: Chris Wilson <chris>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium    
Version: 1.12.16   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Maciej Piechotka 2014-05-03 14:15:03 UTC
I've run on this problem when restoring epiphany from session. The backtrace is:

Breakpoint 1, gdk_x_error (xdisplay=0x718580, error=0x7fffffffbab0)
    at gdkmain-x11.c:267
267	gdkmain-x11.c: No such file or directory.
(gdb) bt
#0  gdk_x_error (xdisplay=0x718580, error=0x7fffffffbab0) at gdkmain-x11.c:267
#1  0x00007ffff7ae49cb in _XError (dpy=dpy@entry=0x718580, 
    rep=rep@entry=0x1690e30)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/XlibInt.c:1463
#2  0x00007ffff7ae1a47 in handle_error (dpy=0x718580, err=0x1690e30, 
    in_XReply=<optimized out>)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/xcb_io.c:213
#3  0x00007ffff7ae1af5 in handle_response (dpy=dpy@entry=0x718580, 
    response=0x1690e30, in_XReply=in_XReply@entry=1)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/xcb_io.c:325
#4  0x00007ffff7ae29f0 in _XReply (dpy=dpy@entry=0x718580, 
    rep=rep@entry=0x7fffffffbc60, extra=extra@entry=0, discard=discard@entry=1)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/xcb_io.c:627
#5  0x00007ffff7ade7dd in XSync (dpy=0x718580, discard=discard@entry=0)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/Sync.c:44
#6  0x00007ffff7ade86b in _XSyncFunction (dpy=<optimized out>)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/Synchro.c:35
#7  0x00007ffff7ac19d6 in XCopyArea (dpy=0x718580, src_drawable=75497475, 
    dst_drawable=27263282, gc=0x1690d80, src_x=0, src_y=0, width=128, 
    height=128, dst_x=0, dst_y=0)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/CopyArea.c:61
#8  0x00007ffff2c9bfca in _cairo_xlib_surface_update_shm (
    surface=surface@entry=0x16733b0)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-xlib-surface-shm.c:905
#9  0x00007ffff2c9ca58 in _cairo_xlib_surface_get_shm (
    surface=surface@entry=0x16733b0, overwrite=overwrite@entry=0)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-xlib-surface-shm.c:1045
#10 0x00007ffff2c9985a in _cairo_xlib_surface_acquire_source_image (
    abstract_surface=0x16733b0, image_out=0x7fffffffc690, 
    image_extra=<optimized out>)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-xlib-surface.c:1394
#11 0x00007ffff2c6b2bf in _cairo_surface_acquire_source_image (
    surface=0x16733b0, image_out=<optimized out>, image_extra=<optimized out>)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-surface.c:1887
#12 0x00007ffff2c37b98 in _pixman_image_for_surface (iy=0x7fffffffc810, 
    ix=0x7fffffffc80c, sample=0x7fffffffc810, extents=0x7fffffffcf1c, 
    is_mask=0, pattern=0x7fffffffcf60, dst=0x7fffffffcf60)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-image-source.c:963
#13 _pixman_image_for_pattern (dst=dst@entry=0x15bd510, 
    pattern=pattern@entry=0x7fffffffcf60, is_mask=is_mask@entry=0, 
    extents=extents@entry=0x7fffffffcf1c, sample=sample@entry=0x7fffffffcf40, 
    tx=tx@entry=0x7fffffffc80c, ty=ty@entry=0x7fffffffc810)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-image-source.c:1124
#14 0x00007ffff2c3844a in _cairo_image_source_create_for_pattern (
    dst=0x15bd510, pattern=0x7fffffffcf60, is_mask=0, extents=0x7fffffffcf1c, 
    sample=0x7fffffffcf40, src_x=0x7fffffffc80c, src_y=0x7fffffffc810)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-image-source.c:1169
#15 0x00007ffff2c68156 in composite_aligned_boxes (boxes=0x7fffffffcc60, 
    extents=0x7fffffffcee0, compositor=0x7ffff2f1c7c0 <spans>)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-spans-compositor.c:669
#16 clip_and_composite_boxes (
    compositor=compositor@entry=0x7ffff2f1c7c0 <spans>, 
    extents=extents@entry=0x7fffffffcee0, boxes=boxes@entry=0x7fffffffcc60)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-spans-compositor.c:873
#17 0x00007ffff2c6853e in clip_and_composite_boxes (
    compositor=0x7ffff2f1c7c0 <spans>, extents=0x7fffffffcee0, 
    boxes=0x7fffffffcc60)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-spans-compositor.c:892
#18 0x00007ffff2c685b6 in _cairo_spans_compositor_mask (
    _compositor=0x7ffff2f1c7c0 <spans>, extents=0x7fffffffcee0)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-spans-compositor.c:990
#19 0x00007ffff2c28769 in _cairo_compositor_mask (
    compositor=0x7ffff2f1c7c0 <spans>, surface=0x15bd510, op=<optimized out>, 
    source=<optimized out>, mask=<optimized out>, clip=<optimized out>)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-compositor.c:106
#20 0x00007ffff2c6b724 in _cairo_surface_mask (surface=0x15bd510, 
    op=CAIRO_OPERATOR_OVER, source=0x7fffffffd250, mask=0x7fffffffd370, 
    clip=0x0)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-surface.c:2080
#21 0x00007ffff2c2fe84 in _cairo_gstate_mask (gstate=0xa74240, mask=0xa94770)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo-gstate.c:1142
#22 0x00007ffff2c23601 in INT_cairo_mask (cr=0xa74210, pattern=<optimized out>)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo.c:2062
#23 0x00007ffff2c23686 in cairo_mask_surface (cr=cr@entry=0xa74210, 
    surface=surface@entry=0x15bcc20, surface_x=surface_x@entry=0, 
    surface_y=surface_y@entry=0)
    at /var/tmp/portage/x11-libs/cairo-1.12.16-r2/work/cairo-1.12.16/src/cairo.c:2099
#24 0x00007ffff7889dbf in try_pixmap_and_mask (screen=screen@entry=0x6e6700, 
    src_pixmap=src_pixmap@entry=75497475, src_mask=src_mask@entry=75497476, 
    iconp=iconp@entry=0x7fffffffd6a0, ideal_width=ideal_width@entry=32, 
    ideal_height=ideal_height@entry=32, 
    mini_iconp=mini_iconp@entry=0x7fffffffd6a8, 
    ideal_mini_width=ideal_mini_width@entry=16, 
    ideal_mini_height=ideal_mini_height@entry=16) at xutils.c:1786
#25 0x00007ffff788afde in try_pixmap_and_mask (ideal_mini_height=16, 
    ideal_mini_width=16, mini_iconp=0x7fffffffd6a8, ideal_height=32, 
    ideal_width=32, iconp=0x7fffffffd6a0, src_mask=75497476, 
    src_pixmap=75497475, screen=0x6e6700) at xutils.c:2187
#26 _wnck_read_icons (screen=0x6e6700, xwindow=xwindow@entry=75497474, 
    icon_cache=icon_cache@entry=0x1678d80, iconp=iconp@entry=0x7fffffffd6a0, 
    ideal_width=ideal_width@entry=32, ideal_height=ideal_height@entry=32, 
    mini_iconp=mini_iconp@entry=0x7fffffffd6a8, 
    ideal_mini_width=ideal_mini_width@entry=16, 
    ideal_mini_height=ideal_mini_height@entry=16) at xutils.c:2190
#27 0x00007ffff7880e94 in get_icons (window=window@entry=0x16666a0)
    at window.c:2111
#28 0x00007ffff7881a39 in force_update_now (window=window@entry=0x16666a0)
    at window.c:3273
#29 0x00007ffff7882c85 in _wnck_window_create (xwindow=75497474, 
    screen=screen@entry=0x164f8b0, sort_order=5) at window.c:548
#30 0x00007ffff787650e in update_client_list (screen=0x164f8b0)
    at screen.c:1467
#31 do_update_now (screen=0x164f8b0) at screen.c:2206
#32 0x00007ffff2450d8b in g_task_return_now (task=0x8ea8e0)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gtask.c:1076
#33 0x00007ffff24513f6 in g_task_return (task=0x8ea8e0, type=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gtask.c:1129
#34 0x0000000000449381 in session_resumed_cb (object=<optimized out>, 
    result=0x8ea9b0, user_data=<optimized out>) at ephy-session.c:1526
#35 0x00007ffff2450d8b in g_task_return_now (task=0x8ea9b0)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gtask.c:1076
#36 0x00007ffff24513f6 in g_task_return (task=0x8ea9b0, type=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gtask.c:1129
#37 0x0000000000449161 in load_from_stream_cb (object=<optimized out>, 
    result=0x8eac20, user_data=<optimized out>) at ephy-session.c:1389
#38 0x00007ffff2450d8b in g_task_return_now (task=0x8eac20)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gtask.c:1076
#39 0x00007ffff24513f6 in g_task_return (task=0x8eac20, type=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gtask.c:1129
#40 0x0000000000448d7d in load_stream_complete (task=0x8eac20)
    at ephy-session.c:1194
#41 load_stream_read_cb (object=<optimized out>, result=<optimized out>, 
    user_data=<optimized out>) at ephy-session.c:1260
#42 0x00007ffff242d62a in async_ready_callback_wrapper (
    source_object=0x949e70, res=0x9c9800, user_data=0x8eac20)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/ginputstream.c:518
#43 0x00007ffff2450d8b in g_task_return_now (task=0x9c9800)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gtask.c:1076
#44 0x00007ffff2450da9 in complete_in_idle_cb (task=0x9c9800)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gtask.c:1085
#45 0x00007ffff1e8f53d in g_main_dispatch (context=0x711ca0)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:3064
#46 g_main_context_dispatch (context=context@entry=0x711ca0)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:3663
#47 0x00007ffff1e8f8a8 in g_main_context_iterate (
    context=context@entry=0x711ca0, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:3734
#48 0x00007ffff1e8f94c in g_main_context_iteration (context=0x711ca0, 
    context@entry=0x0, may_block=may_block@entry=1)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:3795
#49 0x00007ffff2472e7c in g_application_run (application=0x8a0180, 
    argc=argc@entry=1, argv=argv@entry=0x7fffffffdc38)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gapplication.c:2114
#50 0x0000000000431192 in main (argc=1, argv=0x7fffffffdc38) at ephy-main.c:488

It looked like the main gui was up but the pages were not drawn at the moment of exception. When I tried the incognito mode it worked and it somehow 'fixed' the problem.
Comment 1 Uli Schlachter 2014-05-03 14:32:54 UTC
Sorry, but that backtrace doesn't help. Errors in X11 are reported asynchronously. When sending a request, Xlib doesn't wait for a "there was no error"-reply from the server. Only randomly later does it receive errors, if one occurs. So the backtrace in that case is just "randomly later".

What is the error message that is printed on stderr?
Why is this bug titled "BadMatch is shm extention"? Did you guess that SHM is involved just from the backtrace?
Comment 2 Maciej Piechotka 2014-05-03 15:31:58 UTC
(In reply to comment #1)
> Sorry, but that backtrace doesn't help. Errors in X11 are reported
> asynchronously. When sending a request, Xlib doesn't wait for a "there was
> no error"-reply from the server. Only randomly later does it receive errors,
> if one occurs. So the backtrace in that case is just "randomly later".
> 

I know. Backtrace from a breakpoint in gdk_x_error with GDK_SYNCHRONIZE=1 so that's covered.

> What is the error message that is printed on stderr?
> Why is this bug titled "BadMatch is shm extention"? Did you guess that SHM
> is involved just from the backtrace?

The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 795449 error_code 8 request_code 62 (core protocol) minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

And name of the functions are _cairo_xlib_surface_update_shm/_cairo_xlib_surface_get_shm etc.

PS. I got another repro after running some time. I'll get a better stacktrace soon.
Comment 3 Maciej Piechotka 2014-05-03 16:28:48 UTC
This time no cairo is bt. Any idea where the problem might be? 

Thread 1 (Thread 0x7ffff7f8a940 (LWP 11903)):
#0  gdk_x_error (xdisplay=0x718630, error=0x7fffffffd530) at gdkmain-x11.c:267
No locals.
#1  0x00007ffff7ae49cb in _XError (dpy=dpy@entry=0x718630, 
    rep=rep@entry=0x178ef90)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/XlibInt.c:1463
        rtn_val = <optimized out>
        event = {type = 0, xany = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627}, xkey = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, root = 140737351874768, subwindow = 0, 
            time = 140737488344620, x = 7444608, y = 0, x_root = -10600, 
            y_root = 32767, state = 7439920, keycode = 0, 
            same_screen = -136404985}, xbutton = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, root = 140737351874768, subwindow = 0, 
            time = 140737488344620, x = 7444608, y = 0, x_root = -10600, 
            y_root = 32767, state = 7439920, button = 0, 
            same_screen = -136404985}, xmotion = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, root = 140737351874768, subwindow = 0, 
            time = 140737488344620, x = 7444608, y = 0, x_root = -10600, 
            y_root = 32767, state = 7439920, is_hint = 0 '\000', 
            same_screen = -136404985}, xcrossing = {type = 0, 
            serial = 7439920, send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, root = 140737351874768, subwindow = 0, 
            time = 140737488344620, x = 7444608, y = 0, x_root = -10600, 
            y_root = 32767, mode = 7439920, detail = 0, 
            same_screen = -136404985, focus = 32767, state = 5}, xfocus = {
            type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, window = 140737471578627, mode = -136480560, 
            detail = 32767}, xexpose = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, x = -136480560, y = 32767, width = 0, 
            height = 0, count = -10708}, xgraphicsexpose = {type = 0, 
            serial = 7439920, send_event = 35651592, display = 0x5c708, 
            drawable = 140737471578627, x = -136480560, y = 32767, width = 0, 
            height = 0, count = -10708, major_code = 32767, 
            minor_code = 7444608}, xnoexpose = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            drawable = 140737471578627, major_code = -136480560, 
            minor_code = 32767}, xvisibility = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, state = -136480560}, xcreatewindow = {
            type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, parent = 140737471578627, 
            window = 140737351874768, x = 0, y = 0, width = -10708, 
            height = 32767, border_width = 7444608, override_redirect = 0}, 
          xdestroywindow = {type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, event = 140737471578627, 
            window = 140737351874768}, xunmap = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, event = 140737471578627, 
            window = 140737351874768, from_configure = 0}, xmap = {type = 0, 
            serial = 7439920, send_event = 35651592, display = 0x5c708, 
            event = 140737471578627, window = 140737351874768, 
            override_redirect = 0}, xmaprequest = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            parent = 140737471578627, window = 140737351874768}, xreparent = {
            type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, event = 140737471578627, 
            window = 140737351874768, parent = 0, x = -10708, y = 32767, 
            override_redirect = 7444608}, xconfigure = {type = 0, 
            serial = 7439920, send_event = 35651592, display = 0x5c708, 
            event = 140737471578627, window = 140737351874768, x = 0, y = 0, 
            width = -10708, height = 32767, border_width = 7444608, 
            above = 140737488344728, override_redirect = 7439920}, xgravity = {
            type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, event = 140737471578627, 
            window = 140737351874768, x = 0, y = 0}, xresizerequest = {
            type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, window = 140737471578627, width = -136480560, 
            height = 32767}, xconfigurerequest = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            parent = 140737471578627, window = 140737351874768, x = 0, y = 0, 
            width = -10708, height = 32767, border_width = 7444608, 
            above = 140737488344728, detail = 7439920, 
            value_mask = 140737351950343}, xcirculate = {type = 0, 
            serial = 7439920, send_event = 35651592, display = 0x5c708, 
            event = 140737471578627, window = 140737351874768, place = 0}, 
          xcirculaterequest = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            parent = 140737471578627, window = 140737351874768, place = 0}, 
          xproperty = {type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, window = 140737471578627, 
            atom = 140737351874768, time = 0, state = -10708}, 
          xselectionclear = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, selection = 140737351874768, time = 0}, 
          xselectionrequest = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, owner = 140737471578627, 
            requestor = 140737351874768, selection = 0, 
            target = 140737488344620, property = 7444608, 
            time = 140737488344728}, xselection = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            requestor = 140737471578627, selection = 140737351874768, 
            target = 0, property = 140737488344620, time = 7444608}, 
          xcolormap = {type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, window = 140737471578627, 
            colormap = 140737351874768, new = 0, state = 0}, xclient = {
            type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, window = 140737471578627, 
            message_type = 140737351874768, format = 0, data = {
              b = ",\326\377\377\377\177\000\000\200\230q\000\000\000\000\000\230\326\377\377", s = {-10708, -1, 32767, 0, -26496, 113, 0, 0, -10600, -1}, 
              l = {140737488344620, 7444608, 140737488344728, 7439920, 
                140737351950343}}}, xmapping = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, request = -136480560, 
            first_keycode = 32767, count = 0}, xerror = {type = 0, 
            display = 0x718630, resourceid = 35651592, serial = 378632, 
            error_code = 3 '\003', request_code = 2 '\002', 
            minor_code = 0 '\000'}, xkeymap = {type = 0, serial = 7439920, 
            send_event = 35651592, display = 0x5c708, 
            window = 140737471578627, 
            key_vector = "\320x\335\367\377\177\000\000\000\000\000\000\000\000\000\000,\326\377\377\377\177\000\000\200\230q\000\000\000\000"}, xgeneric = {
            type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, extension = -16776701, evtype = 32767}, 
          xcookie = {type = 0, serial = 7439920, send_event = 35651592, 
            display = 0x5c708, extension = -16776701, evtype = 32767, 
            cookie = 4158486736, data = 0x0}, pad = {0, 7439920, 35651592, 
            378632, 140737471578627, 140737351874768, 0, 140737488344620, 
            7444608, 140737488344728, 7439920, 140737351950343, 
            140733193388037, 0, 7444608, 140737348528848, 0, 7439920, 
            24702864, 140737351976181, 0, -1, 1, 24702864}}
        async = <optimized out>
        next = <optimized out>
#2  0x00007ffff7ae1a47 in handle_error (dpy=0x718630, err=0x178ef90, 
    in_XReply=<optimized out>)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/xcb_io.c:213
        ext = <optimized out>
        ret_code = 0
#3  0x00007ffff7ae1af5 in handle_response (dpy=dpy@entry=0x718630, 
    response=0x178ef90, in_XReply=in_XReply@entry=1)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/xcb_io.c:325
        async = <optimized out>
        next = <optimized out>
#4  0x00007ffff7ae29f0 in _XReply (dpy=dpy@entry=0x718630, 
    rep=rep@entry=0x7fffffffd6e0, extra=extra@entry=0, discard=discard@entry=1)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/xcb_io.c:627
        event = <optimized out>
        req = 0x1748020
        response = 0x1678860
        error = 0x0
        c = 0x719880
        reply = <optimized out>
        current = 0x1748020
        __PRETTY_FUNCTION__ = "_XReply"
#5  0x00007ffff7ade7dd in XSync (dpy=0x718630, discard=discard@entry=0)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/Sync.c:44
        rep = {type = 0 '\000', revertTo = 0 '\000', sequenceNumber = 0, 
          length = 0, focus = 0, pad1 = 0, pad2 = 24774736, pad3 = 0, 
          pad4 = 35651592, pad5 = 0}
#6  0x00007ffff7ade86b in _XSyncFunction (dpy=<optimized out>)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/Synchro.c:35
No locals.
#7  0x00007ffff7adc2de in XSelectInput (dpy=dpy@entry=0x718630, 
    w=w@entry=35651592, mask=mask@entry=0)
    at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/SelInput.c:46
        req = <optimized out>
#8  0x00007ffff788b8f1 in _wnck_select_input (screen=<optimized out>, 
    xwindow=xwindow@entry=35651592, mask=mask@entry=0, update=update@entry=0)
    at xutils.c:1406
        display = 0x718630
        gdkwindow = 0x0
        old_mask = 0
#9  0x00007ffff78810e4 in wnck_window_finalize (object=0x167a460)
    at window.c:389
        window = 0x167a460
#10 0x00007ffff219071a in g_object_unref (_object=0x167a460)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gobject.c:3112
        weak_locations = <optimized out>
        object = 0x167a460
        old_ref = 1
        __FUNCTION__ = "g_object_unref"
#11 0x00007ffff1e7e8ba in g_hash_table_remove_internal (hash_table=0x167bb00, 
    key=0x7fffffffd8d8, notify=1)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/ghash.c:1300
        node_hash = 35651592
#12 0x00007ffff7881411 in _wnck_window_destroy (window=0x167a460)
    at window.c:562
        xwindow = 35651592
        __PRETTY_FUNCTION__ = "_wnck_window_destroy"
#13 0x00007ffff787639c in update_client_list (screen=0x165a890)
    at screen.c:1651
        mapping = 0x17cd9d0
        created_class_groups = <optimized out>
        reentrancy_guard = 1
        mapping_length = 5
        created = <optimized out>
        new_hash = <optimized out>
        active_changed = <optimized out>
        new_list = <optimized out>
        closed = <optimized out>
        closed_class_groups = <optimized out>
        list_changed = <optimized out>
        stack = 0x176cbd0
        tmp = 0x901c40
        i = <optimized out>
        stack_length = 5
        new_stack_list = <optimized out>
        created_apps = <optimized out>
        closed_apps = <optimized out>
        stack_changed = <optimized out>
#14 do_update_now (screen=0x165a890) at screen.c:2206
No locals.
#15 0x00007ffff7876be4 in update_idle (data=<optimized out>) at screen.c:2229
        screen = <optimized out>
#16 0x00007ffff1e8f53d in g_main_dispatch (context=0x711cc0)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:3064
        dispatch = 0x7ffff1e8c410 <g_idle_dispatch>
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x165a890
        callback = 0x7ffff7876bd0 <update_idle>
        cb_funcs = 0x7ffff21788e0 <g_source_callback_funcs>
        cb_data = 0x168eb80
        need_destroy = <optimized out>
        source = 0x1765a00
        current = 0x6f7b90
        i = 0
#17 g_main_context_dispatch (context=context@entry=0x711cc0)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:3663
No locals.
#18 0x00007ffff1e8f8a8 in g_main_context_iterate (
    context=context@entry=0x711cc0, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:3734
        max_priority = 200
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 6
        fds = <optimized out>
#19 0x00007ffff1e8f94c in g_main_context_iteration (context=0x711cc0, 
    context@entry=0x0, may_block=may_block@entry=1)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:3795
        retval = <optimized out>
#20 0x00007ffff2472e7c in g_application_run (application=0x8a0180, 
    argc=argc@entry=1, argv=argv@entry=0x7fffffffdc38)
    at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gio/gapplication.c:2114
        arguments = 0x835520
        status = 0
        __FUNCTION__ = "g_application_run"
#21 0x0000000000431192 in main (argc=1, argv=0x7fffffffdc38) at ephy-main.c:488
        option_context = <optimized out>
        option_group = <optimized out>
        error = 0x0
        user_time = <optimized out>
        arbitrary_url = <optimized out>
        ctx = <optimized out>
        startup_flags = <optimized out>
        mode = <optimized out>
        ephy_shell = 0x8a0180
        status = <optimized out>
        flags = <optimized out>
Comment 4 Uli Schlachter 2014-05-03 16:46:53 UTC
> xerror = {type = 0, 
>            display = 0x718630, resourceid = 35651592, serial = 378632, 
>            error_code = 3 '\003', request_code = 2 '\002', 
>            minor_code = 0 '\000'}

That's not a BadMatch. Error 3 is BadWindow. And major request 2 is ChangeWindowAttributes. Which matches the function from the backtrace (XSelectInput() is a wrapper for generating ChangeWindowAttribute requests).

And since this time there is no cairo involved in the backtrace, I guess that something is seriously wrong on your end which makes lots of stuff randomly fail which can't really fail.

Let's see if someone wh cares about cairo's Xlib backend has an idea...
Comment 5 GitLab Migration User 2018-08-25 13:48:04 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/202.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.