Control: retitle 807528 after screen and/or USB mouse is disconnected, crash and/or broken clicks on the root window Control: reassign 807528 libqt5widgets5 Control: forcemerge 790825 807528
On 2015-12-10 11:43:42 +0100, Sebastian Ramacher wrote: > On 2015-12-10 11:31:47, Vincent Lefevre wrote: > > On 2015-12-10 10:34:01 +0100, Sebastian Ramacher wrote: > > > Are you that this is a bug in vlc and not Qt 5, your window manager > > > or X.Org? > > > > I don't know. I'm on another machine, and the problem is reproducible > > on it. Since the mouse is attached on the USB hub of the screen, I can > > do this either by unplugging the mouse USB cable or by switching off > > the screen and back on. In the latter case, if I do this while the > > VLC window isn't visible (I'm on another desktop page) and go to the > > VLC page again, the VLC window contains garbage, and if I click on it, > > VLC crashes (segmentation fault) in QXcbScreen::mapFromNative in > > libQt5XcbQpa.so.5.5.1 (I can give more details later). Should I report > > a new bug for this? > > This sound very similar to #790825. Are you able to reproduce the > issues with the test program posted there? Yes, both the mouse click and the segfault issues. I'm merging the bugs. Core was generated by `./helloworld'. Program terminated with signal SIGSEGV, Segmentation fault. #0 QXcbScreen::mapFromNative (this=0x0, pos=...) at qxcbscreen.cpp:249 249 qxcbscreen.cpp: No such file or directory. [Current thread is 1 (Thread 0x7f9aa1667780 (LWP 26892))] Backtrace is attached. To reproduce the crash: 1. Run ./helloworld 2. Move to another desktop page (my window manager: fvwm). 3. Switch off the screen and switch it on again. 4. Move to the initial desktop page. At this point, the redraw of the helloworld window is not done (there is garbage from the previous desktop page). 5. Click on the helloworld window. This makes the program crash. When I run the program under valgrind, I don't get a crash when I click on the window. The only problem is that the redraw is not done (4). And if I move to another desktop page then back, the redraw is done. > In any case, please provide the vlc logs and install vlc-dbg and > qtbase5-dbg and attach the backtrace. I think that the backtrace on the minimal program should be sufficient. Or should I provide VLC information too? -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Thread 2 (Thread 0x7f9a8ece7700 (LWP 26893)): #0 0x00007f9a9f87486d in poll () at ../sysdeps/unix/syscall-template.S:81 No locals. #1 0x00007f9a9cea7382 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 No symbol table info available. #2 0x00007f9a9cea8ff7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 No symbol table info available. #3 0x00007f9aa1597569 in QXcbEventReader::run (this=0x101e5f0) at qxcbconnection.cpp:1229 event = <optimized out> #4 0x00007f9aa047387e in QThreadPrivate::start (arg=0x101e5f0) at thread/qthread_unix.cpp:331 __clframe = {__cancel_routine = 0x7f9aa04729b0 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x101e5f0, __do_it = 1, __cancel_type = <optimized out>} thr = 0x101e5f0 data = 0x101e380 objectName = {static null = {<No data fields>}, d = 0x7f9aa0728260 <QArrayData::shared_null>} #5 0x00007f9a9f57f284 in start_thread (arg=0x7f9a8ece7700) at pthread_create.c:333 __res = <optimized out> pd = 0x7f9a8ece7700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140301797586688, -6731110702678962631, 0, 140722247518847, 7, 140301797586688, 6747333313347554873, 6747365126827380281}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #6 0x00007f9a9f87d13d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 No locals. Thread 1 (Thread 0x7f9aa1667780 (LWP 26892)): #0 QXcbScreen::mapFromNative (this=0x0, pos=...) at qxcbscreen.cpp:249 dpr = <optimized out> #1 0x00007f9aa15af79d in QXcbWindow::handleButtonPressEvent (this=this@entry=0x10db940, event_x=event_x@entry=128, event_y=event_y@entry=70, root_x=root_x@entry=730, root_y=root_y@entry=898, detail=1, modifiers=..., timestamp=263374363) at qxcbwindow.cpp:2155 isWheel = false dpr = <optimized out> local = {xp = 128, yp = 70} global = {xp = 1, yp = 0} #2 0x00007f9aa15afd11 in QXcbWindow::handleXIMouseEvent (this=0x10db940, event=0x7f9a88003c70) at qxcbwindow.cpp:2254 modifiers = <optimized out> button = Qt::LeftButton #3 0x00007f9aa15c3665 in QXcbConnection::xi2HandleEvent (this=this@entry=0x1009d40, event=event@entry=0x7f9a88003c70) at qxcbconnection_xi2.cpp:520 xiEvent = 0x7f9a88003c70 sourceDeviceId = 8 xiDeviceEvent = 0x7f9a88003c70 device = {i = 0x10cba30} eventListener = 0x10db940 #4 0x00007f9aa159b8e5 in QXcbConnection::handleXcbEvent (this=this@entry=0x1009d40, event=event@entry=0x7f9a88003c70) at qxcbconnection.cpp:1119 result = 0 dispatcher = <optimized out> handled = false response_type = 35 #5 0x00007f9aa159bd83 in QXcbConnection::processXcbEvents (this=0x1009d40) at qxcbconnection.cpp:1502 accepted = false it = 0x7f9aa0728230 <qt_array+48> event = 0x7f9a88003c70 eventGuard = {d = 0x7f9a88003c70} response_type = <optimized out> i = <optimized out> connection_error = <optimized out> eventqueue = 0x101e608 #6 0x00007f9aa0684601 in QObject::event (this=0x1009d40, e=<optimized out>) at kernel/qobject.cpp:1239 mce = <optimized out> sw = {receiver = 0x1009d40, previousSender = 0x0, currentSender = {sender = 0x101e5f0, signal = 5, ref = 1}, switched = true} #7 0x00007f9aa0f48ffc in QApplicationPrivate::notify_helper (this=this@entry=0xffb600, receiver=receiver@entry=0x1009d40, e=e@entry=0x7f9a88003840) at kernel/qapplication.cpp:3716 consumed = <optimized out> #8 0x00007f9aa0f4e4c6 in QApplication::notify (this=0x7ffc73935150, receiver=0x1009d40, e=0x7f9a88003840) at kernel/qapplication.cpp:3499 w = 0x1009d40 extra = <optimized out> isProxyWidget = <optimized out> res = false #9 0x00007f9aa0654bcb in QCoreApplication::notifyInternal (this=0x7ffc73935150, receiver=0x1009d40, event=event@entry=0x7f9a88003840) at kernel/qcoreapplication.cpp:965 result = false cbdata = {0x1009d40, 0x7f9a88003840, 0x7ffc73934daf} d = <optimized out> threadData = 0xffb770 loopLevelCounter = {threadData = 0xffb770} #10 0x00007f9aa0656fc6 in QCoreApplication::sendEvent (event=0x7f9a88003840, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224 No locals. #11 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xffb770) at kernel/qcoreapplication.cpp:1593 e = 0x7f9a88003840 pe = <optimized out> r = <optimized out> unlocker = {m = <synthetic pointer>} event_deleter = {d = 0x7f9a88003840} locker = {val = 16758680} startOffset = 0 i = @0xffb78c: 1 cleanup = {receiver = 0x0, event_type = 0, data = 0xffb770, exceptionCaught = true} #12 0x00007f9aa06574a8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451 data = <optimized out> #13 0x00007f9aa06aaf73 in postEventSourceDispatch (s=0x1041120) at kernel/qeventdispatcher_glib.cpp:271 source = 0x1041120 #14 0x00007f9a9f05ffe7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #15 0x00007f9a9f060240 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #16 0x00007f9a9f0602ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #17 0x00007f9aa06ab37f in QEventDispatcherGlib::processEvents (this=0x10422a0, flags=...) at kernel/qeventdispatcher_glib.cpp:418 d = 0x10422c0 canWait = true savedFlags = {i = 0} result = <optimized out> #18 0x00007f9aa065235a in QEventLoop::exec (this=this@entry=0x7ffc73935090, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 d = 0x10bbfd0 locker = {val = 16758880} ref = {d = 0x10bbfd0, locker = @0x7ffc73935010, exceptionCaught = true} #19 0x00007f9aa065a43c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229 threadData = 0xffb770 eventLoop = {<QObject> = {_vptr.QObject = 0x7f9aa089e498 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f9aa07c82c0 <qt_meta_stringdata_QObject>, data = 0x7f9aa07c81a0 <qt_meta_data_QObject>, static_metacall = 0x7f9aa068b8e0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x10bbfd0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f9aa0810000 <qt_meta_stringdata_Qt>, data = 0x7f9aa080d600 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f9aa0895b00 <QObject::staticMetaObject>, stringdata = 0x7f9aa0824fc0 <qt_meta_stringdata_QEventLoop>, data = 0x7f9aa0824f60 <qt_meta_data_QEventLoop>, static_metacall = 0x7f9aa0702970 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} returnCode = <optimized out> #20 0x000000000040131a in main () No symbol table info available.