Bug 158714

Summary: segfaults on completion in location field
Product: [Applications] dolphin Reporter: Marcus Better <marcus>
Component: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 16.12.2   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Marcus Better 2008-03-03 13:51:12 UTC
Version:           1.0.1 (using 4.0.1 (KDE 4.0.1), Debian packages)
Compiler:          cc
OS:                Linux (i686) release 2.6.24-lg

Dolphin sometimes crashes when typing a path in the location
field. The crash happens immediately after typing a forward slash and
seems to be related to completion. I could reproduce it about five
times.

Steps to reproduce:

1. Launch dolphin.
2. Click in the location bar.
3. Press Ctrl-A to select everything.
4. Type an absolute path like /usr/share/doc/ser/

It usually crashes after the fourth or fifth slash.

My feeling is that it is a race condition that is easiest to trigger
on directories with many files when the completion takes a while to
run, and that it gets harder to reproduce once the file system data is
buffered.

Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb62ea6c0 (LWP 19708)]
[New Thread 0xb40f9b90 (LWP 19727)]
[New Thread 0xb4c5db90 (LWP 19709)]
[KCrash handler]
#6  QMutex::lock (this=0x3c) at thread/qmutex.cpp:192
#7  0xb7e5a111 in QThreadPrivate::finish (arg=0x839e170)
    at ../../include/QtCore/../../src/corelib/thread/qmutex.h:107
#8  0xb7e59f09 in QThreadPrivate::start (arg=0x839e170)
    at thread/qthread_unix.cpp:181
#9  0xb698a4fb in start_thread () from /lib/i686/cmov/libpthread.so.0
#10 0xb6b6093e in clone () from /lib/i686/cmov/libc.so.6

Thread 1 (Thread 0xb62ea6c0 (LWP 19708)):
#0  0xb7fa4410 in __kernel_vsyscall ()
#1  0xb698eaa5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i686/cmov/libpthread.so.0
#2  0xb6b6d7bd in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i686/cmov/libc.so.6
#3  0xb7e5a7a4 in QWaitCondition::wait (this=0x80a9e28, mutex=0x80a9e14, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:267
#4  0xb7e59f9e in QThread::wait (this=0x80a9dc0, time=4294967295)
    at thread/qthread_unix.cpp:550
#5  0xb7ef361d in ~QProcessManager (this=0x80a9dc0)
    at io/qprocess_unix.cpp:259
#6  0xb7ef2196 in __tcf_0 ()
    at ../../include/QtCore/../../src/corelib/global/qglobal.h:1438
#7  0xb6ab7f14 in exit () from /lib/i686/cmov/libc.so.6
#8  0xb6f3d42b in qt_xio_errhandler () at kernel/qapplication_x11.cpp:556
#9  0xb7a7efc7 in KApplication::xioErrhandler (this=0xbfd034ec, dpy=0x80aed48)
    at /build/buildd/kde4libs-4.0.1/kdeui/kernel/kapplication.cpp:421
#10 0xb7a7f006 in kde_xio_errhandler (dpy=0x80aed48)
    at /build/buildd/kde4libs-4.0.1/kdeui/kernel/kapplication.cpp:129
#11 0xb674233d in _XIOError () from /usr/lib/libX11.so.6
#12 0xb67432fe in _XRead () from /usr/lib/libX11.so.6
#13 0xb6743d05 in _XReply () from /usr/lib/libX11.so.6
#14 0xb67263b9 in XGrabPointer () from /usr/lib/libX11.so.6
#15 0xb6f40cd2 in QApplicationPrivate::openPopup (this=0x80a5c30, 
    popup=0x821ef08) at kernel/qapplication_x11.cpp:3413
#16 0xb6f36d47 in QWidgetPrivate::show_helper (this=0x83bb1c8)
    at kernel/qwidget.cpp:5427
#17 0xb6f3a796 in QWidget::setVisible (this=0x821ef08, visible=true)
    at kernel/qwidget.cpp:5616
#18 0xb7b20948 in KCompletionBox::setVisible (this=0x821ef08, visible=true)
    at /build/buildd/kde4libs-4.0.1/kdeui/widgets/kcompletionbox.cpp:354
#19 0xb7b207fa in KCompletionBox::popup (this=0x821ef08)
    at /usr/include/qt4/QtGui/qwidget.h:461
