Bug 409607 - Dolphin crashes due to nested eventloops of the RenameDialog
Summary: Dolphin crashes due to nested eventloops of the RenameDialog
Status: RESOLVED DUPLICATE of bug 364039
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.45.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: David Faure
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2019-07-08 07:20 UTC by kb
Modified: 2021-03-21 05:31 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kb 2019-07-08 07:20:36 UTC
Application: dolphin (17.12.3)

Qt Version: 5.9.4
Frameworks Version: 5.45.0
Operating System: Linux 4.12.14-lp150.12.28-default x86_64
Distribution: "openSUSE Leap 15.0"

-- Information about the crash:
- What I was doing when the application crashed:
I had copied a folder to the clipboard and had pasted the folder into a different location that had a folder of the same name twice. I noticed that I had accidentally pasted it twice and went to the notifications icon in the panel and cancelled one of them. I then used the cancel button on the "Folder Already Exists" dialog to cancel the other transfer. This then crashed Dolphin.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f7aff4c0900 (LWP 11714))]

Thread 4 (Thread 0x7f7ad57d9700 (LWP 11719)):
#0  0x00007f7afed5007b in poll () from /lib64/libc.so.6
#1  0x00007f7af1e301c9 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f7af1e302dc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f7af8f51c0b in QEventDispatcherGlib::processEvents (this=0x7f7ad0000b10, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f7af8efa09a in QEventLoop::exec (this=this@entry=0x7f7ad57d8cd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f7af8d294da in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515
#6  0x00007f7af8d2e0ce in QThreadPrivate::start (arg=0x5564d1313bc0) at thread/qthread_unix.cpp:368
#7  0x00007f7af4272559 in start_thread () from /lib64/libpthread.so.0
#8  0x00007f7afed5a81f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f7ae5bd6700 (LWP 11718)):
#0  0x00007f7afed4bb68 in read () from /lib64/libc.so.6
#1  0x00007f7af1e74a90 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f7af1e2fcb7 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f7af1e30170 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f7af1e302dc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007f7af8f51c0b in QEventDispatcherGlib::processEvents (this=0x7f7ad8000b10, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f7af8efa09a in QEventLoop::exec (this=this@entry=0x7f7ae5bd5ca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#7  0x00007f7af8d294da in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515
#8  0x00007f7af93d1985 in ?? () from /usr/lib64/libQt5DBus.so.5
#9  0x00007f7af8d2e0ce in QThreadPrivate::start (arg=0x7f7af9641d60) at thread/qthread_unix.cpp:368
#10 0x00007f7af4272559 in start_thread () from /lib64/libpthread.so.0
#11 0x00007f7afed5a81f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f7ae832a700 (LWP 11716)):
#0  0x00007f7afed5007b in poll () from /lib64/libc.so.6
#1  0x00007f7af176e387 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f7af176ffba in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f7aeb0e2029 in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f7af8d2e0ce in QThreadPrivate::start (arg=0x5564d0e6c880) at thread/qthread_unix.cpp:368
#5  0x00007f7af4272559 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f7afed5a81f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f7aff4c0900 (LWP 11714)):
[KCrash Handler]
#6  QTimer::start (this=0xf, msec=msec@entry=200) at kernel/qtimer.cpp:226
#7  0x00007f7afd2761c1 in KIO::CopyJobPrivate::slotResultConflictCreatingDirs (this=this@entry=0x7f7ae0009830, job=job@entry=0x5564d16122d0) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/src/core/copyjob.cpp:1170
#8  0x00007f7afd278c6b in KIO::CopyJob::slotResult (this=0x5564d162eb30, job=0x5564d16122d0) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/src/core/copyjob.cpp:2135
#9  0x00007f7af8f2914c in QtPrivate::QSlotObjectBase::call (a=0x7ffcaf6ad3e0, r=0x5564d162eb30, this=0x5564d1636ce0) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
#10 QMetaObject::activate (sender=sender@entry=0x5564d16122d0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffcaf6ad3e0) at kernel/qobject.cpp:3749
#11 0x00007f7af8f29757 in QMetaObject::activate (sender=sender@entry=0x5564d16122d0, m=m@entry=0x7f7afaaf3500 <KJob::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffcaf6ad3e0) at kernel/qobject.cpp:3628
#12 0x00007f7afa89ec0c in KJob::result (this=this@entry=0x5564d16122d0, _t1=<optimized out>, _t1@entry=0x5564d16122d0, _t2=...) at /usr/src/debug/kcoreaddons-5.45.0-lp150.1.2.x86_64/build/src/lib/KF5CoreAddons_autogen/include/moc_kjob.cpp:569
#13 0x00007f7afa89f741 in KJob::finishJob (this=this@entry=0x5564d16122d0, emitResult=emitResult@entry=true) at /usr/src/debug/kcoreaddons-5.45.0-lp150.1.2.x86_64/src/lib/jobs/kjob.cpp:109
#14 0x00007f7afa8a15fa in KJob::emitResult (this=this@entry=0x5564d16122d0) at /usr/src/debug/kcoreaddons-5.45.0-lp150.1.2.x86_64/src/lib/jobs/kjob.cpp:293
#15 0x00007f7afd2c8c58 in KIO::SimpleJob::slotFinished (this=this@entry=0x5564d16122d0) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/src/core/simplejob.cpp:232
#16 0x00007f7afd2cc31b in KIO::StatJob::slotFinished (this=0x5564d16122d0) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/src/core/statjob.cpp:167
#17 0x00007f7af8f2914c in QtPrivate::QSlotObjectBase::call (a=0x7ffcaf6ad5f0, r=0x5564d16122d0, this=0x5564d1635690) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
#18 QMetaObject::activate (sender=sender@entry=0x5564d147edc0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3749
#19 0x00007f7af8f29757 in QMetaObject::activate (sender=sender@entry=0x5564d147edc0, m=m@entry=0x7f7afd579760 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3628
#20 0x00007f7afd29e873 in KIO::SlaveInterface::finished (this=this@entry=0x5564d147edc0) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/build/src/core/KF5KIOCore_autogen/include/moc_slaveinterface.cpp:437
#21 0x00007f7afd2a2864 in KIO::SlaveInterface::dispatch (this=0x5564d147edc0, _cmd=<optimized out>, rawdata=...) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/src/core/slaveinterface.cpp:160
#22 0x00007f7afd29eea7 in KIO::SlaveInterface::dispatch (this=0x5564d147edc0) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/src/core/slaveinterface.cpp:89
#23 0x00007f7afd2a43a1 in KIO::Slave::gotInput (this=0x5564d147edc0) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/src/core/slave.cpp:406
#24 0x00007f7af8f2904a in QMetaObject::activate (sender=0x5564d13ddad0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3766
#25 0x00007f7af8f29757 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f7afd5784c0 <KIO::Connection::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3628
#26 0x00007f7afd2482b9 in KIO::Connection::readyRead (this=<optimized out>) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/build/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:143
#27 KIO::ConnectionPrivate::dequeue (this=0x5564d147de60) at /usr/src/debug/kio-5.45.0-lp150.2.1.x86_64/src/core/connection.cpp:46
#28 0x00007f7af8f29a32 in QObject::event (this=0x5564d13ddad0, e=<optimized out>) at kernel/qobject.cpp:1246
#29 0x00007f7af9f13e8c in QApplicationPrivate::notify_helper (this=this@entry=0x5564d0e4d9d0, receiver=receiver@entry=0x5564d13ddad0, e=e@entry=0x5564d1611630) at kernel/qapplication.cpp:3723
#30 0x00007f7af9f1b244 in QApplication::notify (this=0x7ffcaf6adf00, receiver=0x5564d13ddad0, e=0x5564d1611630) at kernel/qapplication.cpp:3482
#31 0x00007f7af8efba88 in QCoreApplication::notifyInternal2 (receiver=0x5564d13ddad0, event=event@entry=0x5564d1611630) at kernel/qcoreapplication.cpp:1016
#32 0x00007f7af8efe075 in QCoreApplication::sendEvent (event=0x5564d1611630, receiver=<optimized out>) at kernel/qcoreapplication.h:233
#33 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x5564d0e32fc0) at kernel/qcoreapplication.cpp:1676
#34 0x00007f7af8efe5f8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1530
#35 0x00007f7af8f52573 in postEventSourceDispatch (s=0x5564d0eac610) at kernel/qeventdispatcher_glib.cpp:276
#36 0x00007f7af1e30017 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#37 0x00007f7af1e30250 in ?? () from /usr/lib64/libglib-2.0.so.0
#38 0x00007f7af1e302dc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#39 0x00007f7af8f51bef in QEventDispatcherGlib::processEvents (this=0x5564d0eb5a20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#40 0x00007f7af8efa09a in QEventLoop::exec (this=this@entry=0x7ffcaf6ade10, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#41 0x00007f7af8f029e4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1289
#42 0x00007f7aff062317 in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/dolphin-17.12.3-lp150.2.3.1.x86_64/src/main.cpp:150
#43 0x00007f7afec82f4a in __libc_start_main () from /lib64/libc.so.6
#44 0x00005564ceca57fa in _start () at ../sysdeps/x86_64/start.S:120
[Inferior 1 (process 11714) detached]

