Bug 349563

Summary: Dolphin frequently crashes when I right click on a file and Move to Wastebin.
Product: [Frameworks and Libraries] kio Reporter: AJB <andrew>
Component: generalAssignee: David Faure <faure>
Status: RESOLVED DUPLICATE    
Severity: crash CC: andreas.davour, frank78ac, SteliosSk
Priority: NOR    
Version: 4.14.1   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description AJB 2015-06-24 10:09:53 UTC
I attempted to report the bug using the KDE Crash handler, but something went wrong. The text saved from the crash handler is as below:

Application: dolphin (4.13.3)
KDE Platform Version: 4.13.3
Qt Version: 4.8.6
Operating System: Linux 3.13.0-55-generic x86_64
Distribution: Ubuntu 14.04.2 LTS

-- Information about the crash:
- What I was doing when the application crashed:

I selected a file in Dolphin and attempted to delete it by right click and "Move to Wastbin".

This started happening regularly (but not every time) following my update to the latest version of Ubuntu 14.04 around 5 days ago.

Sometimes (but mostly not) it will crash Plasma and the entire KDE desktop at the same time.

When I return to Dolphin I invariably find that the file HAS been moved to the wastebin as requested.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f191aed4800 (LWP 27403))]

Thread 4 (Thread 0x7f18fc05d700 (LWP 27421)):
#0  0x00007ffc1aa4f978 in ?? ()
#1  0x0000000000000002 in ?? ()
#2  0x00007f18f4003130 in ?? ()
#3  0x00007f18fc05cbe8 in ?? ()
#4  0x00007f18fc05cb80 in ?? ()
#5  0x000000007fffffff in ?? ()
#6  0x00007f19168106f0 in ?? () at kernel/qeventdispatcher_glib.cpp:223 from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f18fc05cbf0 in ?? ()
#8  0x00007f191a7bc92d in __GI___clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#9  0x00007f1916735ad7 in do_gettime (frac=0x7f18fc05cb30, sec=0x7f18fc05cb28) at tools/qelapsedtimer_unix.cpp:127
#10 qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#11 0x00007f1916811f05 in updateCurrentTime (this=0x7b) at kernel/qeventdispatcher_unix.cpp:354
#12 QTimerInfoList::timerWait (this=0x7b, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#13 0x00007f191681067c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f18fc05cbe4) at kernel/qeventdispatcher_glib.cpp:143
#14 0x00007f1916810725 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:176
#15 0x00007f191171068d in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f1911710f03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f19117110ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f19168107be in QEventDispatcherGlib::processEvents (this=0x7f18f40008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#19 0x00007f19167e20af in QEventLoop::processEvents (this=this@entry=0x7f18fc05cda0, flags=...) at kernel/qeventloop.cpp:149
#20 0x00007f19167e23a5 in QEventLoop::exec (this=this@entry=0x7f18fc05cda0, flags=...) at kernel/qeventloop.cpp:204
#21 0x00007f19166dec5f in QThread::exec (this=this@entry=0xe9a320) at thread/qthread.cpp:537
#22 0x00007f19167c3823 in QInotifyFileSystemWatcherEngine::run (this=0xe9a320) at io/qfilesystemwatcher_inotify.cpp:265
#23 0x00007f19166e132f in QThreadPrivate::start (arg=0xe9a320) at thread/qthread_unix.cpp:349
#24 0x00007f1911bf0182 in start_thread (arg=0x7f18fc05d700) at pthread_create.c:312
#25 0x00007f191a7ae47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f18fb6e9700 (LWP 27422)):
#0  0x00007f191170e467 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f191171062b in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1911710f03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f19117110ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f19168107be in QEventDispatcherGlib::processEvents (this=0x7f18ec0008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#5  0x00007f19167e20af in QEventLoop::processEvents (this=this@entry=0x7f18fb6e8de0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f19167e23a5 in QEventLoop::exec (this=this@entry=0x7f18fb6e8de0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f19166dec5f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:537
#8  0x00007f19166e132f in QThreadPrivate::start (arg=0xf742c0) at thread/qthread_unix.cpp:349
#9  0x00007f1911bf0182 in start_thread (arg=0x7f18fb6e9700) at pthread_create.c:312
#10 0x00007f191a7ae47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f18fa833700 (LWP 27423)):
#0  0x00007f191175297c in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f1911710557 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1911710f03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f19117110ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f19168107be in QEventDispatcherGlib::processEvents (this=0x7f18f00008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#5  0x00007f19167e20af in QEventLoop::processEvents (this=this@entry=0x7f18fa832da0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f19167e23a5 in QEventLoop::exec (this=this@entry=0x7f18fa832da0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f19166dec5f in QThread::exec (this=this@entry=0xf7c7c0) at thread/qthread.cpp:537
#8  0x00007f19167c3823 in QInotifyFileSystemWatcherEngine::run (this=0xf7c7c0) at io/qfilesystemwatcher_inotify.cpp:265
#9  0x00007f19166e132f in QThreadPrivate::start (arg=0xf7c7c0) at thread/qthread_unix.cpp:349
#10 0x00007f1911bf0182 in start_thread (arg=0x7f18fa833700) at pthread_create.c:312
#11 0x00007f191a7ae47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f191aed4800 (LWP 27403)):
[KCrash Handler]
#6  QList (l=..., this=0x7ffc1aa0ea30) at /usr/include/qt4/QtCore/qlist.h:122
#7  QForeachContainer (t=..., this=0x7ffc1aa0ea30) at /usr/include/qt4/QtCore/qglobal.h:2377
#8  KDirLister::Private::cachedItemsJobForUrl (this=0x20, url=...) at ../../kio/kio/kdirlister.cpp:281
#9  0x00007f191865e3e9 in KDirListerCache::updateDirectory (this=this@entry=0xdaaf60, _dir=...) at ../../kio/kio/kdirlister.cpp:694
#10 0x00007f191865f3fb in KDirListerCache::slotFilesAdded (this=0xdaaf60, dir=...) at ../../kio/kio/kdirlister.cpp:866
#11 0x00007f19167f787a in QMetaObject::activate (sender=0xda1980, m=m@entry=0x7f19189e1000 <OrgKdeKDirNotifyInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffc1aa0ed60) at kernel/qobject.cpp:3539
#12 0x00007f191866d345 in OrgKdeKDirNotifyInterface::FilesAdded (this=<optimized out>, _t1=...) at ./kdirnotify.moc:130
#13 0x00007f191866d479 in OrgKdeKDirNotifyInterface::qt_static_metacall (_o=_o@entry=0xda1980, _id=_id@entry=2, _a=_a@entry=0x7ffc1aa0ef20, _c=QMetaObject::InvokeMetaMethod) at ./kdirnotify.moc:63
#14 0x00007f191866d9a3 in qt_static_metacall (_a=0x7ffc1aa0ef20, _id=2, _c=QMetaObject::InvokeMetaMethod, _o=0xda1980) at ./kdirnotify.moc:105
#15 OrgKdeKDirNotifyInterface::qt_metacall (this=0xda1980, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7ffc1aa0ef20) at ./kdirnotify.moc:106
#16 0x00007f191640f1f6 in QDBusConnectionPrivate::deliverCall (this=0xbfa070, object=0xda1980, msg=..., metaTypes=..., slotIdx=7) at qdbusintegrator.cpp:951
#17 0x00007f19167fbc1e in QObject::event (this=0xda1980, e=<optimized out>) at kernel/qobject.cpp:1194
#18 0x00007f19171d5e2c in QApplicationPrivate::notify_helper (this=this@entry=0xb53030, receiver=receiver@entry=0xda1980, e=e@entry=0xddd110) at kernel/qapplication.cpp:4567
#19 0x00007f19171dc4a0 in QApplication::notify (this=this@entry=0x7ffc1aa0f6f0, receiver=receiver@entry=0xda1980, e=e@entry=0xddd110) at kernel/qapplication.cpp:4353
#20 0x00007f1917ee0d1a in KApplication::notify (this=0x7ffc1aa0f6f0, receiver=0xda1980, event=0xddd110) at ../../kdeui/kernel/kapplication.cpp:311
#21 0x00007f19167e34dd in QCoreApplication::notifyInternal (this=0x7ffc1aa0f6f0, receiver=receiver@entry=0xda1980, event=event@entry=0xddd110) at kernel/qcoreapplication.cpp:953
#22 0x00007f19167e6b3d in sendEvent (event=0xddd110, receiver=0xda1980) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xb12170) at kernel/qcoreapplication.cpp:1577
#24 0x00007f19167e6fe3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#25 0x00007f1916810f83 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#26 postEventSourceDispatch (s=0xb59520) at kernel/qeventdispatcher_glib.cpp:287
#27 0x00007f1911710e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f1911711048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f19117110ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f19168107a1 in QEventDispatcherGlib::processEvents (this=0xb13a50, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#31 0x00007f1917277be6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#32 0x00007f19167e20af in QEventLoop::processEvents (this=this@entry=0x7ffc1aa0f5c0, flags=...) at kernel/qeventloop.cpp:149
#33 0x00007f19167e23a5 in QEventLoop::exec (this=this@entry=0x7ffc1aa0f5c0, flags=...) at kernel/qeventloop.cpp:204
#34 0x00007f19167e7b79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#35 0x00007f191aac95e7 in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#36 0x00007f191a6d5ec5 in __libc_start_main (main=0x4006d0, argc=1, argv=0x7ffc1aa0f828, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc1aa0f818) at libc-start.c:287
#37 0x00000000004006fe in _start ()

