Opened 4 years ago
Closed 4 years ago
#1430 closed defect (fixed)
X11 crash during connection setup
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | critical | Milestone: | 2.0 |
Component: | server | Version: | trunk |
Keywords: | x11 | Cc: |
Description
I've seen this a few times - usually when there is already an active connection and we take over:
setting keymap: rules=evdev, model=pc105, layout=gb,us,gb [xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. python: xcb_io.c:165: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed.
It looks like we're either accessing the X11 code from the wrong thread or we're just not flushing something (xsync / xswallow).
It could be the cleanup code for the old connection doing an X11 call?
r14996 (backport in r14997) try to make the keyboard code safer using xsync. Maybe this will be enough?
Change History (5)
comment:1 Changed 4 years ago by
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:3 Changed 4 years ago by
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
Found the problem: we're querying the server x11 info from the wrong thread, fix incoming.
comment:4 Changed 4 years ago by
comment:5 Changed 4 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Verified the cleanup paths:
CONNECTION_LOST
is processed via idle_add so it is safe (only maybe it should be done in the handlers and not in the protocol layer)disconnect_client
andforce_disconnect
usedisconnect_protocol
andCONNECTION_LOST
cleanup_source
calls the server sourceclose
method, which callscleanup
on all the window sources: that code uses idle_add for the gobject signal handlers, r15225 does the same for the dbus server just in caselast_client_exited
which is called for some cleanups, is already called via idle_add
Note: See
TracTickets for help on using
tickets.
Haven't seen it since.