Bug 362899

Summary: dolphin crashed when I tried to delete file
Product: [Frameworks and Libraries] phonon-backend-vlc Reporter: RJ <ogldelphi>
Component: generalAssignee: Harald Sitter <sitter>
Status: RESOLVED DUPLICATE    
Severity: crash CC: bcooksley, elvis.angelaccio, fabo, igor.nataly.grinberg, jb, kde, kdebugs, myriam, nanohard, ogldelphi, OliPro007, piroxiline, s_chriscollins
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description RJ 2016-05-10 17:38:19 UTC
Application: dolphin (15.12.2)

Qt Version: 5.6.0
Frameworks Version: 5.21.0
Operating System: Linux 4.5.2-un-def-alt1 x86_64
Distribution: "ALT Linux Sisyphus (unstable)"

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

dolphin crashed when I tried to delete file. Just crashed. Yes.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
90	    lll_wait_tid (pd->tid);
[Current thread is 1 (Thread 0x7f8c3d14c8c0 (LWP 3015))]

Thread 7 (Thread 0x7f8c263dd700 (LWP 3018)):
#0  0x00007f8c3ca9268d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f8c2faf49c2 in poll (__timeout=-1, __nfds=1, __fds=0x7f8c263dcc00) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x630cf0, cond=cond@entry=0x630d30, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:459
#3  0x00007f8c2faf648f in xcb_wait_for_event (c=0x630cf0) at xcb_in.c:623
#4  0x00007f8c28302789 in QXcbEventReader::run (this=0x643800) at qxcbconnection.cpp:1313
#5  0x00007f8c36a5d1b9 in QThreadPrivate::start (arg=0x643800) at thread/qthread_unix.cpp:340
#6  0x00007f8c3272c434 in start_thread (arg=0x7f8c263dd700) at pthread_create.c:333
#7  0x00007f8c3ca9b79d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f8c1ffff700 (LWP 3019)):
#0  0x00007f8c31ba0954 in g_main_context_prepare (context=context@entry=0x7f8c18000990, priority=priority@entry=0x7f8c1fffebb8) at gmain.c:3453
#1  0x00007f8c31ba1163 in g_main_context_iterate (context=context@entry=0x7f8c18000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3820
#2  0x00007f8c31ba133c in g_main_context_iteration (context=0x7f8c18000990, may_block=may_block@entry=1) at gmain.c:3901
#3  0x00007f8c36c736cb in QEventDispatcherGlib::processEvents (this=0x7f8c180008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#4  0x00007f8c36c1f18a in QEventLoop::exec (this=this@entry=0x7f8c1fffece0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007f8c36a585bc in QThread::exec (this=this@entry=0x7f8c372f0d00 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:503
#6  0x00007f8c37081a45 in QDBusConnectionManager::run (this=0x7f8c372f0d00 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:181
#7  0x00007f8c36a5d1b9 in QThreadPrivate::start (arg=0x7f8c372f0d00 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:340
#8  0x00007f8c3272c434 in start_thread (arg=0x7f8c1ffff700) at pthread_create.c:333
#9  0x00007f8c3ca9b79d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f8c17fff700 (LWP 3020)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8c1d987653 in ?? () from /usr/lib64/X11/modules/dri/r600_dri.so
#2  0x00007f8c1d986e97 in ?? () from /usr/lib64/X11/modules/dri/r600_dri.so
#3  0x00007f8c3272c434 in start_thread (arg=0x7f8c17fff700) at pthread_create.c:333
#4  0x00007f8c3ca9b79d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f8c142f1700 (LWP 3021)):
#0  0x00007ffe5f5e8c49 in clock_gettime ()
#1  0x00007f8c3caa8406 in __GI___clock_gettime (clock_id=1, tp=tp@entry=0x7f8c142f0ab0) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007f8c36b045b6 in qt_clock_gettime (ts=0x7f8c142f0ab0, clock=<optimized out>) at tools/qelapsedtimer_unix.cpp:105
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:156
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:165
#5  0x00007f8c36c71389 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7f8c0c002cd0) at kernel/qtimerinfo_unix.cpp:84
#6  0x00007f8c36c718b5 in QTimerInfoList::timerWait (this=0x7f8c0c002cd0, tm=...) at kernel/qtimerinfo_unix.cpp:381
#7  0x00007f8c36c72c2e in timerSourcePrepareHelper (timeout=0x7f8c142f0b64, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:126
#8  timerSourcePrepare (source=<optimized out>, timeout=timeout@entry=0x7f8c142f0b64) at kernel/qeventdispatcher_glib.cpp:159
#9  0x00007f8c31ba085d in g_main_context_prepare (context=context@entry=0x7f8c0c000990, priority=priority@entry=0x7f8c142f0be8) at gmain.c:3442
#10 0x00007f8c31ba1163 in g_main_context_iterate (context=context@entry=0x7f8c0c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3820
#11 0x00007f8c31ba133c in g_main_context_iteration (context=0x7f8c0c000990, may_block=may_block@entry=1) at gmain.c:3901
#12 0x00007f8c36c736cb in QEventDispatcherGlib::processEvents (this=0x7f8c0c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#13 0x00007f8c36c1f18a in QEventLoop::exec (this=this@entry=0x7f8c142f0d10, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#14 0x00007f8c36a585bc in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#15 0x00007f8c36a5d1b9 in QThreadPrivate::start (arg=0xa162c0) at thread/qthread_unix.cpp:340
#16 0x00007f8c3272c434 in start_thread (arg=0x7f8c142f1700) at pthread_create.c:333
#17 0x00007f8c3ca9b79d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f8c10feb700 (LWP 3611)):
#0  0x00007f8c3ca9268d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f8c322f0bd1 in poll (__timeout=-1, __nfds=3, __fds=0x7f8c00003450) at /usr/include/bits/poll2.h:46
#2  poll_func (ufds=0x7f8c00003450, nfds=3, timeout=-1, userdata=0x10a72b0) at pulse/thread-mainloop.c:69
#3  0x00007f8c322e2801 in pa_mainloop_poll (m=m@entry=0x702e20) at pulse/mainloop.c:844
#4  0x00007f8c322e2e3e in pa_mainloop_iterate (m=0x702e20, block=<optimized out>, retval=0x0) at pulse/mainloop.c:926
#5  0x00007f8c322e2ef0 in pa_mainloop_run (m=0x702e20, retval=retval@entry=0x0) at pulse/mainloop.c:944
#6  0x00007f8c322f0b36 in thread (userdata=0x10b5d60) at pulse/thread-mainloop.c:100
#7  0x00007f8c2e811b08 in internal_thread_func (userdata=0x10a7a50) at pulsecore/thread-posix.c:81
#8  0x00007f8c3272c434 in start_thread (arg=0x7f8c10feb700) at pthread_create.c:333
#9  0x00007f8c3ca9b79d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f8c107ea700 (LWP 3612)):
[KCrash Handler]
#6  vorbis_info_clear (vi=0x0) at info.c:161
#7  0x00007f8c051b7564 in Ogg_CleanSpecificData (p_stream=0x7f8bf000d1c0) at demux/ogg.c:2202
#8  Ogg_LogicalStreamDelete (p_stream=0x7f8bf000d1c0, p_demux=0x7f8bf0009468, p_demux=0x7f8bf0009468) at demux/ogg.c:2224
#9  0x00007f8c051b760a in Ogg_EndOfStream (p_demux=p_demux@entry=0x7f8bf0009468) at demux/ogg.c:2169
#10 0x00007f8c051b7720 in Close (p_this=0x7f8bf0009468) at demux/ogg.c:263
#11 0x00007f8c11e7c042 in vlc_module_unload (module=<optimized out>, deinit=deinit@entry=0x7f8c11e7b560 <generic_stop>) at modules/modules.c:340
#12 0x00007f8c11e7c0be in module_unneed (obj=obj@entry=0x7f8bf0009468, module=<optimized out>) at modules/modules.c:373
#13 0x00007f8c11e323e2 in demux_Delete (p_demux=0x7f8bf0009468) at input/demux.c:211
#14 0x00007f8c11e40e56 in InputSourceClean (in=0x10e4228) at input/input.c:2512
#15 End (p_input=p_input@entry=0x10d5388) at input/input.c:1357
#16 0x00007f8c11e47bfd in Run (obj=0x10d5388) at input/input.c:526
#17 0x00007f8c3272c434 in start_thread (arg=0x7f8c107ea700) at pthread_create.c:333
#18 0x00007f8c3ca9b79d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f8c3d14c8c0 (LWP 3015)):
#0  0x00007f8c3272d69d in pthread_join (threadid=140239548884736, thread_return=thread_return@entry=0x0) at pthread_join.c:90
#1  0x00007f8c11e98795 in vlc_join (handle=<optimized out>, result=result@entry=0x0) at posix/thread.c:694
#2  0x00007f8c11e4591f in input_Join (p_input=p_input@entry=0x10d5388) at input/input.c:252
#3  input_Close (p_input=p_input@entry=0x10d5388) at input/input.c:267
#4  0x00007f8c11be473f in release_input_thread (b_input_abort=true, p_mi=0x10cffa8) at media_player.c:143
#5  libvlc_media_player_stop (p_mi=0x10cffa8) at media_player.c:906
#6  0x00007f8c1211e5bd in Phonon::VLC::MediaPlayer::stop (this=<optimized out>) at /usr/src/debug/qt5-phonon-backend-vlc-0.8.2/src/mediaplayer.cpp:140
#7  0x00007f8c12118f32 in Phonon::VLC::MediaObject::stop (this=0x10264e0) at /usr/src/debug/qt5-phonon-backend-vlc-0.8.2/src/mediaobject.cpp:143
#8  0x00007f8c3bf9bdd3 in NotifyByAudio::close (this=0xfd4ad0, notification=0xffb370) at ../../src/notifybyaudio.cpp:124
#9  0x00007f8c3bf7be26 in KNotificationManager::close (this=0x7f8c3c1b4150 <(anonymous namespace)::Q_QGS_s_self::innerFunction()::holder>, id=id@entry=0, force=force@entry=false) at ../../src/knotificationmanager.cpp:187
#10 0x00007f8c3bf7971d in KNotification::~KNotification (this=0xffb370, __in_chrg=<optimized out>) at ../../src/knotification.cpp:101
#11 0x00007f8c3bf79a19 in KNotification::~KNotification (this=0xffb370, __in_chrg=<optimized out>) at ../../src/knotification.cpp:104
#12 0x00007f8c36c4aa83 in QObjectPrivate::deleteChildren (this=this@entry=0xfb8270) at kernel/qobject.cpp:1963
#13 0x00007f8c37e04954 in QWidget::~QWidget (this=0x7b70c0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1672
#14 0x00007f8c37fab5a9 in QDialog::~QDialog (this=0x7b70c0, __in_chrg=<optimized out>) at dialogs/qdialog.cpp:350
#15 0x00007f8c398a0a0b in KMessageBox::createKMessageBox (dialog=dialog@entry=0x7b70c0, buttons=buttons@entry=0xc2bd60, icon=..., text=..., strlist=..., ask=..., checkboxReturn=0x7ffe5f5d8390, options=..., details=..., notifyType=QMessageBox::Warning) at ../../src/kmessagebox.cpp:398
#16 0x00007f8c398a143f in KMessageBox::createKMessageBox (dialog=dialog@entry=0x7b70c0, buttons=buttons@entry=0xc2bd60, icon=icon@entry=QMessageBox::Warning, text=..., strlist=..., ask=..., checkboxReturn=0x7ffe5f5d8390, options=..., details=...) at ../../src/kmessagebox.cpp:197
#17 0x00007f8c398a3274 in KMessageBox::warningContinueCancelListInternal (dialog=0x7b70c0, text=..., strlist=..., caption=..., buttonContinue_=..., buttonCancel_=..., dontAskAgainName=..., options=...) at ../../src/kmessagebox.cpp:681
#18 0x00007f8c398a353d in KMessageBox::warningContinueCancelList (parent=parent@entry=0x734990, text=..., strlist=..., caption=..., buttonContinue=..., buttonCancel=..., dontAskAgainName=..., options=...) at ../../src/kmessagebox.cpp:703
#19 0x00007f8c3b323ec5 in KIO::JobUiDelegate::askDeleteConfirmation (this=0x7ffe5f5d85b0, urls=..., deletionType=KIO::JobUiDelegateExtension::Delete, confirmationType=<optimized out>) at ../../../src/widgets/jobuidelegate.cpp:226
#20 0x00007f8c3c750e0a in DolphinView::deleteSelectedItems() () from /usr/lib64/libdolphinprivate.so.5
#21 0x00007f8c36c4c52e in call (a=0x7ffe5f5d8730, r=0x74fb00, this=<optimized out>) at ../../src/corelib/kernel/qobject_impl.h:124
#22 QMetaObject::activate (sender=sender@entry=0x7549d0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe5f5d8730) at kernel/qobject.cpp:3715
#23 0x00007f8c36c4cad7 in QMetaObject::activate (sender=sender@entry=0x7549d0, m=m@entry=0x7f8c38496ec0 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe5f5d8730) at kernel/qobject.cpp:3595
#24 0x00007f8c37dbe452 in QAction::triggered (this=this@entry=0x7549d0, _t1=false) at .moc/moc_qaction.cpp:369
#25 0x00007f8c37dc0d30 in QAction::activate (this=0x7549d0, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1163
#26 0x00007f8c37dc15ef in QAction::event (this=<optimized out>, e=<optimized out>) at kernel/qaction.cpp:1091
#27 0x00007f8c37dc6fcc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7549d0, e=0x7ffe5f5d89c0) at kernel/qapplication.cpp:3714
#28 0x00007f8c37dcbea6 in QApplication::notify (this=0x7ffe5f5d8f00, receiver=0x7549d0, e=0x7ffe5f5d89c0) at kernel/qapplication.cpp:3495
#29 0x00007f8c36c212a8 in QCoreApplication::notifyInternal2 (receiver=0x7549d0, event=event@entry=0x7ffe5f5d89c0) at kernel/qcoreapplication.cpp:1015
#30 0x00007f8c3762c548 in sendEvent (event=0x7ffe5f5d89c0, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:227
#31 QShortcutMap::dispatchEvent (this=this@entry=0x6214a8, e=e@entry=0x7ffe5f5d8a70) at kernel/qshortcutmap.cpp:668
#32 0x00007f8c3762c609 in QShortcutMap::tryShortcut (this=this@entry=0x6214a8, e=e@entry=0x7ffe5f5d8a70) at kernel/qshortcutmap.cpp:344
#33 0x00007f8c375e8272 in QWindowSystemInterface::handleShortcutEvent (window=<optimized out>, window@entry=0x85f850, timestamp=<optimized out>, keyCode=16777223, modifiers=..., nativeScanCode=119, nativeVirtualKey=65535, nativeModifiers=17, text=..., autorepeat=false, count=1) at kernel/qwindowsysteminterface.cpp:228
#34 0x00007f8c375ff18c in QGuiApplicationPrivate::processKeyEvent (e=0xc2b870) at kernel/qguiapplication.cpp:1966
#35 0x00007f8c37604015 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0xc2b870) at kernel/qguiapplication.cpp:1658
#36 0x00007f8c375e2aab in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:645
#37 0x00007f8c28333840 in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
#38 0x00007f8c31ba1067 in g_main_dispatch (context=0x7f8c200016f0) at gmain.c:3154
#39 g_main_context_dispatch (context=context@entry=0x7f8c200016f0) at gmain.c:3769
#40 0x00007f8c31ba1298 in g_main_context_iterate (context=context@entry=0x7f8c200016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
#41 0x00007f8c31ba133c in g_main_context_iteration (context=0x7f8c200016f0, may_block=may_block@entry=1) at gmain.c:3901
#42 0x00007f8c36c736af in QEventDispatcherGlib::processEvents (this=0x679550, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#43 0x00007f8c36c1f18a in QEventLoop::exec (this=this@entry=0x7ffe5f5d8dd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#44 0x00007f8c36c2749d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
#45 0x00007f8c3cdb36d4 in kdemain () from /usr/lib64/libkdeinit5_dolphin.so
#46 0x00007f8c3c9d5800 in __libc_start_main (main=0x400730 <main>, argc=2, argv=0x7ffe5f5d9078, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe5f5d9068) at ../csu/libc-start.c:289
#47 0x0000000000400769 in _start ()

