Bug 245338 - KRDC Crashes on Disconnect of a VNC client
Summary: KRDC Crashes on Disconnect of a VNC client
Status: RESOLVED FIXED
Alias: None
Product: krdc
Classification: Applications
Component: VNC (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-21 18:00 UTC by qrstuv+kdebug
Modified: 2010-10-17 18:11 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description qrstuv+kdebug 2010-07-21 18:00:07 UTC
Application: krdc (4.4.2 (KDE 4.4.2))
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-23-generic x86_64
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
When clicking "Disconnect" while connected to a UltraVNC Windows server, KRDC crashes.

The crash can be reproduced every time.

 -- Backtrace:
Application: KRDC (krdc), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f1d38175760 (LWP 9924))]

Thread 3 (Thread 0x7f1d294d0710 (LWP 9925)):
#0  0x00007f1d34b6ef83 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f1d30f664a9 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f1d30f668fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f1d352c3566 in QEventDispatcherGlib::processEvents (this=0xcee5a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007f1d35298992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f1d35298d6c in QEventLoop::exec (this=0x7f1d294cfdb0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f1d351a2d59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007f1d35279178 in QInotifyFileSystemWatcherEngine::run (this=0xced9b0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f1d351a5775 in QThreadPrivate::start (arg=0xced9b0) at thread/qthread_unix.cpp:248
#9  0x00007f1d330099ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f1d34b7b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f1d28bc3710 (LWP 16789)):
[KCrash Handler]
#5  0x00007f1d352ad0a3 in QObjectPrivate::isSignalConnected (sender=0x129ab30, m=<value optimized out>, local_signal_index=0, argv=0x7f1d28bc2a30) at kernel/qobject_p.h:227
#6  QMetaObject::activate (sender=0x129ab30, m=<value optimized out>, local_signal_index=0, argv=0x7f1d28bc2a30) at kernel/qobject.cpp:3218
#7  0x00007f1d2c0b3fa3 in VncClientThread::imageUpdated (this=0x5, _t1=484, _t2=254, _t3=7, _t4=3) at ./moc_vncclientthread.cpp:106
#8  0x00007f1d2c0b4c18 in VncClientThread::emitUpdated (cl=<value optimized out>, x=484, y=254, w=7, h=3) at ../../../krdc/vnc/vncclientthread.cpp:233
#9  VncClientThread::updatefb (cl=<value optimized out>, x=484, y=254, w=7, h=3) at ../../../krdc/vnc/vncclientthread.cpp:95
#10 0x00007f1d2bea0cd3 in HandleRFBServerMessage (client=0x7f1d24000d20) at rfbproto.c:1506
#11 0x00007f1d2c0b5235 in VncClientThread::run (this=0x129ab30) at ../../../krdc/vnc/vncclientthread.cpp:292
#12 0x00007f1d351a5775 in QThreadPrivate::start (arg=0x129ab30) at thread/qthread_unix.cpp:248
#13 0x00007f1d330099ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#14 0x00007f1d34b7b6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#15 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f1d38175760 (LWP 9924)):
#0  0x00007f1d34b6ef83 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f1d2f64929a in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f1d2f6497d7 in ?? () from /usr/lib/libxcb.so.1
#3  0x00007f1d2f649a85 in xcb_writev () from /usr/lib/libxcb.so.1
#4  0x00007f1d33b4b6fa in _XSend () from /usr/lib/libX11.so.6
#5  0x00007f1d33b4bc45 in _XFlush () from /usr/lib/libX11.so.6
#6  0x00007f1d345f71cc in XRenderComposite () from /usr/lib/libXrender.so.1
#7  0x00007f1d35e10199 in QX11PaintEngine::drawTiledPixmap (this=<value optimized out>, r=<value optimized out>, pixmap=<value optimized out>, p=<value optimized out>)
    at painting/qpaintengine_x11.cpp:2156
#8  0x00007f1d35d6dcc4 in QPainter::drawTiledPixmap (this=0x7fff0d872ac0, r=..., pixmap=..., sp=...) at painting/qpainter.cpp:6455
#9  0x00007f1d2da230ff in QPainter::drawTiledPixmap (this=0xc15980, r=<value optimized out>, p=<value optimized out>, t=<value optimized out>) at /usr/include/qt4/QtGui/qpainter.h:801
#10 TileSet::render (this=0xc15980, r=<value optimized out>, p=<value optimized out>, t=<value optimized out>) at ../../../kstyles/oxygen/lib/tileset.cpp:143
#11 0x00007f1d2da590f4 in OxygenStyle::renderHole (this=0x9d3b20, p=0x7fff0d872ac0, base=..., r=..., focus=<value optimized out>, hover=<value optimized out>, opacity=<value optimized out>, 
    animationMode=Oxygen::AnimationFocus, tiles=) at ../../../kstyles/oxygen/oxygen.cpp:4216