Possible duplicates by query: bug 348094, bug 348065, bug 345902.


Reproducible: Sometimes

Steps to Reproduce:
Select a file, right click and select "Move to Wastebin".

It happens repeatedly, but not every single time. I have not managed to detect any pattern as to when it happens and when it does not.



Actual Results:  
File IS moved to wastebin, but then Dolphin crashes.

Expected Results:  
File is move to Wastebin and Dolphin just carries on.

Only started after last Ubuntu 14.04 update, which was on 20/6/2015
Comment 1 AJB 2015-06-24 10:46:48 UTC
I have some further experiments, and I think I have made it repeatable - at least on my system.

The crash only happens when I am deleting a file to an empty Waste bin - if there is something already in there, the crash does not happen.

So, in my system, the following steps are repeatable.

(1) Select the Wastebin in Dophin, right click on it and select "Empty the Wastebin".

(2) Go to any folder, right click on it and create a folder called "Crap to be Deleted".

(3) Right click on new, empty folder and select "Move to Wastebin"

[Dolphin will crash here. Every time]

When I restart Dolphin and look in the wastebin the "Crap to be Deleted" folder will be present.

If I then repeat steps (2) and (3) above, Dolphin will NOT crash. This is very repeatable.
Comment 2 Frank Reininghaus 2015-06-24 19:26:26 UTC
Thanks for the bug report and the instructions to reproduce. Unfortunately, I cannot reproduce the problem with your steps - I assume that some network shares are involved, like in bug 278431?