The reporter indicates this bug may be a duplicate of or related to bug 393526.

Possible duplicates by query: bug 393526.

Reported using DrKonqi
Comment 1 Kai Uwe Broulik 2019-07-08 07:55:13 UTC
askFileRename spawns an event loop and when it finishes the job might have been deleted under us. Naive fix:

QPointer<KJob> guard(q);
RenameDialog_Result r = q->uiDelegateExtension()->askFileRename(...);
if (!guard) {
    return;
}
Comment 2 Ahmad Samir 2019-09-18 22:02:04 UTC
#0  QObject::thread (this=this@entry=0x555555e02e20) at kernel/qobject.cpp:1433
#1  0x00007ffff5dbe33d in QObject::killTimer (this=this@entry=0x555555e02e20, id=1440507520) at kernel/qobject.cpp:1711
#2  0x00007ffff5dc7569 in QTimer::stop (this=this@entry=0x555555e02e20) at kernel/qtimer.cpp:241
#3  0x00007ffff5dc75df in QTimer::start (this=0x555555e02e20) at kernel/qtimer.cpp:209
#4  0x00007ffff75f0e9d in KIO::CopyJobPrivate::slotResultConflictCreatingDirs (this=0x555555df8760, job=0x555555def920)
    at /home/ahmad/rpmbuild/dev/kio/git/src/core/copyjob.cpp:1215
