Bug 299049

Summary: Dolphing crashed when filtering items [ KItemListView::slotItemsRemoved ]
Product: [Applications] dolphin Reporter: Alex Fiestas <afiestas>
Component: generalAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash CC: 4ernov
Priority: NOR    
Version: 2.0.95   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Alex Fiestas 2012-04-29 17:53:41 UTC
Application: dolphin (2.0.95)
KDE Platform Version: 4.8.2 (4.8.2) (Compiled from sources)
Qt Version: 4.8.1
Operating System: Linux 3.3.4-1-ARCH x86_64

-- Information about the crash:
I was filtering items via Ctrl+it when it happens. I can reproduce this bug quite often and it only happens if I start filtering by the begining of the word, for example:

/content2
/content1
/xxxxfoo

If I open the filter and I type xxx it will crash, instead if I write foo it won't crash.

The crash can be reproduced some of the time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Aborted
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f7dfc214780 (LWP 7057))]

Thread 2 (Thread 0x7f7de7606700 (LWP 7058)):
#0  0x00007f7df661106f in poll () from /lib/libc.so.6
#1  0x00007f7df1a56734 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f7df1a56854 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f7df90421b6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f7df9012f8f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f7df9013218 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f7df8f176f0 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f7df8ff398f in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f7df8f1a68b in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f7df8c8ae0e in start_thread () from /lib/libpthread.so.0
#10 0x00007f7df66191ed in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7f7dfc214780 (LWP 7057)):
[KCrash Handler]
#6  0x00007f7df6569c35 in raise () from /lib/libc.so.6
#7  0x00007f7df656b0b8 in abort () from /lib/libc.so.6
#8  0x00007f7df8f10264 in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
#9  0x00007f7df8f10418 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f7df8f105a4 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#11 0x00007f7dfb8d5a17 in KItemListView::slotItemsRemoved (this=0x22e0910, itemRanges=...) at /home/afiestas/cod3s/cpp/kde/source/kde-baseapps/dolphin/src/kitemviews/kitemlistview.cpp:1079
#12 0x00007f7dfb8af289 in KFileItemListView::slotItemsRemoved (this=0x22e0910, itemRanges=...) at /home/afiestas/cod3s/cpp/kde/source/kde-baseapps/dolphin/src/kitemviews/kfileitemlistview.cpp:294
#13 0x00007f7df90293ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#14 0x00007f7dfb8dc7f5 in KItemModelBase::itemsRemoved (this=<optimized out>, _t1=...) at /home/afiestas/cod3s/cpp/kde/build/kde-baseapps/dolphin/src/kitemmodelbase.moc:127
#15 0x00007f7dfb8b7955 in KFileItemModel::removeItems (this=this@entry=0x22df9d0, items=...) at /home/afiestas/cod3s/cpp/kde/source/kde-baseapps/dolphin/src/kitemviews/kfileitemmodel.cpp:1044
#16 0x00007f7dfb8b94fa in KFileItemModel::setNameFilter (this=0x22df9d0, nameFilter=...) at /home/afiestas/cod3s/cpp/kde/source/kde-baseapps/dolphin/src/kitemviews/kfileitemmodel.cpp:520
#17 0x00007f7dfbdeb3ed in DolphinViewContainer::setNameFilter (this=0x21ec9c0, nameFilter=...) at /home/afiestas/cod3s/cpp/kde/source/kde-baseapps/dolphin/src/dolphinviewcontainer.cpp:470
#18 0x00007f7df90293ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#19 0x00007f7dfbdf0cf2 in FilterBar::filterChanged (this=<optimized out>, _t1=...) at /home/afiestas/cod3s/cpp/kde/build/kde-baseapps/dolphin/src/filterbar.moc:105
#20 0x00007f7df90293ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#21 0x00007f7df833a582 in QLineEdit::textChanged(QString const&) () from /usr/lib/libQtGui.so.4
#22 0x00007f7df833a809 in ?? () from /usr/lib/libQtGui.so.4
#23 0x00007f7df90293ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#24 0x00007f7df8598f25 in QLineControl::textChanged(QString const&) () from /usr/lib/libQtGui.so.4
#25 0x00007f7df833f060 in QLineControl::finishChange(int, bool, bool) () from /usr/lib/libQtGui.so.4
#26 0x00007f7df8341638 in QLineControl::processKeyEvent(QKeyEvent*) () from /usr/lib/libQtGui.so.4
#27 0x00007f7df83366d9 in QLineEdit::keyPressEvent(QKeyEvent*) () from /usr/lib/libQtGui.so.4
#28 0x00007f7df9d9085d in KLineEdit::keyPressEvent (this=0x2320060, e=0x7fff8e63e380) at /home/afiestas/cod3s/cpp/kde/source/kdelibs/kdeui/widgets/klineedit.cpp:970
#29 0x00007f7df7f808bb in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#30 0x00007f7df8338b87 in QLineEdit::event(QEvent*) () from /usr/lib/libQtGui.so.4
#31 0x00007f7df9d8fceb in KLineEdit::event (this=0x2320060, ev=0x7fff8e63e380) at /home/afiestas/cod3s/cpp/kde/source/kdelibs/kdeui/widgets/klineedit.cpp:1403
#32 0x00007f7df7f3106c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#33 0x00007f7df7f36114 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#34 0x00007f7df9cdec6e in KApplication::notify (this=0x7fff8e63f2b0, receiver=0x2320060, event=0x7fff8e63e380) at /home/afiestas/cod3s/cpp/kde/source/kdelibs/kdeui/kernel/kapplication.cpp:311
#35 0x00007f7df9013f8e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#36 0x00007f7df7fcd68a in ?? () from /usr/lib/libQtGui.so.4
#37 0x00007f7df7fcdac1 in ?? () from /usr/lib/libQtGui.so.4
#38 0x00007f7df7fab498 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#39 0x00007f7df7fd17b2 in ?? () from /usr/lib/libQtGui.so.4
#40 0x00007f7df1a5637c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0x00007f7df1a56798 in ?? () from /usr/lib/libglib-2.0.so.0
#42 0x00007f7df1a56854 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0x00007f7df9042196 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#44 0x00007f7df7fd142e in ?? () from /usr/lib/libQtGui.so.4
#45 0x00007f7df9012f8f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#46 0x00007f7df9013218 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#47 0x00007f7df9017bf8 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#48 0x00007f7dfbdf19ef in kdemain (argc=5, argv=0x7fff8e63f3e8) at /home/afiestas/cod3s/cpp/kde/source/kde-baseapps/dolphin/src/main.cpp:89
#49 0x00007f7df6556455 in __libc_start_main () from /lib/libc.so.6
#50 0x0000000000400851 in _start ()

