[X2Go-Dev] x2goclient-3.99.2.1 plugin crash
I can get the x2goclient firefox plugin to reproducibly crash. This crash happens once one clicks on the blue X2go splash when the plugin is loaded. According to gdb, (gdb) p stb $1 = (QToolBar *) 0x0 [or values pointing to unmapped areas] (gdb) l 10353 void ONMainWindow::slotEmbedToolBarToolTip() 10354 { 10355 if ( !showTbTooltip ) 10356 return; 10357 QWidget* widg=stb-widgetForAction ( 10358 act_embedToolBar ); 10359 QToolTip::showText ( this-mapToGlobal ( QPoint ( 6,6 ) ), 10360tr ( brbnbsp;nbsp;nbsp;Click this 10361 buttonnbsp;nbsp;nbsp;br 10362 nbsp;nbsp;nbsp;to restore toolbar (gdb) bt #0 data (this=0x8) at ../../src/corelib/tools/qscopedpointer.h:135 #1 qGetPtrHelperQScopedPointerQObjectData (p=...) at ../../src/corelib/global/qglobal.h:2342 #2 d_func (this=0x0) at widgets/qtoolbar.h:167 #3 QToolBar::widgetForAction (this=0x0, action=0x0) at widgets/qtoolbar.cpp:1285 #4 0x7fe1d9ad5c03 in ONMainWindow::slotEmbedToolBarToolTip (this= 0x7fe1d14c6800) at ../onmainwindow.cpp:10358 #5 0x7fe1d9b554fd in ONMainWindow::qt_metacall (this=0x7fe1d14c6800, _c= QMetaObject::InvokeMetaMethod, _id=108, _a=0x7fff1d3d0440) at moc_onmainwindow.cpp:402 #6 0x7fe1d7c235aa in QMetaObject::activate (sender=0x7fe1d1413200, m=optimized out, local_signal_index=optimized out, argv=0x0) at kernel/qobject.cpp:3287 #7 0x7fe1d7c2b66f in QSingleShotTimer::timerEvent (this=0x7fe1d1413200) at kernel/qtimer.cpp:308 #8 0x7fe1d7c26e89 in QObject::event (this=0x7fe1d1413200, e=optimized out) at kernel/qobject.cpp:1190 #9 0x7fe1d844fc34 in notify_helper (e=0x7fff1d3d0b00, receiver= 0x7fe1d1413200, this=0x7fe1db3e00b0) at kernel/qapplication.cpp:4481 #10 QApplicationPrivate::notify_helper (this=0x7fe1db3e00b0, receiver= 0x7fe1d1413200, e=0x7fff1d3d0b00) at kernel/qapplication.cpp:4453 #11 0x7fe1d8454ac1 in QApplication::notify (this=0x7fe1db3a94b0, receiver= 0x7fe1d1413200, e=0x7fff1d3d0b00) at kernel/qapplication.cpp:4360 ---Type return to continue, or q return to quit---q Quit I also attempted to valgrind that, and came up with ==19917== Conditional jump or move depends on uninitialised value(s) ==19917==at 0x12237BD8: ONMainWindow::slotEmbedToolBarToolTip() (onmainwindow.cpp:10355) ==19917==by 0x122B74FC: ONMainWindow::qt_metacall(QMetaObject::Call, int, void**) (moc_onmainwindow.cpp:402) ==19917==by 0x1424A5A9: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3287) ==19917==by 0x1425266E: QSingleShotTimer::timerEvent(QTimerEvent*) (qtimer.cpp:308) ==19917==by 0x1424DE88: QObject::event(QEvent*) (qobject.cpp:1190) ==19917==by 0x132C9C33: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4481) ==19917==by 0x132CEAC0: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4360) ==19917==by 0x1423782B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:787) ==19917==by 0x142643A7: QTimerInfoList::activateTimers() (qcoreapplication.h:215) ==19917==by 0x14261B93: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:184) ==19917==by 0xA3E258C: g_main_context_dispatch (gmain.c:2425) ==19917==by 0xA3E2D87: g_main_context_iterate.isra.21 (gmain.c:3073) ==19917== So, showTbTooltip seems uninitialized. I added printfs around every place where showTbTooltip is modified. However, my printfs never made it to screen (stdout/stderr are connected to a /dev/pts/N), which means that initWidgetsEmbed was never called. ___ X2Go-Dev mailing list X2Go-Dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/x2go-dev
Re: [X2Go-Dev] x2goclient-3.99.2.1 plugin crash
Hello Jan, I have made some fixes in X2GoPlugin code for several minutes: http://code.x2go.org/gitweb?p=x2goclient.git;a=commit;h=d4d0fe38610d3e514dc2e4e259ce8f103e4ac535 Please test it. The documentation in our wiki about X2Go Plugin configuration was too old. Since we using qtbrowserplugin for building X2Go Plugin we don't need a configuration file any more. All settings should be saved direct in HTML-File. I have the wiki page also updated, please check it: http://www.x2go.org/doku.php/wiki:components:x2goplugin#inserting_the_object_object_code Am 05.07.2012 13:50, schrieb Jan Engelhardt: I can get the x2goclient firefox plugin to reproducibly crash. This crash happens once one clicks on the blue X2go splash when the plugin is loaded. According to gdb, (gdb) p stb $1 = (QToolBar *) 0x0 [or values pointing to unmapped areas] (gdb) l 10353 void ONMainWindow::slotEmbedToolBarToolTip() 10354 { 10355 if ( !showTbTooltip ) 10356 return; 10357 QWidget* widg=stb-widgetForAction ( 10358 act_embedToolBar ); 10359 QToolTip::showText ( this-mapToGlobal ( QPoint ( 6,6 ) ), 10360tr ( brbnbsp;nbsp;nbsp;Click this 10361 buttonnbsp;nbsp;nbsp;br 10362 nbsp;nbsp;nbsp;to restore toolbar (gdb) bt #0 data (this=0x8) at ../../src/corelib/tools/qscopedpointer.h:135 #1 qGetPtrHelperQScopedPointerQObjectData (p=...) at ../../src/corelib/global/qglobal.h:2342 #2 d_func (this=0x0) at widgets/qtoolbar.h:167 #3 QToolBar::widgetForAction (this=0x0, action=0x0) at widgets/qtoolbar.cpp:1285 #4 0x7fe1d9ad5c03 in ONMainWindow::slotEmbedToolBarToolTip (this= 0x7fe1d14c6800) at ../onmainwindow.cpp:10358 #5 0x7fe1d9b554fd in ONMainWindow::qt_metacall (this=0x7fe1d14c6800, _c= QMetaObject::InvokeMetaMethod, _id=108, _a=0x7fff1d3d0440) at moc_onmainwindow.cpp:402 #6 0x7fe1d7c235aa in QMetaObject::activate (sender=0x7fe1d1413200, m=optimized out, local_signal_index=optimized out, argv=0x0) at kernel/qobject.cpp:3287 #7 0x7fe1d7c2b66f in QSingleShotTimer::timerEvent (this=0x7fe1d1413200) at kernel/qtimer.cpp:308 #8 0x7fe1d7c26e89 in QObject::event (this=0x7fe1d1413200, e=optimized out) at kernel/qobject.cpp:1190 #9 0x7fe1d844fc34 in notify_helper (e=0x7fff1d3d0b00, receiver= 0x7fe1d1413200, this=0x7fe1db3e00b0) at kernel/qapplication.cpp:4481 #10 QApplicationPrivate::notify_helper (this=0x7fe1db3e00b0, receiver= 0x7fe1d1413200, e=0x7fff1d3d0b00) at kernel/qapplication.cpp:4453 #11 0x7fe1d8454ac1 in QApplication::notify (this=0x7fe1db3a94b0, receiver= 0x7fe1d1413200, e=0x7fff1d3d0b00) at kernel/qapplication.cpp:4360 ---Type return to continue, or q return to quit---q Quit I also attempted to valgrind that, and came up with ==19917== Conditional jump or move depends on uninitialised value(s) ==19917==at 0x12237BD8: ONMainWindow::slotEmbedToolBarToolTip() (onmainwindow.cpp:10355) ==19917==by 0x122B74FC: ONMainWindow::qt_metacall(QMetaObject::Call, int, void**) (moc_onmainwindow.cpp:402) ==19917==by 0x1424A5A9: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3287) ==19917==by 0x1425266E: QSingleShotTimer::timerEvent(QTimerEvent*) (qtimer.cpp:308) ==19917==by 0x1424DE88: QObject::event(QEvent*) (qobject.cpp:1190) ==19917==by 0x132C9C33: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4481) ==19917==by 0x132CEAC0: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4360) ==19917==by 0x1423782B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:787) ==19917==by 0x142643A7: QTimerInfoList::activateTimers() (qcoreapplication.h:215) ==19917==by 0x14261B93: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:184) ==19917==by 0xA3E258C: g_main_context_dispatch (gmain.c:2425) ==19917==by 0xA3E2D87: g_main_context_iterate.isra.21 (gmain.c:3073) ==19917== So, showTbTooltip seems uninitialized. I added printfs around every place where showTbTooltip is modified. However, my printfs never made it to screen (stdout/stderr are connected to a /dev/pts/N), which means that initWidgetsEmbed was never called. ___ X2Go-Dev mailing list X2Go-Dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/x2go-dev -- Oleksandr Shneyder Dipl. Informatik X2go Core Developer Team email: oleksandr.shney...@obviously-nice.de web: www.obviously-nice.de -- X2go - everywhere@home signature.asc Description: OpenPGP digital signature ___ X2Go-Dev mailing list X2Go-Dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/x2go-dev
Re: [X2Go-Dev] x2goclient-3.99.2.1 plugin crash
On Thursday 2012-07-05 14:22, Oleksandr Shneyder wrote: Hello Jan, I have made some fixes in X2GoPlugin code for several minutes: http://code.x2go.org/gitweb?p=x2goclient.git;a=commit;h=d4d0fe38610d3e514dc2e4e259ce8f103e4ac535 Please test it. [...] need a configuration file any more. All settings should be saved direct in HTML-File. I have the wiki page also updated, please check it: http://www.x2go.org/doku.php/wiki:components:x2goplugin#inserting_the_object_object_code The crash can be avoided by using the new HTML code, and solely by this method. Your commit did not make a difference in that respect. v3.99.2.1+d4d0fe still crashes with the old HTML (at the same location), while v3.99.2.1^0 does not crash with the new HTML. ___ X2Go-Dev mailing list X2Go-Dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/x2go-dev