Bug 229295 - Crash When I use the Disconnect Button!
Summary: Crash When I use the Disconnect Button!
Status: RESOLVED FIXED
Alias: None
Product: krdc
Classification: Applications
Component: VNC (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords:
Depends on: 185464
Blocks:
  Show dependency treegraph
 
Reported: 2010-03-03 20:32 UTC by Lissandro Sosa
Modified: 2010-10-17 17:41 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (9.50 KB, text/plain)
2010-04-16 18:28 UTC, Lissandro Sosa
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lissandro Sosa 2010-03-03 20:32:24 UTC
Application: krdc (4.4.00 (KDE 4.4.0) "release 224")
KDE Platform Version: 4.4.00 (KDE 4.4.0) "release 224"
Qt Version: 4.6.2
Operating System: Linux 2.6.31.12-0.1-default x86_64
Distribution: "openSUSE 11.2 (x86_64)"

-- Information about the crash:
Using KRDC, I having three VNC Sessions and one RDP session,  in a VNC session I push the Disconnect Button and the app Crash, this is a full three stars Bug Reports!

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

Thread 3 (Thread 0x7f96a95aa910 (LWP 11964)):
#0  0x00007f96b6849049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f96b896572b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f96b8961690 in QSemaphore::acquire(int) () from /usr/lib64/libQtCore.so.4
#3  0x00007f96b8a6b910 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#4  0x00007f96aeac8f63 in HostPreferences::walletSupport() () from /usr/lib64/kde4/krdc_vncplugin.so
#5  0x00007f96aeac9bd8 in HostPreferences::walletSupport() () from /usr/lib64/kde4/krdc_vncplugin.so
#6  0x00007f96ae8b52d3 in HandleRFBServerMessage (client=0x13ffa60) at rfbproto.c:1506
#7  0x00007f96aeaca1f5 in HostPreferences::walletSupport() () from /usr/lib64/kde4/krdc_vncplugin.so
#8  0x00007f96b8964775 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007f96b684465d in start_thread () from /lib64/libpthread.so.0
#10 0x00007f96b8352e1d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f96a8928910 (LWP 12176)):
[KCrash Handler]
#5  0x00007f96ae8b2f3d in HandleZRLETile24 (client=0x1867280, buffer=0x7f96a363a017 "\177\360?\360_\360o\360w\360{\360}\360~\360\177p\177\260\177\320~", buffer_length=<value optimized out>, x=294, y=
    151, w=<value optimized out>, h=21) at zrle.c:313