#12 0x00007f1d2da5e974 in OxygenStyle::drawLineEditPrimitive (this=0x9d3b20, primitive=<value optimized out>, opt=<value optimized out>, r=..., pal=<value optimized out>, 
    flags=<value optimized out>, p=0x7fff0d872ac0, widget=0xccf710, kOpt=0x0) at ../../../kstyles/oxygen/oxygen.cpp:2831
#13 0x00007f1d2da5afc4 in OxygenStyle::drawKStylePrimitive (this=0x9d3b20, widgetType=<value optimized out>, primitive=<value optimized out>, opt=0x7fff0d8729a0, r=<value optimized out>, 
    palette=<value optimized out>, flags=) at ../../../kstyles/oxygen/oxygen.cpp:753
#14 0x00007f1d3692f719 in KStyle::drawPrimitive (this=0x9d3b20, elem=QStyle::PE_FrameLineEdit, option=0x7fff0d8729a0, painter=<value optimized out>, widget=0xccf710)
    at ../../kdeui/kernel/kstyle.cpp:1114
#15 0x00007f1d2da5b785 in OxygenStyle::drawPrimitive (this=0x9d3b20, element=QStyle::PE_Q3CheckListExclusiveIndicator, option=0x7fff0d8729a0, p=0x7fff0d872ac0, widget=0x0)
    at ../../../kstyles/oxygen/oxygen.cpp:479
#16 0x00007f1d2da5ea45 in OxygenStyle::drawLineEditPrimitive (this=0x9d3b20, primitive=<value optimized out>, opt=0x7fff0d8729a0, r=..., pal=<value optimized out>, flags=<value optimized out>, 
    p=0x7fff0d872ac0, widget=0xccf710, kOpt=0x0) at ../../../kstyles/oxygen/oxygen.cpp:2862
#17 0x00007f1d2da5afc4 in OxygenStyle::drawKStylePrimitive (this=0x9d3b20, widgetType=<value optimized out>, primitive=<value optimized out>, opt=0x7fff0d8729a0, r=<value optimized out>, 
    palette=<value optimized out>, flags=) at ../../../kstyles/oxygen/oxygen.cpp:753
#18 0x00007f1d3692f457 in KStyle::drawPrimitive (this=0x9d3b20, elem=QStyle::PE_PanelLineEdit, option=0x7fff0d8729a0, painter=<value optimized out>, widget=0xccf710)
    at ../../kdeui/kernel/kstyle.cpp:1108
#19 0x00007f1d2da5b785 in OxygenStyle::drawPrimitive (this=0x9d3b20, element=QStyle::PE_Q3CheckListExclusiveIndicator, option=0x7fff0d8729a0, p=0x7fff0d872ac0, widget=0x0)
    at ../../../kstyles/oxygen/oxygen.cpp:479
#20 0x00007f1d3601c8b4 in QLineEdit::paintEvent (this=0xccf710) at widgets/qlineedit.cpp:1854
#21 0x00007f1d369e8f20 in KLineEdit::paintEvent (this=0xccf710, ev=0x7fff0d873550) at ../../kdeui/widgets/klineedit.cpp:1676
#22 0x00007f1d35c64162 in QWidget::event (this=0xccf710, event=0x7fff0d873550) at kernel/qwidget.cpp:8144
#23 0x00007f1d36019ce3 in QLineEdit::event (this=0xccf710, e=0x7fff0d873550) at widgets/qlineedit.cpp:1474
#24 0x00007f1d369ecdca in KLineEdit::event (this=0xccf710, ev=0x7fff0d873550) at ../../kdeui/widgets/klineedit.cpp:1329
#25 0x00007f1d35c0e22c in QApplicationPrivate::notify_helper (this=0x93b500, receiver=0xccf710, e=0x7fff0d873550) at kernel/qapplication.cpp:4300
#26 0x00007f1d35c146fb in QApplication::notify (this=0x7fff0d876390, receiver=0xccf710, e=0x7fff0d873550) at kernel/qapplication.cpp:4183
#27 0x00007f1d36919526 in KApplication::notify (this=0x7fff0d876390, receiver=0xccf710, event=0x7fff0d873550) at ../../kdeui/kernel/kapplication.cpp:302
#28 0x00007f1d3529a06c in QCoreApplication::notifyInternal (this=0x7fff0d876390, receiver=0xccf710, event=0x7fff0d873550) at kernel/qcoreapplication.cpp:704
#29 0x00007f1d35c6c7dd in QCoreApplication::sendSpontaneousEvent (this=0xcd1eb0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0xaf1970) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#30 QWidgetPrivate::drawWidget (this=0xcd1eb0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0xaf1970)
    at kernel/qwidget.cpp:5339