#5  0x00007ffff75f8212 in KIO::CopyJob::slotResult (this=0x555555dec520, job=0x555555def920)
    at /home/ahmad/rpmbuild/dev/kio/git/src/core/copyjob.cpp:2199
#6  0x00007ffff5dba638 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd020, r=0x555555dec520, this=0x555555dc66c0)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#7  QMetaObject::activate (sender=0x555555def920, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>)
    at kernel/qobject.cpp:3789
#8  0x00007ffff6e7c1dc in KJob::result (this=this@entry=0x555555def920, _t1=<optimized out>, _t1@entry=0x555555def920, _t2=...)
    at /usr/src/debug/kcoreaddons-5.62.0git.20190916T015939~7e73774-ku.7.1.x86_64/build/src/lib/KF5CoreAddons_autogen/include/moc_kjob.cpp:574
#9  0x00007ffff6e80c93 in KJob::finishJob (this=0x555555def920, emitResult=<optimized out>)
    at /usr/src/debug/kcoreaddons-5.62.0git.20190916T015939~7e73774-ku.7.1.x86_64/src/lib/jobs/kjob.cpp:107
#10 0x00007ffff763fc20 in KIO::SimpleJob::slotFinished (this=0x555555def920) at /home/ahmad/rpmbuild/dev/kio/git/src/core/simplejob.cpp:232
#11 0x00007ffff764394f in KIO::StatJob::slotFinished (this=0x555555def920) at /home/ahmad/rpmbuild/dev/kio/git/src/core/statjob.cpp:168
#12 0x00007ffff7642bbb in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KIO::SimpleJob::*)()>::call(void (KIO::SimpleJob::*)(), KIO::SimpleJob*, void**) (f=&virtual KIO::SimpleJob::slotFinished(), o=0x555555def920, arg=0x7fffffffd320)
    at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#13 0x00007ffff7642903 in QtPrivate::FunctionPointer<void (KIO::SimpleJob::*)()>::call<QtPrivate::List<>, void>(void (KIO::SimpleJob::*)(), KIO::SimpleJob*, void**) (f=&virtual KIO::SimpleJob::slotFinished(), o=0x555555def920, arg=0x7fffffffd320)
    at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#14 0x00007ffff764278e in QtPrivate::QSlotObject<void (KIO::SimpleJob::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555df2690, r=0x555555def920, a=0x7fffffffd320, ret=0x0)
    at /usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#15 0x00007ffff5dba638 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd320, r=0x555555def920, this=0x555555df2690)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#16 QMetaObject::activate (sender=0x555555c87460, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>)
    at kernel/qobject.cpp:3789
