Bug 255731 - krdc crashes after closing tabs
Summary: krdc crashes after closing tabs
Status: RESOLVED FIXED
Alias: None
Product: krdc
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-31 11:27 UTC by hjb
Modified: 2010-12-18 18:19 UTC (History)
1 user (show)

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 hjb 2010-10-31 11:27:02 UTC
Version:           unspecified (using KDE 4.4.5) 
OS:                Linux

I had a single VNC connection open, with the connection in the first tab, and "New connection" in the second tab. I opened and closed several tabs. The last two I closed was tab 2 "New connection", then tab 1. Then krdc crashed reproducibly.

Stack trace:

(gdb) bt
#0  _wordcopy_fwd_aligned (dstp=13910000, srcp=13910016, len=2305843009213137296)
    at wordcopy.c:97
#1  0x00007ffff4206312 in *__GI_memmove (dest=0x904c80, src=<value optimized out>, 
    len=18446744073709551608) at memmove.c:73
#2  0x00007ffff48a4bbd in QListData::remove (this=0x6e5f18, i=<value optimized out>)
    at tools/qlist.cpp:284
#3  0x0000000000427efd in _start ()
(gdb) info threads
* 1 Thread 0x7ffff7fb6760 (LWP 9715)  _wordcopy_fwd_aligned (dstp=13910000, srcp=13910016, 
    len=2305843009213137296) at wordcopy.c:97


Reproducible: Always

Steps to Reproduce:
Make a VNC connection. Then klick on "new connection". Now there are 2 tabs. In the "new connection" tab double click on the connection already opened. Then close tab 2, then tab 1.
Comment 1 Urs Wolfer 2010-10-31 13:51:50 UTC
Please see:
techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports

Anyway, this bug is most probably fixed in KRDC from KDE SC 4.5. Please try to reproduce this crash there.
Comment 2 hjb 2010-11-04 22:53:47 UTC
Tested with Fedora 14. The bug is not fixed. Additionally, with similar actions I could provoke another crash:

krdc: malloc.c:3574: mremap_chunk: Assertion `((size + offset) & (mp_.pagesize-1)) == 0' failed.

While trying to reproduce this (no luck yet) I encountered a complete hang:

(gdb) bt
#0  0x00007ffff3d9e1ac in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x00007ffff3d994a4 in _L_lock_997 () from /lib64/libpthread.so.0
#2  0x00007ffff3d992ba in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00007ffff401e643 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007ffff401b205 in QMutex::lock() () from /usr/lib64/libQtCore.so.4
#5  0x00007ffff401fcfe in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib64/libQtCore.so.4
#6  0x00007ffff401ee00 in QThread::wait(unsigned long) ()
   from /usr/lib64/libQtCore.so.4
#7  0x00007fffdd568cf5 in ?? () from /usr/lib64/kde4/krdc_vncplugin.so
#8  0x00007fffdd56d44b in ?? () from /usr/lib64/kde4/krdc_vncplugin.so
#9  0x00007fffdd56d479 in ?? () from /usr/lib64/kde4/krdc_vncplugin.so
#10 0x00007ffff411b224 in QObjectPrivate::deleteChildren() ()
   from /usr/lib64/libQtCore.so.4
#11 0x00007ffff4fc5480 in QWidget::~QWidget() () from /usr/lib64/libQtGui.so.4
#12 0x00007ffff4fc5739 in QWidget::~QWidget() () from /usr/lib64/libQtGui.so.4
#13 0x00007ffff411b224 in QObjectPrivate::deleteChildren() ()
   from /usr/lib64/libQtCore.so.4
#14 0x00007ffff4fc5480 in QWidget::~QWidget() () from /usr/lib64/libQtGui.so.4
#15 0x0000000000429488 in _start ()

To reproduce this it sufficed to create two VNC connections, then click on the tab of the first, then the tab of the second and then the close button of the second.
Comment 3 Urs Wolfer 2010-11-07 15:13:20 UTC
What version of KRDC does Fedora 14 ship?
Comment 4 hjb 2010-11-07 15:43:40 UTC
Version 4.5.2
Comment 5 Urs Wolfer 2010-11-08 22:19:38 UTC
Please install KDE debug symbols and post a complete trace; see:
http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Comment 6 Dario Andres 2010-12-12 19:51:13 UTC
[Comment from a bug triager]
Waiting for a backtrace. Thanks
Comment 7 Tony Murray 2010-12-18 18:18:03 UTC
SVN commit 1207583 by murrant:

Check if the widget being closed is the new connection page, instead of the current widget.
BUG: 255731


 M  +1 -1      mainwindow.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1207583
Comment 8 Tony Murray 2010-12-18 18:19:03 UTC
SVN commit 1207584 by murrant:

Backport r1207583 by murrant from trunk to the 4.5 branch:

Check if the widget being closed is the new connection page, instead of the current widget.
CCBUG: 255731



 M  +1 -1      mainwindow.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1207584