[X2Go-Dev] x2goclient-3.99.2.1 plugin crash

2012-07-05 Thread 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


Re: [X2Go-Dev] x2goclient-3.99.2.1 plugin crash

2012-07-05 Thread Oleksandr Shneyder
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

2012-07-05 Thread Jan Engelhardt
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