[X2Go-Dev] x2goclient-3.99.2.1 plugin crash

Oleksandr Shneyder oleksandr.shneyder at obviously-nice.de
Thu Jul 5 14:22:47 CEST 2012


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 ) ),
> 10360                            tr ( "<br><b>   Click this "
> 10361                                 "button   <br>"
> 10362                                 "   to restore toolbar"
> (gdb) bt
> #0  data (this=0x8) at ../../src/corelib/tools/qscopedpointer.h:135
> #1  qGetPtrHelper<QScopedPointer<QObjectData> > (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  0x00007fe1d9ad5c03 in ONMainWindow::slotEmbedToolBarToolTip (this=
>     0x7fe1d14c6800) at ../onmainwindow.cpp:10358
> #5  0x00007fe1d9b554fd in ONMainWindow::qt_metacall (this=0x7fe1d14c6800, _c=
>     QMetaObject::InvokeMetaMethod, _id=108, _a=0x7fff1d3d0440)
>     at moc_onmainwindow.cpp:402
> #6  0x00007fe1d7c235aa in QMetaObject::activate (sender=0x7fe1d1413200, 
>     m=<optimized out>, local_signal_index=<optimized out>, argv=0x0)
>     at kernel/qobject.cpp:3287
> #7  0x00007fe1d7c2b66f in QSingleShotTimer::timerEvent (this=0x7fe1d1413200)
>     at kernel/qtimer.cpp:308
> #8  0x00007fe1d7c26e89 in QObject::event (this=0x7fe1d1413200, 
>     e=<optimized out>) at kernel/qobject.cpp:1190
> #9  0x00007fe1d844fc34 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 0x00007fe1d8454ac1 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 at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/x2go-dev


-- 
Oleksandr Shneyder
Dipl. Informatik
X2go Core Developer Team

email:  oleksandr.shneyder at obviously-nice.de
web: www.obviously-nice.de

--> X2go - everywhere at home

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20120705/438a5a69/attachment.pgp>


More information about the x2go-dev mailing list