Bug 401916 - Dolphin crashed when copying files to a mobile phone which is connected via kde-connect
Summary: Dolphin crashed when copying files to a mobile phone which is connected via k...
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.52.0
Platform: openSUSE Linux
: VHI crash
Target Milestone: ---
Assignee: David Faure
URL:
Keywords: drkonqi
: 402966 405046 405461 408801 409285 411219 411225 411310 411353 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-12-09 07:29 UTC by Christian Trippe
Modified: 2019-09-15 19:30 UTC (History)
14 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Trippe 2018-12-09 07:29:17 UTC
Application: dolphin (18.11.90)

Qt Version: 5.11.2
Frameworks Version: 5.52.0
Operating System: Linux 4.12.14-lp150.12.25-default x86_64
Distribution: "openSUSE Leap 15.0"

-- Information about the crash:
1.) I connected a mobile phone to my computer via kde-connect
2.) Choosed file-browsing
3.) Dolphin openend
4.) Made a split view in dolphin and opened the folder which a contained the files I wanted to transfer to the mobile phone
5.) Started copying the files via drag & drop
6.) dolphin crashed

So far this only happend once.

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

Thread 4 (Thread 0x7f03bcb3c700 (LWP 2303)):
#0  0x00007f03df1f3b68 in read () from /lib64/libc.so.6
#1  0x00007f03d1b74a90 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f03d1b2fcb7 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f03d1b30170 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f03d1b302dc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007f03d936e3cb in QEventDispatcherGlib::processEvents (this=0x556104df03a0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00007f03d931270a in QEventLoop::exec (this=this@entry=0x7f03bcb3bcb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#7  0x00007f03d913daaa in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#8  0x00007f03d91489cb in QThreadPrivate::start (arg=0x556104e22440) at thread/qthread_unix.cpp:367
#9  0x00007f03d41e8559 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f03df20281f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f03c5439700 (LWP 2302)):
#0  0x00007f03df1f807b in poll () from /lib64/libc.so.6
#1  0x00007f03d1b301c9 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f03d1b302dc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f03d936e3cb in QEventDispatcherGlib::processEvents (this=0x55610479b710, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f03d931270a in QEventLoop::exec (this=this@entry=0x7f03c5438c80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#5  0x00007f03d913daaa in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007f03d97b7b75 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f03d91489cb in QThreadPrivate::start (arg=0x7f03d9a2fd60) at thread/qthread_unix.cpp:367
#8  0x00007f03d41e8559 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f03df20281f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f03c7cc0700 (LWP 2301)):
#0  0x00007f03df1f807b in poll () from /lib64/libc.so.6
#1  0x00007f03d0866387 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f03d0867fba in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f03cac8fbd9 in QXcbEventReader::run (this=0x556104735fb0) at qxcbconnection.cpp:1391
#4  0x00007f03d91489cb in QThreadPrivate::start (arg=0x556104735fb0) at thread/qthread_unix.cpp:367
#5  0x00007f03d41e8559 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f03df20281f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f03df960900 (LWP 2300)):
[KCrash Handler]
#6  0x00007f03dd909c06 in std::__atomic_base<int>::operator-- (this=0x76400babababa89) at /usr/include/c++/7/bits/atomic_base.h:304
#7  QAtomicOps<int>::deref<int> (_q_value=...) at /usr/include/qt5/QtCore/qatomic_cxx11.h:271
#8  QBasicAtomicInteger<int>::deref (this=0x76400babababa89) at /usr/include/qt5/QtCore/qbasicatomic.h:115
#9  QSharedDataPointer<KFileItemPrivate>::~QSharedDataPointer (this=0x55610524f8d0, __in_chrg=<optimized out>) at /usr/include/qt5/QtCore/qshareddata.h:89
#10 KFileItem::~KFileItem (this=0x55610524f8d0, __in_chrg=<optimized out>) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/kfileitem.h:47
#11 0x00007f03dd9c61b5 in QList<KFileItem>::node_destruct (this=0x556105457930, n=<optimized out>) at /usr/include/qt5/QtCore/qlist.h:452
#12 QList<KFileItem>::erase (this=0x556105457930, it=...) at /usr/include/qt5/QtCore/qlist.h:536
#13 0x00007f03dd9c66ca in KCoreDirListerCache::reinsert (this=this@entry=0x7f03ddc28280 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, item=..., oldUrl=...) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/kcoredirlister_p.h:309
#14 0x00007f03dd9bbbed in KCoreDirListerCache::processPendingUpdates (this=this@entry=0x7f03ddc28280 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/kcoredirlister.cpp:2013
#15 0x00007f03dd9bfcff in KCoreDirListerCache::slotUpdateResult (this=0x7f03ddc28280 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, j=<optimized out>) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/kcoredirlister.cpp:1856
#16 0x00007f03d934350f in QtPrivate::QSlotObjectBase::call (a=0x7ffdb7856930, r=0x7f03ddc28280 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, this=0x5561051d6410) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376
#17 QMetaObject::activate (sender=sender@entry=0x5561054f5c70, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffdb7856930) at kernel/qobject.cpp:3754
#18 0x00007f03d9343ac7 in QMetaObject::activate (sender=sender@entry=0x5561054f5c70, m=m@entry=0x7f03daf85500 <KJob::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffdb7856930) at kernel/qobject.cpp:3633
#19 0x00007f03dad2fbec in KJob::result (this=this@entry=0x5561054f5c70, _t1=<optimized out>, _t1@entry=0x5561054f5c70, _t2=...) at /usr/src/debug/kcoreaddons-5.52.0-lp150.182.1.x86_64/build/src/lib/KF5CoreAddons_autogen/include/moc_kjob.cpp:569
#20 0x00007f03dad30721 in KJob::finishJob (this=this@entry=0x5561054f5c70, emitResult=emitResult@entry=true) at /usr/src/debug/kcoreaddons-5.52.0-lp150.182.1.x86_64/src/lib/jobs/kjob.cpp:109
#21 0x00007f03dad325da in KJob::emitResult (this=this@entry=0x5561054f5c70) at /usr/src/debug/kcoreaddons-5.52.0-lp150.182.1.x86_64/src/lib/jobs/kjob.cpp:293
#22 0x00007f03dd971b00 in KIO::SimpleJob::slotFinished (this=this@entry=0x5561054f5c70) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/simplejob.cpp:232
#23 0x00007f03dd96647b in KIO::ListJob::slotFinished (this=0x5561054f5c70) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/listjob.cpp:247
#24 0x00007f03d934350f in QtPrivate::QSlotObjectBase::call (a=0x7ffdb7856b70, r=0x5561054f5c70, this=0x556105509c40) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376
#25 QMetaObject::activate (sender=sender@entry=0x556104deb7f0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3754
#26 0x00007f03d9343ac7 in QMetaObject::activate (sender=sender@entry=0x556104deb7f0, m=m@entry=0x7f03ddc226c0 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3633
#27 0x00007f03dd9457d3 in KIO::SlaveInterface::finished (this=this@entry=0x556104deb7f0) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/build/src/core/KF5KIOCore_autogen/include/moc_slaveinterface.cpp:437
#28 0x00007f03dd9497c4 in KIO::SlaveInterface::dispatch (this=0x556104deb7f0, _cmd=<optimized out>, rawdata=...) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/slaveinterface.cpp:160
#29 0x00007f03dd945e08 in KIO::SlaveInterface::dispatch (this=0x556104deb7f0) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/slaveinterface.cpp:89
#30 0x00007f03dd94c141 in KIO::Slave::gotInput (this=0x556104deb7f0) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/slave.cpp:406
#31 0x00007f03d934350f in QtPrivate::QSlotObjectBase::call (a=0x7ffdb7856e00, r=0x556104deb7f0, this=0x55610549afb0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376
#32 QMetaObject::activate (sender=0x5561054453c0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3754
#33 0x00007f03d9343ac7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f03ddc21420 <KIO::Connection::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3633
#34 0x00007f03dd8eec79 in KIO::Connection::readyRead (this=<optimized out>) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/build/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:143
#35 KIO::ConnectionPrivate::dequeue (this=0x55610524d610) at /usr/src/debug/kio-5.52.0-lp150.234.1.x86_64/src/core/connection.cpp:46
#36 0x00007f03d9343f62 in QObject::event (this=0x5561054453c0, e=<optimized out>) at kernel/qobject.cpp:1251
#37 0x00007f03da37af9c in QApplicationPrivate::notify_helper (this=this@entry=0x556104714e70, receiver=receiver@entry=0x5561054453c0, e=e@entry=0x55610554ecf0) at kernel/qapplication.cpp:3728
#38 0x00007f03da38257f in QApplication::notify (this=0x7ffdb78574c0, receiver=0x5561054453c0, e=0x55610554ecf0) at kernel/qapplication.cpp:3487
#39 0x00007f03d93143d8 in QCoreApplication::notifyInternal2 (receiver=0x5561054453c0, event=event@entry=0x55610554ecf0) at kernel/qcoreapplication.cpp:1048
#40 0x00007f03d9316f1d in QCoreApplication::sendEvent (event=0x55610554ecf0, receiver=<optimized out>) at kernel/qcoreapplication.h:234
#41 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x5561047134f0) at kernel/qcoreapplication.cpp:1745
#42 0x00007f03d93174d8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1599
#43 0x00007f03d936ed73 in postEventSourceDispatch (s=0x556104777eb0) at kernel/qeventdispatcher_glib.cpp:276
#44 0x00007f03d1b30017 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#45 0x00007f03d1b30250 in ?? () from /usr/lib64/libglib-2.0.so.0
#46 0x00007f03d1b302dc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#47 0x00007f03d936e3af in QEventDispatcherGlib::processEvents (this=0x55610471b4a0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#48 0x00007f03cad1d621 in QPAEventDispatcherGlib::processEvents (this=0x55610471b4a0, flags=...) at qeventdispatcher_glib.cpp:69
#49 0x00007f03d931270a in QEventLoop::exec (this=this@entry=0x7ffdb78573c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#50 0x00007f03d931b8c0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1336
#51 0x00007f03d9b476ac in QGuiApplication::exec () at kernel/qguiapplication.cpp:1761
#52 0x00007f03da37aef5 in QApplication::exec () at kernel/qapplication.cpp:2902
#53 0x00007f03df50aba2 in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/dolphin-18.11.90-lp150.155.1.x86_64/src/main.cpp:151
#54 0x00007f03df12af4a in __libc_start_main () from /lib64/libc.so.6
#55 0x0000556102c127fa in _start () at ../sysdeps/x86_64/start.S:120
[Inferior 1 (process 2300) detached]