#20 0xb7b3b5eb in KLineEdit::setCompletedItems (this=0x8170a30, 
    items=@0xbfd02444, autoSuggest=true)
    at /build/buildd/kde4libs-4.0.1/kdeui/widgets/klineedit.cpp:1442
#21 0xb7b3d3f4 in KLineEdit::makeCompletion (this=0x8170a30, text=@0xbfd02538)
    at /build/buildd/kde4libs-4.0.1/kdeui/widgets/klineedit.cpp:393
#22 0xb7b418d1 in KLineEdit::keyPressEvent (this=0x8170a30, e=0xbfd02c68)
    at /build/buildd/kde4libs-4.0.1/kdeui/widgets/klineedit.cpp:867
#23 0xb6f37ea4 in QWidget::event (this=0x8170a30, event=0xbfd02c68)
    at kernel/qwidget.cpp:6173
#24 0xb724404c in QLineEdit::event (this=0x8170a30, e=0xbfd02c68)
    at widgets/qlineedit.cpp:1580
#25 0xb7b4017f in KLineEdit::event (this=0x8170a30, ev=0xbfd02c68)
    at /build/buildd/kde4libs-4.0.1/kdeui/widgets/klineedit.cpp:1246
#26 0xb72071d5 in QComboBox::keyPressEvent (this=0x81740b0, e=0xbfd02c68)
    at widgets/qcombobox.cpp:2656
#27 0xb6f37ea4 in QWidget::event (this=0x81740b0, event=0xbfd02c68)
    at kernel/qwidget.cpp:6173
#28 0xb7206427 in QComboBox::event (this=0x81740b0, event=0xbfd02c68)
    at widgets/qcombobox.cpp:2473
#29 0xb6eee21d in QApplicationPrivate::notify_helper (this=0x80a5c30, 
    receiver=0x81740b0, e=0xbfd02c68) at kernel/qapplication.cpp:3556
#30 0xb6ef2786 in QApplication::notify (this=0xbfd034ec, receiver=0x81740b0, 
    e=0xbfd02c68) at kernel/qapplication.cpp:3169
#31 0xb7a7f6cd in KApplication::notify (this=0xbfd034ec, receiver=0x81740b0, 
    event=0xbfd02c68)
    at /build/buildd/kde4libs-4.0.1/kdeui/kernel/kapplication.cpp:314
#32 0xb7f0dffb in QCoreApplication::notifyInternal (this=0xbfd034ec, 
    receiver=0x81740b0, event=0xbfd02c68) at kernel/qcoreapplication.cpp:530
#33 0xb6f3f52e in qt_sendSpontaneousEvent (receiver=0x81740b0, 
    event=0xbfd02c68)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:203
#34 0xb6f6b0fb in QKeyMapper::sendKeyEvent (keyWidget=0x81740b0, grab=false, 
    type=QEvent::KeyPress, code=47, modifiers=@0xbfd02f24, text=@0xbfd02f58, 
    autorepeat=<value optimized out>, count=1, nativeScanCode=16, 
    nativeVirtualKey=47, nativeModifiers=1) at kernel/qkeymapper_x11.cpp:1599
#35 0xb6f6cefd in QKeyMapperPrivate::translateKeyEvent (this=0x80c6640, 
    keyWidget=0x81740b0, event=0xbfd0325c, grab=false)
    at kernel/qkeymapper_x11.cpp:1579
#36 0xb6f48f6b in QApplication::x11ProcessEvent (this=0xbfd034ec, 
    event=0xbfd0325c) at kernel/qapplication_x11.cpp:2933
#37 0xb6f6e2f6 in x11EventSourceDispatch (s=0x80a9ad8, callback=0, 
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:135
#38 0xb69cc2b6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#39 0xb69cf643 in ?? () from /usr/lib/libglib-2.0.so.0
#40 0x080a8718 in ?? ()
#41 0x00000000 in ?? ()
#0  0xb7fa4410 in __kernel_vsyscall ()
Comment 1 Peter Penz 2008-04-24 08:04:04 UTC
Does this issue still occur with KDE 4.0.3? I cannot reproduce it on trunk and KDE 4.0.3... Thanks!
Comment 2 Marcus Better 2008-04-24 09:56:23 UTC
I cannot reproduce it currently with r794641 (Debian dolphin 
4:4.0.68+svn794641-1).
Comment 3 Peter Penz 2008-04-24 10:01:24 UTC
Thanks for the confirmation, I've set it to FIXED :-)