*** This bug has been marked as a duplicate of bug 278431 ***
Comment 3 AJB 2015-06-25 01:16:32 UTC
There are NO network shares involved. This is a Hard Disc directly mounted on the machine. 

This might be related, but I am now having several other problems with Wastebin,

It can't add files to it, because it says it is full (it is almost empty).

And I can empty it from Dolphin any more, if I put files in from elsewhere.

Dolphin is effectively becoming unusuable for me.
Comment 4 AJB 2015-06-25 01:24:09 UTC
THIS IS NOT A DUPLICATE AS NOTED 

THERE ARE NO SHARES INVOLVED - SAMBA OR OTHERWISE
Comment 5 AJB 2015-06-25 01:25:18 UTC
THIS IS NOT A DUPLICATE AS NOTED.

THERE ARE _NO_ network shares involved.
Comment 6 AJB 2015-06-25 01:26:22 UTC
(In reply to Frank Reininghaus from comment #2)
> Thanks for the bug report and the instructions to reproduce. Unfortunately,
> I cannot reproduce the problem with your steps - I assume that some network
> shares are involved, like in bug 278431?
> 
> *** This bug has been marked as a duplicate of bug 278431 ***

No. This is not a duplice. NO NETWORK SHARES INVOLVED. This is a local hard disc directly mounted.
Comment 7 AJB 2015-06-25 01:27:30 UTC
I am also getting exactly the same behaviour with Konqueror, but NOT with Nautilus.
Comment 8 Stelios 2015-06-25 14:30:11 UTC
Created attachment 93337 [details]
New crash information added by DrKonqi

dolphin (4.14.2) on KDE Platform 4.14.2 using Qt 4.8.6

- What I was doing when the application crashed: I selected some files in Dolphin. When I tried to move to the Wastebasket, the Dolphin crashed.
This problem occured some days after my last update (in KDE 4.13). I updated to KDE 4.14.2 but the problem persists.

-- Backtrace (Reduced):
#6  QList (l=..., this=0x7fff59b57d70) at /usr/include/qt4/QtCore/qlist.h:122
#7  QForeachContainer (t=..., this=0x7fff59b57d70) at /usr/include/qt4/QtCore/qglobal.h:2377
#8  KDirLister::Private::cachedItemsJobForUrl (this=0x7f0800000006, url=...) at ../../kio/kio/kdirlister.cpp:281
#9  0x00007f08dcf689b9 in KDirListerCache::updateDirectory (this=this@entry=0x24d8490, _dir=...) at ../../kio/kio/kdirlister.cpp:694
#10 0x00007f08dcf699cb in KDirListerCache::slotFilesAdded (this=0x24d8490, dir=...) at ../../kio/kio/kdirlister.cpp:866
Comment 9 Frank Reininghaus 2015-06-25 16:28:54 UTC
Ok, no network shares are involved, I got that :-)