Reported using DrKonqi
Comment 1 Elvis Angelaccio 2018-12-16 12:01:16 UTC
Possibly related to bug #401552
Comment 2 Christoph Feck 2019-01-27 12:11:46 UTC
*** Bug 402966 has been marked as a duplicate of this bug. ***
Comment 3 Christoph Cullmann 2019-08-24 14:56:28 UTC
*** Bug 411225 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Cullmann 2019-09-08 08:19:57 UTC
*** Bug 411310 has been marked as a duplicate of this bug. ***
Comment 5 Dominik Haumann 2019-09-08 08:31:42 UTC
Maybe bug #411310 contains reproducible steps:

> I was saving a .c file with 5 lines of code, nothing much.
> The issue occurred when creating a chain of 3 subfolders as such; "Parent Folder" > "First Child" > "Second Child".
> When creating the "Second Child" folder, Kate crahsed.
>
> - Custom settings of the application:
> Everything was set at default as far as I'm aware, it was a fresh install.
>
> The crash can be reproduced every time.
Comment 6 Dominik Haumann 2019-09-08 08:35:53 UTC
Backtrace to Q_ASSERT from comment above:

#2  0x00007ffff5a37a5d in QMessageLogger::fatal(char const*, ...) const () from /usr/lib64/libQt5Core.so.5
#3  0x00007ffff5a36ee3 in qt_assert(char const*, char const*, int) () from /usr/lib64/libQt5Core.so.5
#4  0x00007ffff7771c6b in KCoreDirListerCache::reinsert (this=0x7ffff7822b20 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, item=..., oldUrl=...)
    at /home/dh/kde/kf5/src/kio/src/core/kcoredirlister_p.h:308
