I modified the code around the assert to say: /* if Xlib has a partial request pending then XCB doesn't know about * the current request yet */ if(dpy->xcb->partial_request) { ++xcb_req; printf ("partial request thing\n"); } if (XCB_SEQUENCE_COMPARE(xcb_req, <, dpy->request)) { printf ("xcb_req=%u\n", xcb_req); printf ("dpy->request=%u\n", dpy->request); print_backtrace(); fflush(stdout); } assert(XCB_SEQUENCE_COMPARE(xcb_req, >=, dpy->request)); dpy->request = xcb_req;
And then it prints: xcb_req=3334 dpy->request=3335 So basically, this means that the code near when the assert is triggered does NOT take the branch into the "++xcb_req" statement. I've no idea if it is supposed to do that or not but that would certainly have prevented the assert from being hit? -- synergyc dies with xcb_lock.c assertion failed https://bugs.launchpad.net/bugs/299152 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs