The error message "Unknown sequence number while processing queue" occurs in a chunk of text that has this big fat warning in front of it, about threading safety in client code:
/* Thread-safety rules:
*
* At most one thread can be reading from XCB's event queue at a time.
* If you are not the current event-reading thread and you need to find
* out if an event is available, you must wait.
*
* The same rule applies for reading replies.
*
* A single thread cannot be both the the event-reading and the
* reply-reading thread at the same time.
*
* We always look at both the current event and the first pending reply
* to decide which to process next.
*
* We always process all responses in sequence-number order, which may
* mean waiting for another thread (either the event_waiter or the
* reply_waiter) to handle an earlier response before we can process or
* return a later one. If so, we wait on the corresponding condition
* variable for that thread to process the response and wake us up.
*/
This seems to suggest perhaps this client application could have some faulty logic in its thread handling as relating to the xcb calls?
The error message "Unknown sequence number while processing queue" occurs in a chunk of text that has this big fat warning in front of it, about threading safety in client code:
/* Thread-safety rules:
*
* At most one thread can be reading from XCB's event queue at a time.
* If you are not the current event-reading thread and you need to find
* out if an event is available, you must wait.
*
* The same rule applies for reading replies.
*
* A single thread cannot be both the the event-reading and the
* reply-reading thread at the same time.
*
* We always look at both the current event and the first pending reply
* to decide which to process next.
*
* We always process all responses in sequence-number order, which may
* mean waiting for another thread (either the event_waiter or the
* reply_waiter) to handle an earlier response before we can process or
* return a later one. If so, we wait on the corresponding condition
* variable for that thread to process the response and wake us up.
*/
This seems to suggest perhaps this client application could have some faulty logic in its thread handling as relating to the xcb calls?