It might still be due to the same bug in the code because the backtraces are equal, but I don't know that code well, so I'll just reassign to KIO.
Comment 10 AJB 2015-06-25 17:11:55 UTC
Frank: Thanks for that.

I was poking around late yesterday and I half noticed something which might help make that connection.

My system consists of an SSD drive (as root) a Hard Drive (where "home" lives) and two other Hard Internal Drives, Both mounted, at boot time, directly under /

The two "other" directories each had their own hidden Trash Folder in addition to the one found in my personal Home directory, that does seem to be used to as the Wastebin for files deleted from each respective drive. There might be similarities between this and how network shares are managed for this purpose.

Experimenting, I have notice some inconsistencies in how these are managed, including significant differences to how they are treated by Nautilus.

I've not got to the point where I am clear enough to write this up yet, but I will keep on experimenting and will write it up when I have it clear enough.

I particular I note that the "metadata" file associated with each of these hidden trash folders is NOT been managed correctly or consistently. This is why it started to become impossible for me to delete to trash. I've reset these now and I can delete files to trash again, but it hasn't fixed the original problem. I note this is an established bug that has been known about for some considerable time. I have a hunch there might be some kind of a connection, based on a couple of things I saw, but I don't have it repeatable yet so cannot be sure.

I will keep updating this bug report as  I poke around.
Comment 11 andreas.davour 2015-07-11 20:32:54 UTC
Created attachment 93568 [details]
New crash information added by DrKonqi

kded4 (4.14.9) on KDE Platform 4.14.9 using Qt 4.8.6

- What I was doing when the application crashed:

I had selected a file, and pressed Delete and then Dolphin crashed. This has happened repeatedly.

-- Backtrace (Reduced):
#7  QList (l=..., this=0x7ffd6ed08af0) at /usr/include/QtCore/qlist.h:122
#8  QForeachContainer (t=..., this=0x7ffd6ed08af0) at /usr/include/QtCore/qglobal.h:2375
#9  KDirLister::Private::cachedItemsJobForUrl (this=0x17dc8d0, url=...) at /usr/src/debug/kdelibs-4.14.9/kio/kio/kdirlister.cpp:281
#10 0x00007fe82d66c141 in KDirListerCache::updateDirectory (this=this@entry=0x12a2360, _dir=...) at /usr/src/debug/kdelibs-4.14.9/kio/kio/kdirlister.cpp:694
#11 0x00007fe82d66cefb in KDirListerCache::slotFilesAdded (this=0x12a2360, dir=...) at /usr/src/debug/kdelibs-4.14.9/kio/kio/kdirlister.cpp:866
Comment 12 andreas.davour 2015-07-15 18:36:25 UTC
Created attachment 93602 [details]
New crash information added by DrKonqi

dolphin (15.04.0) on KDE Platform 4.14.9 using Qt 4.8.6

- What I was doing when the application crashed:

Select a file, press Delete and it crashes, every time. :(

-- Backtrace (Reduced):
#6  0x00007fe82d666eaf in KDirLister::Private::cachedItemsJobForUrl (this=<optimized out>, url=...) at /usr/src/debug/kdelibs-4.14.9/kio/kio/kdirlister.cpp:281
#7  0x00007fe82d66c141 in KDirListerCache::updateDirectory (this=this@entry=0x134a2c0, _dir=...) at /usr/src/debug/kdelibs-4.14.9/kio/kio/kdirlister.cpp:694
#8  0x00007fe82d66cefb in KDirListerCache::slotFilesAdded (this=0x134a2c0, dir=...) at /usr/src/debug/kdelibs-4.14.9/kio/kio/kdirlister.cpp:866
[...]
#10 0x00007fe82d680c85 in OrgKdeKDirNotifyInterface::FilesAdded (this=<optimized out>, _t1=...) at /usr/src/debug/kdelibs-4.14.9/x86_64-redhat-linux-gnu/kio/kdirnotify.moc:130
#11 0x00007fe82d680e49 in OrgKdeKDirNotifyInterface::qt_static_metacall (_o=_o@entry=0x1348db0, _id=_id@entry=2, _a=_a@entry=0x7ffd6ed08ce0, _c=QMetaObject::InvokeMetaMethod) at /usr/src/debug/kdelibs-4.14.9/x86_64-redhat-linux-gnu/kio/kdirnotify.moc:63
Comment 13 Christoph Feck 2015-07-28 13:26:31 UTC
It is the same crash, which can happen both on local and remote files. It does not make sense to keep two tickets with identical backtraces open.

*** This bug has been marked as a duplicate of bug 278431 ***