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
*** This bug has been marked as a duplicate of bug 393528 ***
Elvis, this ticket is from Dolphin 18.04.1. If this is indeed a duplicate, then bug 393528 is not fixed.
Hmm, indeed. The stacktrace seems the same though, weird.
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.
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
*** Bug 393128 has been marked as a duplicate of this bug. ***
*** Bug 393136 has been marked as a duplicate of this bug. ***
*** Bug 393784 has been marked as a duplicate of this bug. ***
*** Bug 393500 has been marked as a duplicate of this bug. ***
*** Bug 393652 has been marked as a duplicate of this bug. ***
*** Bug 393435 has been marked as a duplicate of this bug. ***
*** Bug 393529 has been marked as a duplicate of this bug. ***
*** Bug 394998 has been marked as a duplicate of this bug. ***
*** Bug 395055 has been marked as a duplicate of this bug. ***
*** Bug 395064 has been marked as a duplicate of this bug. ***
*** Bug 395122 has been marked as a duplicate of this bug. ***
*** Bug 395128 has been marked as a duplicate of this bug. ***