Reported using DrKonqi
Comment 1 Janek Bevendorff 2016-05-25 13:41:15 UTC
I can confirm regular crashes when deleting files (Shift+Del).
Since Arch doesn't provide debug symbols, I can't provide a stack trace right now, but from the description I would guess that this is the same bug.

Here some observations:
- The crash mostly seems to occur when I have multiple tabs open.
- I usually delete multiple files at once
- Dolphin doesn't crash immediately, but freezes for about 2 seconds before actually crashing
- Move-to-trash is really, really slow (and I mean REALLY slow, like 5 seconds or more) while instant delete with Shift+Del is actually instant, but sometimes crashes Dolphin

The first two may be coincidence, the last one may be a different issue, but I maybe that information helps.
Comment 2 Janek Bevendorff 2016-05-25 13:47:24 UTC
The crash also occurs when renaming files sometimes. I'm in the process of renaming and moving a lot of files manually and I'm having a really hard time because Dolphin crashes every couple of minutes.
Comment 3 nanohard 2016-06-11 21:01:42 UTC
Same as 356801?
https://bugs.kde.org/show_bug.cgi?id=356801

I commented on that bug. Crashes when deleting a file or trying to empty trash.
Comment 4 nanohard 2016-06-13 17:33:14 UTC
Update: I've gotten this working now (Arch OS). I removed all phonon-qt*-vlc packages and installed phonon-qt*-gstreamer. I also installed vlc, which I thought was installed, but wasn't. Now neither dolphin nor systemsettings5 crashes on me.