#6  0x00007f96ae8b32ff in HandleZRLE24 (client=<value optimized out>, rx=294, ry=<value optimized out>, rw=12, rh=<value optimized out>) at zrle.c:201
#7  0x00007f96ae8b7838 in HandleRFBServerMessage (client=0x1867280) at rfbproto.c:1468
#8  0x00007f96aeaca1f5 in HostPreferences::walletSupport() () from /usr/lib64/kde4/krdc_vncplugin.so
#9  0x00007f96b8964775 in ?? () from /usr/lib64/libQtCore.so.4
#10 0x00007f96b684465d in start_thread () from /lib64/libpthread.so.0
#11 0x00007f96b8352e1d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f96bb8ae7f0 (LWP 770)):
#0  0x00007f96b8349d03 in poll () from /lib64/libc.so.6
#1  0x00007f96b288791a in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f96b2887e57 in ?? () from /usr/lib64/libxcb.so.1
#3  0x00007f96b2888115 in xcb_writev () from /usr/lib64/libxcb.so.1
#4  0x00007f96b733703a in _XSend () from /usr/lib64/libX11.so.6
#5  0x00007f96b7323703 in ?? () from /usr/lib64/libX11.so.6
#6  0x00007f96b7322a7b in ?? () from /usr/lib64/libX11.so.6
#7  0x00007f96b73238ae in XPutImage () from /usr/lib64/libX11.so.6
#8  0x00007f96b95b4176 in qt_x11_drawImage(QRect const&, QPoint const&, QImage const&, unsigned long, _XGC*, _XDisplay*, Visual*, int) () from /usr/lib64/libQtGui.so.4
#9  0x00007f96b95b6d9d in ?? () from /usr/lib64/libQtGui.so.4
#10 0x00007f96b9515855 in QPainter::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) () from /usr/lib64/libQtGui.so.4
#11 0x00007f96aeace8b9 in ?? () from /usr/lib64/kde4/krdc_vncplugin.so
#12 0x00007f96b940cd52 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#13 0x00007f96b93b6e1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#14 0x00007f96b93bd3fb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x00007f96ba04a446 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#16 0x00007f96b8a5898c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#17 0x00007f96b94153bd in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
#18 0x00007f96b9416058 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
#19 0x00007f96b941511a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
#20 0x00007f96b9416058 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
#21 0x00007f96b9415e89 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
#22 0x00007f96b9415e89 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
#23 0x00007f96b941511a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
#24 0x00007f96b9416058 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
#25 0x00007f96b941511a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
#26 0x00007f96b9416058 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
#27 0x00007f96b9415e89 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
#28 0x00007f96b941511a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
#29 0x00007f96b9416058 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
#30 0x00007f96b941511a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
#31 0x00007f96b95cd115 in ?? () from /usr/lib64/libQtGui.so.4
#32 0x00007f96b9406cc0 in QWidgetPrivate::syncBackingStore() () from /usr/lib64/libQtGui.so.4
#33 0x00007f96b940d455 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#34 0x00007f96b97ccd4b in QMainWindow::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#35 0x00007f96ba111a53 in KXmlGuiWindow::event(QEvent*) () from /usr/lib64/libkdeui.so.5
#36 0x00007f96b93b6e1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#37 0x00007f96b93bd3fb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#38 0x00007f96ba04a446 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#39 0x00007f96b8a5898c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#40 0x00007f96b8a5b107 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQtCore.so.4
#41 0x00007f96b8a82373 in ?? () from /usr/lib64/libQtCore.so.4
#42 0x00007f96b4bfbdee in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#43 0x00007f96b4bff7b8 in ?? () from /usr/lib64/libglib-2.0.so.0
#44 0x00007f96b4bff8e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#45 0x00007f96b8a81eb3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#46 0x00007f96b946551e in ?? () from /usr/lib64/libQtGui.so.4
#47 0x00007f96b8a572a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#48 0x00007f96b8a5767c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#49 0x00007f96b8a5b3cb in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#50 0x00000000004277cb in _start ()

Possible duplicates by query: bug 225192, bug 220688, bug 220522, bug 220453.

Reported using DrKonqi
Comment 1 Tomasz Chmielewski 2010-04-09 17:42:54 UTC
Lots of similar or identical reports: #226304, #227501, #229295, #231773, #233780, #209932, #220262, perhaps others when you search for "krdc" and then "crash".

For me, it's very trivial to reproduce - connect a few sessions (VNC, RDP), close the tab, connect to the same IP where you just closed the tab... Do it for a while, krdc will crash pretty fast.
Comment 2 Lissandro Sosa 2010-04-16 18:28:30 UTC
Created attachment 42825 [details]
New crash information added by DrKonqi

Again, i Push the disconnect Button and the apps Crash

I make a Upgrade of KDE4, I installed all debug Symbols I need, now Im Attaching a Full Report
Comment 3 Tony Murray 2010-05-26 18:37:10 UTC
SVN commit 1130864 by murrant:

Workaround for a common crash when disconnecting a VNC connection.

This is included in KDE SC 4.5 Beta 2.  Please test and confirm.  The patch can be found here: 
http://reviewboard.kde.org/r/4041/diff/raw/

REVIEW: 4041
CCBUG: 220262
CCBUG: 220456
CCBUG: 220688
CCBUG: 229295
CCBUG: 229944
CCBUG: 230478
CCBUG: 231773
CCBUG: 232762
CCBUG: 233780


 M  +15 -16    mainwindow.cpp  
 M  +3 -3      vnc/vncclientthread.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1130864
Comment 4 Urs Wolfer 2010-09-19 13:48:08 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 5 Urs Wolfer 2010-10-17 17:41:12 UTC
Closing as fixed since nobody can reproduce this crashes anymore with the fixes from KRDC 4.5.