#17 0x00007ffff7621211 in KIO::SlaveInterface::finished (this=0x555555c87460)
    at /home/ahmad/rpmbuild/dev/kio/git/building-dir/src/core/KF5KIOCore_autogen/include/moc_slaveinterface.cpp:453
#18 0x00007ffff761ec2f in KIO::SlaveInterface::dispatch (this=0x555555c87460, _cmd=104, rawdata=...)
    at /home/ahmad/rpmbuild/dev/kio/git/src/core/slaveinterface.cpp:156
#19 0x00007ffff761e883 in KIO::SlaveInterface::dispatch (this=0x555555c87460)
    at /home/ahmad/rpmbuild/dev/kio/git/src/core/slaveinterface.cpp:85
#20 0x00007ffff7623bfc in KIO::Slave::gotInput (this=0x555555c87460) at /home/ahmad/rpmbuild/dev/kio/git/src/core/slave.cpp:406
--Type <RET> for more, q to quit, c to continue without paging--
#21 0x00007ffff7626fe4 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KIO::Slave::*)()>::call(void (KIO::Slave::*)(), KIO::Slave*, void**) (f=(void (KIO::Slave::*)(KIO::Slave * const)) 0x7ffff7623b96 <KIO::Slave::gotInput()>, o=0x555555c87460, 
    arg=0x7fffffffd6a0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#22 0x00007ffff7626eab in QtPrivate::FunctionPointer<void (KIO::Slave::*)()>::call<QtPrivate::List<>, void>(void (KIO::Slave::*)(), KIO::Slave*, void**) (f=(void (KIO::Slave::*)(KIO::Slave * const)) 0x7ffff7623b96 <KIO::Slave::gotInput()>, o=0x555555c87460, arg=0x7fffffffd6a0)
    at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#23 0x00007ffff7626b02 in QtPrivate::QSlotObject<void (KIO::Slave::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555c88650, r=0x555555c87460, a=0x7fffffffd6a0, ret=0x0)
    at /usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#24 0x00007ffff5dba638 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd6a0, r=0x555555c87460, this=0x555555c88650)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#25 QMetaObject::activate (sender=0x555555c87b40, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>)
    at kernel/qobject.cpp:3789
#26 0x00007ffff75bbeaf in KIO::Connection::readyRead (this=0x555555c87b40)
    at /home/ahmad/rpmbuild/dev/kio/git/building-dir/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:148
#27 0x00007ffff75baafc in KIO::ConnectionPrivate::dequeue (this=0x555555c87e50)
    at /home/ahmad/rpmbuild/dev/kio/git/src/core/connection.cpp:44
#28 0x00007ffff75bbcb2 in KIO::Connection::qt_static_metacall (_o=0x555555c87b40, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x555555d26fd0)
    at /home/ahmad/rpmbuild/dev/kio/git/building-dir/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:88