#31 0x00007f1d35c6d478 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=1, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5452
#32 0x00007f1d35c6d2a9 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=4, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5439
#33 0x00007f1d35c6c53a in QWidgetPrivate::drawWidget (this=0xcc60e0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0xaf1970) at kernel/qwidget.cpp:5388
#34 0x00007f1d35c6d478 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=4, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5452
#35 0x00007f1d35c6d2a9 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=5, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5439
#36 0x00007f1d35c6d2a9 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=6, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5439
#37 0x00007f1d35c6c53a in QWidgetPrivate::drawWidget (this=0xcb64d0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0xaf1970) at kernel/qwidget.cpp:5388
#38 0x00007f1d35c6d478 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=2, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5452
#39 0x00007f1d35c6c53a in QWidgetPrivate::drawWidget (this=0xa85470, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0xaf1970) at kernel/qwidget.cpp:5388
#40 0x00007f1d35c6d478 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=0, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5452
#41 0x00007f1d35c6c53a in QWidgetPrivate::drawWidget (this=0xa85230, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0xaf1970) at kernel/qwidget.cpp:5388
#42 0x00007f1d35c6d478 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=9, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5452
#43 0x00007f1d35c6d2a9 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=18, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0xaf1970) at kernel/qwidget.cpp:5439
#44 0x00007f1d35c6c53a in QWidgetPrivate::drawWidget (this=0xa40ef0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0xaf1970) at kernel/qwidget.cpp:5388
#45 0x00007f1d35e268c5 in QWidgetBackingStore::sync (this=0xaf1970) at painting/qbackingstore.cpp:1291
#46 0x00007f1d35c5db60 in QWidgetPrivate::syncBackingStore (this=0xa40ef0) at kernel/qwidget.cpp:1672
#47 0x00007f1d35c64865 in QWidget::event (this=0xa40d10, event=0xf731e0) at kernel/qwidget.cpp:8291
#48 0x00007f1d36026cab in QMainWindow::event (this=0xa40d10, event=0xf731e0) at widgets/qmainwindow.cpp:1433
#49 0x00007f1d36a306f3 in KXmlGuiWindow::event (this=0x7fff0d870d80, ev=0x1) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:131
#50 0x00007f1d35c0e22c in QApplicationPrivate::notify_helper (this=0x93b500, receiver=0xa40d10, e=0xf731e0) at kernel/qapplication.cpp:4300
#51 0x00007f1d35c146fb in QApplication::notify (this=0x7fff0d876390, receiver=0xa40d10, e=0xf731e0) at kernel/qapplication.cpp:4183
#52 0x00007f1d36919526 in KApplication::notify (this=0x7fff0d876390, receiver=0xa40d10, event=0xf731e0) at ../../kdeui/kernel/kapplication.cpp:302
#53 0x00007f1d3529a06c in QCoreApplication::notifyInternal (this=0x7fff0d876390, receiver=0xa40d10, event=0xf731e0) at kernel/qcoreapplication.cpp:704
#54 0x00007f1d3529c7e7 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x923c30) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#55 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x923c30) at kernel/qcoreapplication.cpp:1345
#56 0x00007f1d352c39d3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#57 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#58 0x00007f1d30f628c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#59 0x00007f1d30f66748 in ?? () from /lib/libglib-2.0.so.0
#60 0x00007f1d30f668fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#61 0x00007f1d352c3513 in QEventDispatcherGlib::processEvents (this=0x923380, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#62 0x00007f1d35cbe46e in QGuiEventDispatcherGlib::processEvents (this=0x7fff0d870d80, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#63 0x00007f1d35298992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#64 0x00007f1d35298d6c in QEventLoop::exec (this=0x7fff0d8762d0, flags=) at kernel/qeventloop.cpp:201
#65 0x00007f1d3529caab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#66 0x00000000004277cb in main (argc=<value optimized out>, argv=<value optimized out>) at ../../krdc/main.cpp:103

Reported using DrKonqi
Comment 1 Urs Wolfer 2010-09-19 14:08:53 UTC
We have fixed some crashes in the VNC plugin recently. Can you still reproduce
this issue with a recent version of KRDC (from KDE SC 4.5 or later)?
Comment 2 qrstuv+kdebug 2010-09-29 19:06:31 UTC
Unfortunately, I do not have an environment available for KDE SC 4.5. I am currently using 4.4.2. When KDE is updated in my distribution's repo, I will surely test and submit results.
Comment 3 Urs Wolfer 2010-10-17 18:11:54 UTC
Closing as fixed since nobody can reproduce this crashes anymore with the fixes
from KRDC 4.5.