_XReply deadlock
The touch screen will cause libX11-1.6.4 to deadlock. I tried different versions of libX11, such as libX11-1.6.12 and libX11-master. The number of deadlocks in the new version is reduced, but there are still deadlock problems. Has anyone encountered a similar problem?
Thread 1 (Thread 0x7ffff7f9f2c0 (LWP 29164)):
#0 0x00007fffab92e9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5555568eabf8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
__ret = -512
oldtype = 0
err = <optimized out>
oldtype = <optimized out>
err = <optimized out>
__ret = <optimized out>
resultvar = <optimized out>
__arg4 = <optimized out>
__arg3 = <optimized out>
__arg2 = <optimized out>
__arg1 = <optimized out>
_a4 = <optimized out>
_a3 = <optimized out>
_a2 = <optimized out>
_a1 = <optimized out>
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x5555568f1840, cond=0x5555568eabd0) at pthread_cond_wait.c:502
spin = 0
buffer = {__routine = 0x7fffab92e690 <__condvar_cleanup_waiting>, __arg = 0x7fffffffd8c0, __canceltype = 0, __prev = 0x0}
cbuffer = {wseq = 0, cond = 0x5555568eabd0, mutex = 0x5555568f1840, private = 0}
rt = <optimized out>
err = <optimized out>
g = 0
flags = <optimized out>
g1_start = <optimized out>
signals = <optimized out>
result = 0
wseq = <optimized out>
seq = 0
private = <optimized out>
maxspin = <optimized out>
err = <optimized out>
result = <optimized out>
wseq = <optimized out>
g = <optimized out>
seq = <optimized out>
flags = <optimized out>
private = <optimized out>
signals = <optimized out>
g1_start = <optimized out>
spin = <optimized out>
buffer = <optimized out>
cbuffer = <optimized out>
rt = <optimized out>
s = <optimized out>
#2 __pthread_cond_wait (cond=0x5555568eabd0, mutex=0x5555568f1840) at pthread_cond_wait.c:655
No locals.
#3 0x00007fff9cec30e2 in _XReply (dpy=dpy@entry=0x5555568f05d0, rep=rep@entry=0x7fffffffd990, extra=extra@entry=0, discard=discard@entry=1) at xcb_io.c:626
req = <optimized out>
response = <optimized out>
error = 0x0
c = <optimized out>
reply = <optimized out>
current = 0x7fff8c006d40
dpy_request = <optimized out>
__PRETTY_FUNCTION__ = "_XReply"
#4 0x00007fff9cec5b23 in _XSeqSyncFunction (dpy=0x5555568f05d0) at XlibInt.c:224
rep = {type = 0 '\000', revertTo = 6 '\006', sequenceNumber = 47682, length = 21845, focus = 2632647114, pad1 = 32767, pad2 = 1452213712, pad3 = 21845, pad4 = 1452213712, pad5 = 21845}
req = <optimized out>
dpy = 0x5555568f05d0
rep = <optimized out>
req = <optimized out>
rep = <optimized out>
req = <optimized out>
#5 0x00007fff9cec52bf in _XError (dpy=dpy@entry=0x5555568f05d0, rep=rep@entry=0x7fff8c005950) at XlibInt.c:1503
rtn_val = 0
event = {type = 0, xany = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058}, xkey = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, root = 93825012810640, subwindow = 7379737, time = 140737488345728, x = -9408, y = 32767, x_root = -9632, y_root = 32767, state = 4294957656, keycode = 32767, same_screen = -1709678719}, xbutton = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, root = 93825012810640, subwindow = 7379737, time = 140737488345728, x = -9408, y = 32767, x_root = -9632, y_root = 32767, state = 4294957656, button = 32767, same_screen = -1709678719}, xmotion = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, root = 93825012810640, subwindow = 7379737, time = 140737488345728, x = -9408, y = 32767, x_root = -9632, y_root = 32767, state = 4294957656, is_hint = -1 '\377', same_screen = -1709678719}, xcrossing = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, root = 93825012810640, subwindow = 7379737, time = 140737488345728, x = -9408, y = 32767, x_root = -9632, y_root = 32767, mode = -9640, detail = 32767, same_screen = -1709678719, focus = 32767, state = 4294957888}, xfocus = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, mode = 1452229520, detail = 21845}, xexpose = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, x = 1452229520, y = 21845, width = 7379737, height = 0, count = -9600}, xgraphicsexpose = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, drawable = 140737475085058, x = 1452229520, y = 21845, width = 7379737, height = 0, count = -9600, major_code = 32767, minor_code = -9408}, xnoexpose = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, drawable = 140737475085058, major_code = 1452229520, minor_code = 21845}, xvisibility = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, state = 1452229520}, xcreatewindow = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, parent = 140737475085058, window = 93825012810640, x = 7379737, y = 0, width = -9600, height = 32767, border_width = -9408, override_redirect = 32767}, xdestroywindow = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, event = 140737475085058, window = 93825012810640}, xunmap = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, event = 140737475085058, window = 93825012810640, from_configure = 7379737}, xmap = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, event = 140737475085058, window = 93825012810640, override_redirect = 7379737}, xmaprequest = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, parent = 140737475085058, window = 93825012810640}, xreparent = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, event = 140737475085058, window = 93825012810640, parent = 7379737, x = -9600, y = 32767, override_redirect = -9408}, xconfigure = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, event = 140737475085058, window = 93825012810640, x = 7379737, y = 0, width = -9600, height = 32767, border_width = -9408, above = 140737488345696, override_redirect = -9640}, xgravity = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, event = 140737475085058, window = 93825012810640, x = 7379737, y = 0}, xresizerequest = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, width = 1452229520, height = 21845}, xconfigurerequest = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, parent = 140737475085058, window = 93825012810640, x = 7379737, y = 0, width = -9600, height = 32767, border_width = -9408, above = 140737488345696, detail = -9640, value_mask = 140735778676609}, xcirculate = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, event = 140737475085058, window = 93825012810640, place = 7379737}, xcirculaterequest = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, parent = 140737475085058, window = 93825012810640, place = 7379737}, xproperty = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, atom = 93825012810640, time = 7379737, state = -9600}, xselectionclear = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, selection = 93825012810640, time = 7379737}, xselectionrequest = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, owner = 140737475085058, requestor = 93825012810640, selection = 7379737, target = 140737488345728, property = 140737488345920, time = 140737488345696}, xselection = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, requestor = 140737475085058, selection = 93825012810640, target = 7379737, property = 140737488345728, time = 140737488345920}, xcolormap = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, colormap = 93825012810640, new = 7379737, state = 0}, xclient = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, message_type = 93825012810640, format = 7379737, data = {b = "\200\332\377\377\377\177\000\000@\333\377\377\377\177\000\000`\332\377\377", s = {-9600, -1, 32767, 0, -9408, -1, 32767, 0, -9632, -1}, l = {140737488345728, 140737488345920, 140737488345696, 140737488345688, 140735778676609}}}, xmapping = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, request = 1452229520, first_keycode = 21845, count = 7379737}, xerror = {type = 0, display = 0x5555568f05d0, resourceid = 859, serial = 7379737, error_code = 2 '\002', request_code = 131 '\203', minor_code = 53 '5'}, xkeymap = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, window = 140737475085058, key_vector = "\220C\217VUU\000\000\031\233p\000\000\000\000\000\200\332\377\377\377\177\000\000@\333\377\377\377\177\000"}, xgeneric = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, extension = -13270270, evtype = 32767}, xcookie = {type = 0, serial = 93825012794832, send_event = 859, display = 0x709b19, extension = -13270270, evtype = 32767, cookie = 1452229520, data = 0x709b19}, pad = {93823560581120, 93825012794832, 859, 7379737, 140737475085058, 93825012810640, 7379737, 140737488345728, 140737488345920, 140737488345696, 140737488345688, 140735778676609, 140737488345920, 140735778676933, 3, 0, 7379737, 140737488345728, 0, 0, 0, 0, 0, 0}}
async = <optimized out>
next = <optimized out>
#6 0x00007fff9cec1e9b in handle_error (dpy=0x5555568f05d0, err=0x7fff8c005950, in_XReply=<optimized out>) at xcb_io.c:207
ext = <optimized out>
ret_code = 32767
#7 0x00007fff9cec1f45 in handle_response (dpy=dpy@entry=0x5555568f05d0, response=0x7fff8c005950, in_XReply=in_XReply@entry=1) at xcb_io.c:333
async = <optimized out>
next = <optimized out>
#8 0x00007fff9cec30a6 in _XReply (dpy=dpy@entry=0x5555568f05d0, rep=rep@entry=0x7fffffffdbd0, extra=extra@entry=0, discard=discard@entry=0) at xcb_io.c:679
req = <optimized out>
response = 0x0
error = 0x7fff8c005950
c = <optimized out>
reply = <optimized out>
current = 0x7ffee0008910
dpy_request = <optimized out>
__PRETTY_FUNCTION__ = "_XReply"
#9 0x00007fff922bb60e in XIQueryDevice (dpy=0x5555568f05d0, deviceid=11, ndevices_return=0x7fffffffdc4c) at XIQueryDevice.c:62
info = 0x0
req = <optimized out>
reply = {repType = 1 '\001', RepType = 128 '\200', sequenceNumber = 64429, length = 32767, num_devices = 36789, pad0 = 22049, pad1 = 21845, pad2 = 1445040053, pad3 = 21845, pad4 = 1445040052, pad5 = 21845}
ptr = <optimized out>
end = <optimized out>
i = <optimized out>
buf = 0x0
extinfo = 0x5555569003b0
#10 0x00007fff929b08c6 in QXcbConnection::xi2HandleDeviceChangedEvent(void*) () from /home/Qt5.9.1/5.9.1/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
No symbol table info available.
#11 0x00007fff929b33bb in QXcbConnection::xi2HandleEvent(xcb_ge_event_t*) () from /home/Qt5.9.1/5.9.1/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
No symbol table info available.
#12 0x00007fff929895d2 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /home/Qt5.9.1/5.9.1/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
No symbol table info available.
#13 0x00007fff92989d9c in QXcbConnection::processXcbEvents() () from /home/Qt5.9.1/5.9.1/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
No symbol table info available.
#14 0x00007fffabde43c1 in QObject::event(QEvent*) () from /home/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Core.so.5
Edited by david