Bug 355525

Summary: Dolphin sometimes freezes and crashes when trying to rename , copy or delete files
Product: [Frameworks and Libraries] frameworks-kjobwidgets Reporter: lin ziyuan <ohmygod19993>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: frank78ac
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=353462
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description lin ziyuan 2015-11-18 04:42:16 UTC
-- Information about the crash:
- What I was doing when the application crashed:
rename, copy or delete files
- Unusual behavior I noticed:
Sometimes it takes a long time for dolphin to respond
If I try to close dolphin when dolphin freezes, dolphin crashes after some time.

The crash can be reproduced frequently(not always).


Reproducible: Always

Steps to Reproduce:
1.Try to rename, copy or delete files
2.
3.

Actual Results:  
dolphin freezes and takes more than twenty seconds to respond

Expected Results:  
dolphin performs requied actions immediately

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

Thread 3 (Thread 0x7f4243d4e700 (LWP 29735)):
#0  0x00007f425ae7c18d in poll () from /usr/lib/libc.so.6
#1  0x00007f424dc4aae2 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f424dc4c757 in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007f424546ee89 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f425503896e in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007f42504484a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f425ae8513d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f4237585700 (LWP 29738)):
#0  0x00007f425044e07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f423770d5e4 in ?? () from /usr/lib/libQt5Script.so.5
#2  0x00007f423770d629 in ?? () from /usr/lib/libQt5Script.so.5
#3  0x00007f42504484a4 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f425ae8513d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f425b500800 (LWP 29734)):
[KCrash Handler]
#5  0x00007f425565c888 in typeinfo for QObject () from /usr/lib/libQt5Core.so.5
#6  0x00007f4255ca8fdb in QFont::QFont(QFont const&, QPaintDevice*) () from /usr/lib/libQt5Gui.so.5
#7  0x00007f425642576e in QWidgetPrivate::init(QWidget*, QFlags<Qt::WindowType>) () from /usr/lib/libQt5Widgets.so.5
#8  0x00007f42565db1d3 in QDialog::QDialog(QWidget*, QFlags<Qt::WindowType>) () from /usr/lib/libQt5Widgets.so.5
#9  0x00007f4257c544c6 in KMessageBox::messageBox(QWidget*, KMessageBox::DialogType, QString const&, QString const&, KGuiItem const&, KGuiItem const&, KGuiItem const&, QString const&, QFlags<KMessageBox::Option>) () from /usr/lib/libKF5WidgetsAddons.so.5
#10 0x00007f425939705d in KDialogJobUiDelegate::Private::next() () from /usr/lib/libKF5JobWidgets.so.5
#11 0x00007f4255248ff1 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#12 0x00007f42563e101c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#13 0x00007f42563e64f6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007f42552199ab in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#15 0x00007f425521bda6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#16 0x00007f425526ff43 in ?? () from /usr/lib/libQt5Core.so.5
#17 0x00007f424fd14dc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0x00007f424fd15020 in ?? () from /usr/lib/libglib-2.0.so.0
#19 0x00007f424fd150cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#20 0x00007f425527034f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#21 0x00007f425521737a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#22 0x00007f425521f33c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#23 0x00007f425b19fd04 in kdemain () from /usr/lib/libkdeinit5_dolphin.so
#24 0x00007f425adbc610 in __libc_start_main () from /usr/lib/libc.so.6
#25 0x0000000000400779 in _start ()
Comment 1 Frank Reininghaus 2016-01-24 10:42:50 UTC
Possibly related to bug 353462 (also crashes in KDialogJobUiDelegate::Private::next()).
Comment 2 David Edmundson 2016-02-08 15:13:12 UTC
Git commit e984dab0a6cd9541ae178c104f0228ae264284a6 by David Edmundson.
Committed on 08/02/2016 at 15:13.
Pushed by davidedmundson into branch 'master'.

Fix crash in KJob dialogs.

Guard "this" being deleted whilst running new eventloop

KMessageBox spawns a new event loop, during which the parent kjob can be
completed and deleted, deleting the UIDelegate with it.
Related: bug 356321, bug 356964, bug 355052, bug 353462, bug 358954, bug 346215
REVIEW: 126999

M  +9    -0    src/kdialogjobuidelegate.cpp

http://commits.kde.org/kjobwidgets/e984dab0a6cd9541ae178c104f0228ae264284a6