Bug 220688 - Crash I closed a VNC Session and Plasma Crash Too [HandleZRLETile24, HandleZRLE24, HandleRFBServerMessage]
Summary: Crash I closed a VNC Session and Plasma Crash Too [HandleZRLETile24, HandleZR...
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:
Blocks:
 
Reported: 2009-12-30 14:57 UTC by Lissandro Sosa
Modified: 2010-10-17 18:02 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lissandro Sosa 2009-12-30 14:57:59 UTC
Application: krdc (4.3.85 (KDE 4.3.85 (KDE 4.4 Beta2)) "release 203")
KDE Platform Version: 4.3.85 (KDE 4.3.85 (KDE 4.4 Beta2)) "release 203"
Qt Version: 4.6.0
Operating System: Linux 2.6.31.5-0.1-default x86_64
Distribution: "openSUSE 11.2 (x86_64)"

-- Information about the crash:
I closed a vnc session in the app, I have 3 more vnc sessions opened, i close the last session I opened with the X button in the tab, and the apps crash, Plasma Crash too!!

I'm reporting the two Backtraces!!

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

Thread 3 (Thread 0x7fe4d016c910 (LWP 28697)):
#0  0x00007fe4dbbd0049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fe4ddcdc66b in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe4ddcd85a0 in QSemaphore::acquire (this=0x7fe4d016bb60, n=1) at thread/qsemaphore.cpp:142
#4  0x00007fe4ddde1428 in blocking_activate (argv=<value optimized out>, c=<value optimized out>, signal=<value optimized out>, sender=<value optimized out>) at kernel/qobject.cpp:3187
#5  QMetaObject::activate (argv=<value optimized out>, c=<value optimized out>, signal=<value optimized out>, sender=<value optimized out>) at kernel/qobject.cpp:3270
#6  0x00007fe4d4577f63 in VncClientThread::imageUpdated (this=0xef1aec, _t1=707, _t2=738, _t3=32, _t4=15669952) at /usr/src/debug/kdenetwork-4.3.85/build/krdc/vnc/moc_vncclientthread.cpp:106
#7  0x00007fe4d4578bd8 in emitUpdated (h=<value optimized out>, w=<value optimized out>, y=<value optimized out>, x=<value optimized out>, this=<value optimized out>)
    at /usr/src/debug/kdenetwork-4.3.85/krdc/vnc/vncclientthread.cpp:233
#8  VncClientThread::updatefb (h=<value optimized out>, w=<value optimized out>, y=<value optimized out>, x=<value optimized out>, this=<value optimized out>)
    at /usr/src/debug/kdenetwork-4.3.85/krdc/vnc/vncclientthread.cpp:95
#9  0x00007fe4d43642d3 in HandleRFBServerMessage (client=0x7fe4cf914010) at rfbproto.c:1506
#10 0x00007fe4d45791f5 in VncClientThread::run (this=0xbe8d30) at /usr/src/debug/kdenetwork-4.3.85/krdc/vnc/vncclientthread.cpp:292
#11 0x00007fe4ddcdb6b5 in QThreadPrivate::start (arg=0xbe8d30) at thread/qthread_unix.cpp:244
#12 0x00007fe4dbbcb65d in start_thread () from /lib64/libpthread.so.0
#13 0x00007fe4dd6ca14d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe4cda97910 (LWP 28802)):
[KCrash Handler]
#5  0x00007fe4d4361e32 in HandleZRLETile24 (client=0x7fe4cd23f010, buffer=0x7fe4cc879021 "\t\201\002", buffer_length=<value optimized out>, x=592, y=357, w=9, h=18) at zrle.c:399
#6  0x00007fe4d43622ff in HandleZRLE24 (client=<value optimized out>, rx=592, ry=<value optimized out>, rw=9, rh=<value optimized out>) at zrle.c:201
#7  0x00007fe4d4366838 in HandleRFBServerMessage (client=0x7fe4cd23f010) at rfbproto.c:1468
#8  0x00007fe4d45791f5 in VncClientThread::run (this=0xeafcd0) at /usr/src/debug/kdenetwork-4.3.85/krdc/vnc/vncclientthread.cpp:292
#9  0x00007fe4ddcdb6b5 in QThreadPrivate::start (arg=0xeafcd0) at thread/qthread_unix.cpp:244
#10 0x00007fe4dbbcb65d in start_thread () from /lib64/libpthread.so.0
#11 0x00007fe4dd6ca14d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe4e0c337f0 (LWP 28136)):
#0  0x00007fe4dd6c1033 in poll () from /lib64/libc.so.6
#1  0x00007fe4d7c1e91a in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007fe4d7c1ee57 in ?? () from /usr/lib64/libxcb.so.1
#3  0x00007fe4d7c1f115 in xcb_writev () from /usr/lib64/libxcb.so.1
#4  0x00007fe4dc6bd03a in _XSend () from /usr/lib64/libX11.so.6
#5  0x00007fe4dc6a9703 in ?? () from /usr/lib64/libX11.so.6
#6  0x00007fe4dc6a8a7b in ?? () from /usr/lib64/libX11.so.6
#7  0x00007fe4dc6a98ae in XPutImage () from /usr/lib64/libX11.so.6
#8  0x00007fe4de9313d6 in qt_x11_drawImage(const QRect &, const QPoint &, const QImage &, Drawable, GC, Display *, <anonymous struct> *, int) (rect=<value optimized out>, pos=..., 
    image=<value optimized out>, hd=<value optimized out>, gc=<value optimized out>, dpy=<value optimized out>, visual=0x6754c0, depth=24) at painting/qpaintengine_x11.cpp:1870