#29 0x00007ffff5dbaeea in QObject::event (this=0x555555c87b40, e=<optimized out>) at kernel/qobject.cpp:1260
#30 0x00007ffff688fc62 in QApplicationPrivate::notify_helper (this=this@entry=0x55555557ebe0, receiver=receiver@entry=0x555555c87b40, 
    e=e@entry=0x555555d234a0) at kernel/qapplication.cpp:3703
#31 0x00007ffff68991e0 in QApplication::notify (this=0x7fffffffde10, receiver=0x555555c87b40, e=0x555555d234a0)
    at kernel/qapplication.cpp:3449
#32 0x00007ffff5d8f572 in QCoreApplication::notifyInternal2 (receiver=0x555555c87b40, event=0x555555d234a0)
    at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143
#33 0x00007ffff5d92208 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555747c0)
    at kernel/qcoreapplication.cpp:1840
#34 0x00007ffff5de6343 in postEventSourceDispatch (s=0x5555556403a0) at kernel/qeventdispatcher_glib.cpp:277
#35 0x00007ffff3d156b3 in g_main_dispatch (context=0x7fffec004fd0) at ../glib/gmain.c:3189
#36 g_main_context_dispatch (context=context@entry=0x7fffec004fd0) at ../glib/gmain.c:3854
#37 0x00007ffff3d17460 in g_main_context_iterate (context=context@entry=0x7fffec004fd0, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=<optimized out>) at ../glib/gmain.c:3927
#38 0x00007ffff3d1749f in g_main_context_iteration (context=0x7fffec004fd0, may_block=may_block@entry=1) at ../glib/gmain.c:3988
#39 0x00007ffff5de5981 in QEventDispatcherGlib::processEvents (this=0x55555564fc70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#40 0x00007ffff5d8e0db in QEventLoop::exec (this=this@entry=0x7fffffffdd10, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#41 0x00007ffff5d95d42 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#42 0x00007ffff6252d5c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1788
--Type <RET> for more, q to quit, c to continue without paging--
#43 0x00007ffff688fbd5 in QApplication::exec () at kernel/qapplication.cpp:2859
#44 0x00007ffff7dad363 in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/dolphin-19.08.1-1.1.x86_64/src/main.cpp:166
#45 0x00007ffff7e0cbcb in __libc_start_main (main=0x555555555050 <main(int, char**)>, argc=1, argv=0x7fffffffdf78, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdf68) at ../csu/libc-start.c:308
#46 0x000055555555508a in _start () at ../sysdeps/x86_64/start.S:120
Comment 3 Ahmad Samir 2019-09-18 22:15:23 UTC
Steps to reproduce:
- Open dolpin, copy folder A to some destination twice and keep the asFileRename dialog open
- Repeat for folder B
- Now from the plasma widget cancel the job for folder A (order is important), the dialog is closed as expected
- Then cancel the job for folder B, from the widget or the dialog, doesn't matter, and dolphin seg faults

The crash seems to happen in NotificationManager::JobPrivate::kill()[1], it emits cancelRequested() and the copy job is finished and askFileRename is closed correctly, but KIO::JobUiDelegate::askFileRename doesn't return; only after you cancel the second dialog, askFileRename returns twice (for both jobs), so the first one doesn't return until the second returns (confirmed by throwing some debug lines in KIO::JobUiDelegate::askFileRename). 

[1]https://cgit.kde.org/plasma-workspace.git/tree/libnotificationmanager/job_p.cpp#n207
Comment 4 David Faure 2019-11-23 20:02:30 UTC
Clean solution described in https://phabricator.kde.org/T12193
Comment 5 Nate Graham 2021-02-16 16:02:42 UTC

*** This bug has been marked as a duplicate of bug 364039 ***
Comment 6 Méven Car 2021-03-21 05:31:18 UTC
https://invent.kde.org/frameworks/kio/-/merge_requests/375 should help prevent the situation where the can happen in the first place (rename dialog should be modal).