Phonon uses qt4 instead of qt5, not sure why then that the package phonon-qt5 even exists alongside phonon-qt4. But removing those phonon-qt[4/5]-vlc packages and then installing phonon-qt[4/5]-gstreamer AND installing vlc was the answer for me. I'm not sure if only installing vlc may have solved this, but whatever.
Comment 5 OliPro007 2016-06-28 21:02:06 UTC
(In reply to nanohard from comment #4)
> Update: I've gotten this working now (Arch OS). I removed all phonon-qt*-vlc
> packages and installed phonon-qt*-gstreamer. I also installed vlc, which I
> thought was installed, but wasn't. Now neither dolphin nor systemsettings5
> crashes on me.
> 
> Phonon uses qt4 instead of qt5, not sure why then that the package
> phonon-qt5 even exists alongside phonon-qt4. But removing those
> phonon-qt[4/5]-vlc packages and then installing phonon-qt[4/5]-gstreamer AND
> installing vlc was the answer for me. I'm not sure if only installing vlc
> may have solved this, but whatever.

I had the same bug on Arch linux (Plasma 5.6.5, framework 5.23.0, Qt 5.7.0) and I tried to install vlc. As it was already installed, I let pacman reinstall it and the confirmation dialogs for "empty trash" and "delete" don't crash anymore. It seems to be linked only with vlc as I have phonon-qt*-vlc installed. The post-transaction hooks are:
        (1/4) Updating icon theme caches...
        (2/4) Updating manpage index...
        (3/4) Updating the desktop file MIME type cache...
        (4/4) Updating the vlc plugin cache...
so it could be a faulty cache that causes the crash...
Comment 6 kdebugs 2016-09-29 09:32:30 UTC
(In reply to nanohard from comment #4)

Replacing phonon-qt[4/5]-vlc packages with phonon-qt[4/5]-gstreamer worked for me.  Thanks!

> I'm not sure if only installing vlc may have solved this, but whatever.

For the record, vlc should have been installed, since it's a direct dependency of phonon-qt[4/5]-vlc.  It was for me, but dolphin was still always crashing with any delete attempt (Shift+Del), so that shouldn't be related.

(In reply to OliPro007 from comment #5)

Reinstalling vlc (with only vlc backends and not gstreamer backends installed) also worked for me.  Thanks!

system: Arch 64-bit, up-to-date, KDE Frameworks 5.26.0, Qt 5.7.0, Dolphin 16.08.1
phonon-qt[4/5]-vlc still at version 0.9.0-1 (built April 2016)
Comment 7 Elvis Angelaccio 2016-12-08 11:24:54 UTC
*** Bug 373394 has been marked as a duplicate of this bug. ***
Comment 8 Elvis Angelaccio 2016-12-08 11:28:18 UTC
*** Bug 369414 has been marked as a duplicate of this bug. ***
Comment 9 Harald Sitter 2018-02-18 07:56:47 UTC

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