#9  0x00007fe4de933ffd in QX11PaintEngine::drawImage (this=<value optimized out>, r=<value optimized out>, image=..., sr=<value optimized out>, flags=<value optimized out>)
    at painting/qpaintengine_x11.cpp:1891
#10 0x00007fe4de893395 in QPainter::drawImage (this=<value optimized out>, targetRect=..., image=..., sourceRect=..., flags=) at painting/qpainter.cpp:5597
#11 0x00007fe4d457d8c9 in drawImage (image=<value optimized out>, r=<value optimized out>, this=<value optimized out>) at /usr/include/QtGui/qpainter.h:882
#12 VncView::paintEvent (image=<value optimized out>, r=<value optimized out>, this=<value optimized out>) at /usr/src/debug/kdenetwork-4.3.85/krdc/vnc/vncview.cpp:451
#13 0x00007fe4de78ce15 in QWidget::event (this=0xe4e160, event=0x7fffa9c7bb40) at kernel/qwidget.cpp:8120
#14 0x00007fe4de737bcc in QApplicationPrivate::notify_helper (this=0x652a80, receiver=0xe4e160, e=0x7fffa9c7bb40) at kernel/qapplication.cpp:4242
#15 0x00007fe4de73e1ed in QApplication::notify (this=0x7fffa9c7e720, receiver=0xe4e160, e=0x7fffa9c7bb40) at kernel/qapplication.cpp:4125
#16 0x00007fe4df41ba76 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#17 0x00007fe4dddce53c in QCoreApplication::notifyInternal (this=0x7fffa9c7e720, receiver=0xe4e160, event=0x7fffa9c7bb40) at kernel/qcoreapplication.cpp:704
#18 0x00007fe4de7953bd in sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:218
#19 QWidgetPrivate::drawWidget (event=<value optimized out>, receiver=<value optimized out>) at kernel/qwidget.cpp:5322
#20 0x00007fe4de796048 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=0x85e500) at kernel/qwidget.cpp:5435
#21 0x00007fe4de79511a in QWidgetPrivate::drawWidget (this=0xe92720, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=
    0x85e500) at kernel/qwidget.cpp:5371
