Bug 394507 - Dolphin Crash Message Immediately after I close the Application
Summary: Dolphin Crash Message Immediately after I close the Application
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 18.04.1
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: drkonqi
: 393128 393136 393435 393500 393529 393652 393784 394998 395055 395064 395122 395128 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-05-21 07:38 UTC by JBlack
Modified: 2018-06-09 13:54 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In: 18.04.2
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description JBlack 2018-05-21 07:38:47 UTC
Application: dolphin (18.04.1)

Qt Version: 5.10.0
Frameworks Version: 5.46.0
Operating System: Linux 4.13.0-41-generic x86_64
Distribution: KDE neon User Edition 5.12

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

I opened dolphin, then closed it.   A few seconds later a crashed message popped up stating that "dolphin closed unexpectedly"  - This is seems to happen every time I close dolphin.  It doesn't hinder my day to day work but it certainly is annoying.

The crash can be reproduced every time.

-- 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 0x7f390a6168c0 (LWP 14778))]

Thread 4 (Thread 0x7f38e0a42700 (LWP 14783)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f38ea2bc48b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007f38ea2bc397 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007f38ff1926ba in start_thread (arg=0x7f38e0a42700) at pthread_create.c:333
#4  0x00007f3909f5241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f38e92c2700 (LWP 14782)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f38ea2bc48b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007f38ea2bc397 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007f38ff1926ba in start_thread (arg=0x7f38e92c2700) at pthread_create.c:333
#4  0x00007f3909f5241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f38ebfff700 (LWP 14781)):
#0  0x00007f3909f4227d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f38fce586f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f38fce14e74 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f38fce15330 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f38fce1549c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f39041155cb in QEventDispatcherGlib::processEvents (this=0x7f38e40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f39040bc64a in QEventLoop::exec (this=this@entry=0x7f38ebffecd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#7  0x00007f3903edc554 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:522
#8  0x00007f39045392c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f3903ee16eb in QThreadPrivate::start (arg=0x7f39047add60) at thread/qthread_unix.cpp:376
#10 0x00007f38ff1926ba in start_thread (arg=0x7f38ebfff700) at pthread_create.c:333
#11 0x00007f3909f5241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f390a6168c0 (LWP 14778)):
[KCrash Handler]
#6  QHashNode<QByteArray, QVariant>::same_key (key0=..., h0=753377471, this=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:158
#7  QHash<QByteArray, QVariant>::findNode (this=this@entry=0x2b391d0, akey=..., h=753377471) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:917
#8  0x00007f3909badd08 in QHash<QByteArray, QVariant>::findNode (ahp=0x0, akey=..., this=0x2b391d0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:936
#9  QHash<QByteArray, QVariant>::value (akey=..., this=0x2b391d0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:622
#10 KStandardItem::setDataValue (this=this@entry=0x2b391b0, role=..., value=...) at /workspace/build/src/kitemviews/kstandarditem.cpp:104
#11 0x00007f3909bae01a in KStandardItem::setIcon (this=0x2b391b0, icon=...) at /workspace/build/src/kitemviews/kstandarditem.cpp:74
#12 0x00007f390a2856e6 in PlacesItem::<lambda(bool)>::operator() (isTrashEmpty=<optimized out>, __closure=<optimized out>) at /workspace/build/src/panels/places/placesitem.cpp:65
#13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, PlacesItem::setUrl(const QUrl&)::<lambda(bool)> >::call (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:130
#14 QtPrivate::Functor<PlacesItem::setUrl(const QUrl&)::<lambda(bool)>, 1>::call<QtPrivate::List<bool>, void> (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:240
#15 QtPrivate::QFunctorSlotObject<PlacesItem::setUrl(const QUrl&)::<lambda(bool)>, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:423
#16 0x00007f39040eb7b6 in QtPrivate::QSlotObjectBase::call (a=0x7ffdb6238960, r=0x7f390a4f45e0 <Trash::instance()::result>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378
#17 QMetaObject::activate (sender=0x7f390a4f45e0 <Trash::instance()::result>, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdb6238960) at kernel/qobject.cpp:3749
#18 0x00007f39040ebd97 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f390a4f09e0 <Trash::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdb6238960) at kernel/qobject.cpp:3628
#19 0x00007f390a2ad4ef in Trash::emptinessChanged (this=<optimized out>, _t1=_t1@entry=false) at /workspace/build/obj-x86_64-linux-gnu/src/moc_dolphintrash.cpp:127
#20 0x00007f390a27ab46 in Trash::<lambda()>::operator() (__closure=0x29ae240) at /workspace/build/src/trash/dolphintrash.cpp:41
#21 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Trash::Trash()::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:130
#22 QtPrivate::Functor<Trash::Trash()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:240
#23 QtPrivate::QFunctorSlotObject<Trash::Trash()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x29ae230, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:423
#24 0x00007f39040eb7b6 in QtPrivate::QSlotObjectBase::call (a=0x7ffdb6238a90, r=0x7f390a4f45e0 <Trash::instance()::result>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378
#25 QMetaObject::activate (sender=sender@entry=0x29a8350, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3749
#26 0x00007f39040ebd97 in QMetaObject::activate (sender=sender@entry=0x29a8350, m=m@entry=0x7f3908747700 <KCoreDirLister::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3628
#27 0x00007f39084cdc03 in KCoreDirLister::completed (this=this@entry=0x29a8350) at /workspace/build/obj-x86_64-linux-gnu/src/core/moc_kcoredirlister.cpp:415
#28 0x00007f39084debec in KCoreDirListerCache::slotResult (this=0x7f390874b1c0 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, j=<optimized out>) at /workspace/build/src/core/kcoredirlister.cpp:1350
#29 0x00007f39040eb7b6 in QtPrivate::QSlotObjectBase::call (a=0x7ffdb6238ce0, r=0x7f390874b1c0 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378
#30 QMetaObject::activate (sender=sender@entry=0x294df30, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffdb6238ce0) at kernel/qobject.cpp:3749
#31 0x00007f39040ebd97 in QMetaObject::activate (sender=sender@entry=0x294df30, m=m@entry=0x7f3905caa500 <KJob::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffdb6238ce0) at kernel/qobject.cpp:3628
#32 0x00007f3905a56ccc in KJob::result (this=this@entry=0x294df30, _t1=_t1@entry=0x294df30, _t2=...) at /workspace/build/obj-x86_64-linux-gnu/src/lib/moc_kjob.cpp:569
#33 0x00007f3905a577e1 in KJob::finishJob (this=this@entry=0x294df30, emitResult=emitResult@entry=true) at /workspace/build/src/lib/jobs/kjob.cpp:109
#34 0x00007f3905a577fa in KJob::emitResult (this=this@entry=0x294df30) at /workspace/build/src/lib/jobs/kjob.cpp:293
#35 0x00007f3908492775 in KIO::SimpleJob::slotFinished (this=this@entry=0x294df30) at /workspace/build/src/core/simplejob.cpp:232
#36 0x00007f390848a6fe in KIO::ListJob::slotFinished (this=0x294df30) at /workspace/build/src/core/listjob.cpp:247
#37 0x00007f39040eb7b6 in QtPrivate::QSlotObjectBase::call (a=0x7ffdb6238f60, r=0x294df30, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378
#38 QMetaObject::activate (sender=sender@entry=0x2c1cb60, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3749
#39 0x00007f39040ebd97 in QMetaObject::activate (sender=sender@entry=0x2c1cb60, m=m@entry=0x7f3908745700 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3628
#40 0x00007f3908468e83 in KIO::SlaveInterface::finished (this=this@entry=0x2c1cb60) at /workspace/build/obj-x86_64-linux-gnu/src/core/moc_slaveinterface.cpp:437
#41 0x00007f390846ae91 in KIO::SlaveInterface::dispatch (this=0x2c1cb60, _cmd=<optimized out>, rawdata=...) at /workspace/build/src/core/slaveinterface.cpp:160
#42 0x00007f3908469497 in KIO::SlaveInterface::dispatch (this=0x2c1cb60) at /workspace/build/src/core/slaveinterface.cpp:89
#43 0x00007f390846e551 in KIO::Slave::gotInput (this=0x2c1cb60) at /workspace/build/src/core/slave.cpp:406
#44 0x00007f39084ff6b5 in KIO::Slave::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /workspace/build/obj-x86_64-linux-gnu/src/core/moc_slave.cpp:89
#45 0x00007f39040eb489 in QMetaObject::activate (sender=0x2b6dfb0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3766
#46 0x00007f39040ec4c9 in QObject::event (this=0x2b6dfb0, e=<optimized out>) at kernel/qobject.cpp:1246
#47 0x00007f3905094acc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x2b6dfb0, e=0x2a01870) at kernel/qapplication.cpp:3732
#48 0x00007f390509c417 in QApplication::notify (this=0x7ffdb6239950, receiver=0x2b6dfb0, e=0x2a01870) at kernel/qapplication.cpp:3491
#49 0x00007f39040be3c8 in QCoreApplication::notifyInternal2 (receiver=0x2b6dfb0, event=event@entry=0x2a01870) at kernel/qcoreapplication.cpp:1044
#50 0x00007f39040c0fcb in QCoreApplication::sendEvent (event=0x2a01870, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#51 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x24ca0c0) at kernel/qcoreapplication.cpp:1719
#52 0x00007f39040c1438 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1573
#53 0x00007f3904115fa3 in postEventSourceDispatch (s=0x25e9b60) at kernel/qeventdispatcher_glib.cpp:276
#54 0x00007f38fce15197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007f38fce153f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007f38fce1549c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007f39041155af in QEventDispatcherGlib::processEvents (this=this@entry=0x255b750, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#58 0x00007f38f4e371a1 in QPAEventDispatcherGlib::processEvents (this=0x255b750, flags=...) at qeventdispatcher_glib.cpp:69
#59 0x00007f39040bc64a in QEventLoop::exec (this=this@entry=0x7ffdb6239810, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#60 0x00007f39040c5854 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1332
#61 0x00007f39048df83c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1687
#62 0x00007f3905094a25 in QApplication::exec () at kernel/qapplication.cpp:2917
#63 0x00007f390a25f15a in kdemain (argc=1, argv=<optimized out>) at /workspace/build/src/main.cpp:163
#64 0x00007f3909e6b830 in __libc_start_main (main=0x4006b0 <main(int, char**)>, argc=1, argv=0x7ffdb6239ad8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdb6239ac8) at ../csu/libc-start.c:291
#65 0x00000000004006e9 in _start ()

Possible duplicates by query: bug 393784, bug 393652, bug 393500, bug 393136, bug 393128.

Reported using DrKonqi
Comment 1 Elvis Angelaccio 2018-05-21 20:33:21 UTC

*** This bug has been marked as a duplicate of bug 393528 ***
Comment 2 Christoph Feck 2018-05-21 21:35:08 UTC
Elvis, this ticket is from Dolphin 18.04.1. If this is indeed a duplicate, then bug 393528 is not fixed.
Comment 3 Elvis Angelaccio 2018-05-26 13:42:18 UTC
Hmm, indeed. The stacktrace seems the same though, weird.
Comment 4 Elvis Angelaccio 2018-06-03 10:55:48 UTC
So, on master we have dolphinmainwindowtest crashing with the very same backtrace, so this indeed is not bug #393528.

The crash is caused by the lambda slot in PlacesItem::setUrl(). I'll push a patch that fixes the dolphinmainwindowtest crash and should hopefully also fix this crash.
Comment 5 Elvis Angelaccio 2018-06-03 11:19:36 UTC
Git commit 588abbf1b6994245d987c0d07c2b074cb76fc034 by Elvis Angelaccio.
Committed on 03/06/2018 at 11:08.
Pushed by elvisangelaccio into branch 'Applications/18.04'.

Fix crash in PlacesItem::setUrl()

Connections to lambda slots without context/receiver argument can lead
to crashes, because if the receiver is deleted Qt won't delete the connection
as it normally would when the receiver is specified.

This patch moves the slot from the lambda in PlacesItem (which is not a QObject)
to PlacesItemSignalHandler. This fixes the `dolphinmainwindowtest` crash
we currently have on master, and should also fix bug #394507 which has
the very same stacktrace.
FIXED-IN: 18.04.2

M  +1    -3    src/panels/places/placesitem.cpp
M  +7    -0    src/panels/places/placesitemsignalhandler.cpp
M  +2    -0    src/panels/places/placesitemsignalhandler.h

https://commits.kde.org/dolphin/588abbf1b6994245d987c0d07c2b074cb76fc034
Comment 6 Elvis Angelaccio 2018-06-03 11:34:08 UTC
*** Bug 393128 has been marked as a duplicate of this bug. ***
Comment 7 Elvis Angelaccio 2018-06-03 11:34:37 UTC
*** Bug 393136 has been marked as a duplicate of this bug. ***
Comment 8 Elvis Angelaccio 2018-06-03 11:35:01 UTC
*** Bug 393784 has been marked as a duplicate of this bug. ***
Comment 9 Elvis Angelaccio 2018-06-03 11:35:44 UTC
*** Bug 393500 has been marked as a duplicate of this bug. ***
Comment 10 Elvis Angelaccio 2018-06-03 11:36:20 UTC
*** Bug 393652 has been marked as a duplicate of this bug. ***
Comment 11 Elvis Angelaccio 2018-06-03 11:36:46 UTC
*** Bug 393435 has been marked as a duplicate of this bug. ***
Comment 12 Elvis Angelaccio 2018-06-03 11:37:05 UTC
*** Bug 393529 has been marked as a duplicate of this bug. ***
Comment 13 Elvis Angelaccio 2018-06-03 21:00:27 UTC
*** Bug 394998 has been marked as a duplicate of this bug. ***
Comment 14 Elvis Angelaccio 2018-06-05 20:40:52 UTC
*** Bug 395055 has been marked as a duplicate of this bug. ***
Comment 15 Elvis Angelaccio 2018-06-05 20:41:15 UTC
*** Bug 395064 has been marked as a duplicate of this bug. ***
Comment 16 Julian Steinmann 2018-06-08 15:38:49 UTC
*** Bug 395122 has been marked as a duplicate of this bug. ***
Comment 17 Elvis Angelaccio 2018-06-09 13:54:25 UTC
*** Bug 395128 has been marked as a duplicate of this bug. ***