#5  0x00007ffff776a793 in KCoreDirListerCache::processPendingUpdates (this=0x7ffff7822b20 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>)
    at /home/dh/kde/kf5/src/kio/src/core/kcoredirlister.cpp:2014
#6  0x00007ffff7765811 in KCoreDirListerCache::slotResult (this=0x7ffff7822b20 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, j=0x1627c20)
    at /home/dh/kde/kf5/src/kio/src/core/kcoredirlister.cpp:1341
#7  0x00007ffff77817d8 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<KJob*>, void, void (KCoreDirListerCache::*)(KJob*)>::call (f=
    (void (KCoreDirListerCache::*)(KCoreDirListerCache * const, KJob *)) 0x7ffff7764f8e <KCoreDirListerCache::slotResult(KJob*)>, 
    o=0x7ffff7822b20 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, arg=0x7fffffffb270) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#8  0x00007ffff77801ac in QtPrivate::FunctionPointer<void (KCoreDirListerCache::*)(KJob*)>::call<QtPrivate::List<KJob*>, void> (f=
    (void (KCoreDirListerCache::*)(KCoreDirListerCache * const, KJob *)) 0x7ffff7764f8e <KCoreDirListerCache::slotResult(KJob*)>, 
    o=0x7ffff7822b20 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, arg=0x7fffffffb270) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#9  0x00007ffff777d772 in QtPrivate::QSlotObject<void (KCoreDirListerCache::*)(KJob*), QtPrivate::List<KJob*>, void>::impl (which=1, this_=0x167ffb0, 
    r=0x7ffff7822b20 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, a=0x7fffffffb270, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#10 0x00007ffff5c58b78 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#11 0x00007ffff6c5cf23 in KJob::result (this=0x1627c20, _t1=0x1627c20, _t2=...) at /home/dh/kde/kf5/build/kcoreaddons/src/lib/KF5CoreAddons_autogen/include/moc_kjob.cpp:573