#22 0x00007fe4de796048 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=0x85e500) at kernel/qwidget.cpp:5435
#23 0x00007fe4de795e79 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=0x85e500) at kernel/qwidget.cpp:5422
#24 0x00007fe4de795e79 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=0x85e500) at kernel/qwidget.cpp:5422
#25 0x00007fe4de79511a in QWidgetPrivate::drawWidget (this=0xe8aff0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=
    0x85e500) at kernel/qwidget.cpp:5371
#26 0x00007fe4de796048 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=0x85e500) at kernel/qwidget.cpp:5435
#27 0x00007fe4de79511a in QWidgetPrivate::drawWidget (this=0x7b13d0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=
    0x85e500) at kernel/qwidget.cpp:5371
#28 0x00007fe4de796048 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=0x85e500) at kernel/qwidget.cpp:5435
#29 0x00007fe4de795e79 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=0x85e500) at kernel/qwidget.cpp:5422
#30 0x00007fe4de79511a in QWidgetPrivate::drawWidget (this=0x7b1160, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=
    0x85e500) at kernel/qwidget.cpp:5371
#31 0x00007fe4de796048 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=0x85e500) at kernel/qwidget.cpp:5435
#32 0x00007fe4de79511a in QWidgetPrivate::drawWidget (this=0x762ed0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=
    0x85e500) at kernel/qwidget.cpp:5371
#33 0x00007fe4de94a4c5 in QWidgetBackingStore::sync (this=0x85e500) at painting/qbackingstore.cpp:1289
#34 0x00007fe4de786800 in QWidgetPrivate::syncBackingStore (this=0x762ed0) at kernel/qwidget.cpp:1662
#35 0x00007fe4de78d525 in QWidget::event (this=0x762ce0, event=0x8ff820) at kernel/qwidget.cpp:8266
#36 0x00007fe4deb49f6b in QMainWindow::event (this=0x762ce0, event=0x8ff820) at widgets/qmainwindow.cpp:1434
#37 0x00007fe4df532a83 in KXmlGuiWindow::event(QEvent*) () from /usr/lib64/libkdeui.so.5
#38 0x00007fe4de737bcc in QApplicationPrivate::notify_helper (this=0x652a80, receiver=0x762ce0, e=0x8ff820) at kernel/qapplication.cpp:4242
#39 0x00007fe4de73e1ed in QApplication::notify (this=0x7fffa9c7e720, receiver=0x762ce0, e=0x8ff820) at kernel/qapplication.cpp:4125
#40 0x00007fe4df41ba76 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#41 0x00007fe4dddce53c in QCoreApplication::notifyInternal (this=0x7fffa9c7e720, receiver=0x762ce0, event=0x8ff820) at kernel/qcoreapplication.cpp:704
#42 0x00007fe4dddd0cb7 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:215
#43 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:1345
#44 0x00007fe4dddf7fd3 in sendPostedEvents () at kernel/qcoreapplication.h:220
#45 postEventSourceDispatch () at kernel/qeventdispatcher_glib.cpp:276
#46 0x00007fe4d9f85dde in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#47 0x00007fe4d9f897a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#48 0x00007fe4d9f898d0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#49 0x00007fe4dddf7b13 in QEventDispatcherGlib::processEvents (this=0x63a060, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:407
#50 0x00007fe4de7e494e in QGuiEventDispatcherGlib::processEvents (this=0x7fffa9c7a940, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#51 0x00007fe4dddcce52 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#52 0x00007fe4dddcd22c in QEventLoop::exec (this=0x7fffa9c7e660, flags=) at kernel/qeventloop.cpp:201
#53 0x00007fe4dddd0f7b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#54 0x00000000004273ab in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdenetwork-4.3.85/krdc/main.cpp:103

Possible duplicates by query: bug 220522, bug 220453.

Reported using DrKonqi
Comment 1 Dario Andres 2009-12-30 17:12:53 UTC
This is probably related to bug 220453. Thanks
Comment 2 Tony Murray 2010-05-26 18:37:11 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 3 Urs Wolfer 2010-09-19 13:43:50 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 4 Urs Wolfer 2010-10-17 18:02:13 UTC
Closing as fixed since nobody can reproduce this crashes anymore with the fixes
from KRDC 4.5.