Assertion failed: (pthreadret == 0), function _xcb_in_wake_up_next_reader, file xcb_in.c, line 926.
Luigi Salvatore Esposito <[email protected]> Wed, 15 Apr 2020 16:00:02 +0000
| Newsgroups | gmane.comp.freedesktop.xcb |
|---|---|
| Message-ID | <[email protected]> |
Dear XCB developers, following the upgrade to libxcb 1.14, we have now a crash in one of our tools (http://flair.web.cern.ch/flair/) with the crash report at the bottom of this email. The problem appears at this line called in frame 11: XPutImage(self->display, self->pixmap, self->gc, self->ximage, 0, 0, 0, 0, width, height); Comparing with the libxcb 1.13, I managed to track down the issue to the variable “total_read” defined in xcbint.h. Indeed, with the attached patch the crash disappears. Do you have any suggestions how to fix the problem? For sake of completeness, libxcb is installed via MacPorts. If needed, I can provide additional details. Thanks a lot for your help —————————————————————— Luigi Salvatore ESPOSITO - CERN-EN/STI Esplanade des Particules CH-1211 Geneva 23 O +41 22 76 63419 —————————————————————— Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x00007fff6da8733a __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff6db43e60 pthread_kill + 430 2 libsystem_c.dylib 0x00007fff6da0e808 abort + 120 3 libsystem_c.dylib 0x00007fff6da0dac6 __assert_rtn + 314 4 libxcb.1.dylib 0x00000001147c7746 _xcb_in_wake_up_next_reader + 89 5 libxcb.1.dylib 0x00000001147c6dd6 _xcb_out_send + 125 6 libxcb.1.dylib 0x00000001147c6d3e xcb_writev + 68 7 libX11.6.dylib 0x00000001157fe8f9 _XSend + 315 8 libX11.6.dylib 0x00000001157f42c7 PutSubImage + 1924 9 libX11.6.dylib 0x00000001157f3c8b PutSubImage + 328 10 libX11.6.dylib 0x00000001157f385f XPutImage + 424 11 geoviewer.so 0x0000000115689233 Viewer_expose(ViewerObject*, _object*) + 163 12 org.python.python 0x000000010df3eb26 cfunction_call_varargs + 319 13 org.python.python 0x000000010dfd6b72 _PyEval_EvalFrameDefault + 9050 14 org.python.python 0x000000010dfddeb9 _PyEval_EvalCodeWithName + 2107 15 org.python.python 0x000000010df3ef21 _PyFunction_Vectorcall + 217 16 org.python.python 0x000000010df40f56 method_vectorcall + 372 17 org.python.python 0x000000010df3e80d PyVectorcall_Call + 108 18 _tkinter.cpython-38-darwin.so 0x000000010e8c0012 PythonCmd + 205 19 libtcl8.6.dylib 0x000000010e8ddaee TclNRRunCallbacks + 79 20 libtcl8.6.dylib 0x000000010e8ded06 TclEvalEx + 1987 21 libtcl8.6.dylib 0x000000010e8de53d Tcl_EvalEx + 26 22 libtk8.6.dylib 0x000000010ebff362 Tk_BindEvent + 5754 23 libtk8.6.dylib 0x000000010ec04fe9 TkBindEventProc + 334 24 libtk8.6.dylib 0x000000010ec0c523 Tk_HandleEvent + 997 25 libtk8.6.dylib 0x000000010ec0cc0c WindowEventProc + 96 26 libtcl8.6.dylib 0x000000010e985e78 Tcl_ServiceEvent + 136 27 libtcl8.6.dylib 0x000000010e98606d Tcl_DoOneEvent + 153 28 _tkinter.cpython-38-darwin.so 0x000000010e8be324 _tkinter_tkapp_mainloop + 342 29 org.python.python 0x000000010df45d4e method_vectorcall_FASTCALL + 250 30 org.python.python 0x000000010dfdd2f5 call_function + 346 31 org.python.python 0x000000010dfd66cd _PyEval_EvalFrameDefault + 7861 32 org.python.python 0x000000010dfddeb9 _PyEval_EvalCodeWithName + 2107 33 org.python.python 0x000000010df3ef21 _PyFunction_Vectorcall + 217 34 org.python.python 0x000000010df40e69 method_vectorcall + 135 35 org.python.python 0x000000010dfdd2f5 call_function + 346 36 org.python.python 0x000000010dfd66f0 _PyEval_EvalFrameDefault + 7896 37 org.python.python 0x000000010dfddeb9 _PyEval_EvalCodeWithName + 2107 38 org.python.python 0x000000010dfd4790 PyEval_EvalCode + 42 39 org.python.python 0x000000010e00c57d run_eval_code_obj + 102 40 org.python.python 0x000000010e00b9cb run_mod + 82 41 org.python.python 0x000000010e00a8a5 PyRun_FileExFlags + 160 42 org.python.python 0x000000010e009f89 PyRun_SimpleFileExFlags + 271 43 org.python.python 0x000000010e021834 Py_RunMain + 1836 44 org.python.python 0x000000010e021b90 pymain_main + 370 45 org.python.python 0x000000010e021be5 Py_BytesMain + 42 46 libdyld.dylib 0x00007fff6d93fcc9 start + 1 _______________________________________________ Xcb mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/xcb
p6.diff
(application/octet-stream, 1.1 KB)
diff -ruN src.orig/xcb_conn.c src/xcb_conn.c
--- src.orig/xcb_conn.c 2020-02-22 21:50:14.000000000 +0100
+++ src/xcb_conn.c 2020-03-21 22:15:41.000000000 +0100
@@ -538,7 +538,7 @@
return 0;
pthread_mutex_lock(&c->iolock);
- n = c->in.total_read;
+ // n = c->in.total_read;
pthread_mutex_unlock(&c->iolock);
return n;
}
diff -ruN src.orig/xcb_in.c src/xcb_in.c
--- src.orig/xcb_in.c 2020-02-22 21:50:14.000000000 +0100
+++ src/xcb_in.c 2020-03-21 22:14:18.000000000 +0100
@@ -1025,7 +1025,7 @@
}
}
#endif
- c->in.total_read += n;
+ // c->in.total_read += n;
c->in.queue_len += n;
}
while(read_packet(c))
diff -ruN src.orig/xcbint.h src/xcbint.h
--- src.orig/xcbint.h 2020-02-22 21:50:14.000000000 +0100
+++ src/xcbint.h 2020-03-21 22:13:10.000000000 +0100
@@ -136,7 +136,7 @@
uint64_t request_expected;
uint64_t request_read;
uint64_t request_completed;
- uint64_t total_read;
+ // uint64_t total_read;
struct reply_list *current_reply;
struct reply_list **current_reply_tail;