#12 0x00007ffff6c5af82 in KJob::finishJob (this=0x1627c20, emitResult=true) at /home/dh/kde/kf5/src/kcoreaddons/src/lib/jobs/kjob.cpp:107
#13 0x00007ffff6c5b637 in KJob::emitResult (this=0x1627c20) at /home/dh/kde/kf5/src/kcoreaddons/src/lib/jobs/kjob.cpp:291
#14 0x00007ffff7717146 in KIO::SimpleJob::slotFinished (this=0x1627c20) at /home/dh/kde/kf5/src/kio/src/core/simplejob.cpp:232
#15 0x00007ffff7710db6 in KIO::ListJob::slotFinished (this=0x1627c20) at /home/dh/kde/kf5/src/kio/src/core/listjob.cpp:248
#16 0x00007ffff7719ac7 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KIO::SimpleJob::*)()>::call(void (KIO::SimpleJob::*)(), KIO::SimpleJob*, void**) (
    f=&virtual KIO::SimpleJob::slotFinished(), o=0x1627c20, arg=0x7fffffffb5b0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#17 0x00007ffff7719897 in QtPrivate::FunctionPointer<void (KIO::SimpleJob::*)()>::call<QtPrivate::List<>, void>(void (KIO::SimpleJob::*)(), KIO::SimpleJob*, void**) (
    f=&virtual KIO::SimpleJob::slotFinished(), o=0x1627c20, arg=0x7fffffffb5b0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#18 0x00007ffff7719732 in QtPrivate::QSlotObject<void (KIO::SimpleJob::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, 
    this_=0x16280a0, r=0x1627c20, a=0x7fffffffb5b0, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#19 0x00007ffff5c58b78 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#20 0x00007ffff76fa541 in KIO::SlaveInterface::finished (this=0x163cac0) at /home/dh/kde/kf5/build/kio/src/core/KF5KIOCore_autogen/include/moc_slaveinterface.cpp:452
#21 0x00007ffff76f7fa3 in KIO::SlaveInterface::dispatch (this=0x163cac0, _cmd=104, rawdata=...) at /home/dh/kde/kf5/src/kio/src/core/slaveinterface.cpp:156
#22 0x00007ffff76f7c2a in KIO::SlaveInterface::dispatch (this=0x163cac0) at /home/dh/kde/kf5/src/kio/src/core/slaveinterface.cpp:85
#23 0x00007ffff76fc755 in KIO::Slave::gotInput (this=0x163cac0) at /home/dh/kde/kf5/src/kio/src/core/slave.cpp:406
#24 0x00007ffff76ff454 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)) 0x7ffff76fc702 <KIO::Slave::gotInput()>, o=0x163cac0, arg=0x7fffffffba10) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#25 0x00007ffff76ff35d in QtPrivate::FunctionPointer<void (KIO::Slave::*)()>::call<QtPrivate::List<>, void>(void (KIO::Slave::*)(), KIO::Slave*, void**) (
    f=(void (KIO::Slave::*)(KIO::Slave * const)) 0x7ffff76fc702 <KIO::Slave::gotInput()>, o=0x163cac0, arg=0x7fffffffba10) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#26 0x00007ffff76ff07c in QtPrivate::QSlotObject<void (KIO::Slave::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, 