Possible duplicates by query: bug 282340.

Reported using DrKonqi
Comment 1 Peter Penz 2012-04-29 19:25:30 UTC
Alex, do you probably have a directory where the crash is reproducible in a reliable way, that you can attach as zip-file to this report? Do you have the details-view enabled with sub-trees open when filtering? In the end I guess it should not be tricky to fix (the ASSERT gives already a hint whats going wrong), but I need to be able to reproduce it first and it looks like the way I'm doing the filtering never triggers this issue... :-/
Comment 2 Alex Fiestas 2012-04-29 22:01:14 UTC
It is an ftp folder, and I do the filtering action quite quickly after I see the first item,

Will check if I can spot any other pattern.
Comment 3 Alexey Chernov 2012-06-25 18:09:44 UTC
Created attachment 72134 [details]
New crash information added by DrKonqi

dolphin (2.0) on KDE Platform 4.8.2 (4.8.2) using Qt 4.8.1

- What I was doing when the application crashed:
Dolphin crashed when removing with Backspace filter phrase. It seems to try to find the proper result for every intermediate phrase which obviously changed quite fast (as I keep pushing Backspace).

-- Backtrace (Reduced):
#11 0x00007fdd18b49691 in KItemListView::slotItemsRemoved (this=0x1e83640, itemRanges=...) at /usr/src/packages/kde4/4.8.2/kde-baseapps-4.8.2/dolphin/src/kitemviews/kitemlistview.cpp:996
#12 0x00007fdd18b1a779 in KFileItemListView::slotItemsRemoved (this=0x781, itemRanges=...) at /usr/src/packages/kde4/4.8.2/kde-baseapps-4.8.2/dolphin/src/kitemviews/kfileitemlistview.cpp:423
[...]
#14 0x00007fdd18b55a65 in KItemModelBase::itemsRemoved (this=0x781, _t1=...) at /usr/src/packages/kde4/4.8.2/kde-baseapps-4.8.2/build/dolphin/src/kitemmodelbase.moc:127
#15 0x00007fdd18b29919 in KFileItemModel::removeItems (this=<optimized out>, items=...) at /usr/src/packages/kde4/4.8.2/kde-baseapps-4.8.2/dolphin/src/kitemviews/kfileitemmodel.cpp:1033
#16 0x00007fdd18b2b960 in KFileItemModel::setNameFilter (this=0x1e82d40, nameFilter=...) at /usr/src/packages/kde4/4.8.2/kde-baseapps-4.8.2/dolphin/src/kitemviews/kfileitemmodel.cpp:538
Comment 4 Jeroen van Meeuwen (Kolab Systems) 2012-08-24 16:18:34 UTC
Resetting assignee to default as per bug #305719
Comment 5 Alex Fiestas 2013-02-24 22:21:03 UTC
This bug was fixed iirc, should we close it?
Comment 6 Frank Reininghaus 2013-02-25 08:32:19 UTC
There were quite a few changes in that function, so it could be that it is fixed. Considering that we did not get any reports for Dolphin >= 2.1, this seems indeed likely. I would prefer if we knew what exactly triggered the crash in the first place, so we could add a unit test and prevent that it reappears at some point, but I guess we can really close it then. Thanks for your help.