--Type <RET> for more, q to quit, c to continue without paging--
    this_=0x15f2760, r=0x163cac0, a=0x7fffffffba10, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#27 0x00007ffff5c58b78 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#28 0x00007ffff769d8a3 in KIO::Connection::readyRead (this=0x16507c0) at /home/dh/kde/kf5/build/kio/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:147
#29 0x00007ffff769c645 in KIO::ConnectionPrivate::dequeue (this=0x16460b0) at /home/dh/kde/kf5/src/kio/src/core/connection.cpp:44
#30 0x00007ffff769d6b6 in KIO::Connection::qt_static_metacall (_o=0x16507c0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x1777360)
    at /home/dh/kde/kf5/build/kio/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:87
#31 0x00007ffff5c5943a in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#32 0x00007ffff66eac32 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#33 0x00007ffff66f3ea0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#34 0x00007ffff5c2de92 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#35 0x00007ffff5c30a88 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5
#36 0x00007ffff5c847c3 in ?? () from /usr/lib64/libQt5Core.so.5
#37 0x00007ffff3ae5b33 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#38 0x00007ffff3ae5dc0 in ?? () from /usr/lib64/libglib-2.0.so.0
#39 0x00007ffff3ae5e4f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#40 0x00007ffff5c83e01 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#41 0x00007ffff5c2cbdb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#42 0x00007ffff68e73ad in QDialog::exec() () from /usr/lib64/libQt5Widgets.so.5
#43 0x00007ffff68e72ad in QDialog::exec() () from /usr/lib64/libQt5Widgets.so.5
#44 0x00007ffff68fac25 in QFileDialog::getSaveFileUrl(QWidget*, QString const&, QUrl const&, QString const&, QString*,
Comment 7 Ahmad Samir 2019-09-14 18:44:27 UTC
*** Bug 408801 has been marked as a duplicate of this bug. ***
Comment 8 Ahmad Samir 2019-09-14 18:44:52 UTC
*** Bug 411353 has been marked as a duplicate of this bug. ***
Comment 9 Ahmad Samir 2019-09-14 18:45:33 UTC
*** Bug 411219 has been marked as a duplicate of this bug. ***
Comment 10 Ahmad Samir 2019-09-14 18:45:56 UTC
*** Bug 409285 has been marked as a duplicate of this bug. ***
Comment 11 Ahmad Samir 2019-09-14 18:46:27 UTC
*** Bug 405461 has been marked as a duplicate of this bug. ***
Comment 12 Ahmad Samir 2019-09-14 18:46:45 UTC
*** Bug 405046 has been marked as a duplicate of this bug. ***
Comment 13 David Faure 2019-09-15 19:30:19 UTC
Git commit f539b17ceec2a8c7a453228b7db62a7919b849be by David Faure, on behalf of Ahmad Samir.
Committed on 15/09/2019 at 19:30.
Pushed by dfaure into branch 'master'.

KCoreDirLister: fix crash when creating new folders from kfilewidget

Summary:
When creating multiple nested new folders, one at a time, in the "save as"
dialog, where folders are created and entered, a dirlister would hit an
assert (in DirItem::reinsert()), because one of the created folders would
eventually get inserted in pendingUpdates.

Add a unit test in kfilewidgettest.
FIXED-IN: 5.63.0

Test Plan:
- Open a file in e.g. okular, then "save as"
- Create a new folder from the dialog, then another ... etc, usually 2-3
  new folders would hit the assert (keep going, the number varies apparently)
  and the app would crash
- Apply the patch then try again, it shouldn't crash

Reviewers: #frameworks, ahmadsamir

Subscribers: dhaumann, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D23875

M  +23   -0    autotests/kfilewidgettest.cpp
M  +0    -6    src/core/kcoredirlister.cpp

https://commits.kde.org/kio/f539b17ceec2a8c7a453228b7db62a7919b849be