Bug 442774 - Dolphin crashed after click on stop button of notification indicating the progress of compression to 7zip archive
Summary: Dolphin crashed after click on stop button of notification indicating the pro...
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: drkonqi
: 444318 445180 446701 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-09-21 12:15 UTC by Patrick Silva
Modified: 2022-05-19 23:30 UTC (History)
13 users (show)

See Also:
Latest Commit:
Version Fixed In: 21.08.3


Attachments
New crash information added by DrKonqi (1.95 KB, text/plain)
2021-12-18 17:48 UTC, Lyubomir
Details
New crash information added by DrKonqi (2.01 KB, text/plain)
2021-12-23 21:13 UTC, Oliver
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2021-09-21 12:15:56 UTC
Application: dolphin (21.11.70)

Qt Version: 5.15.3
Frameworks Version: 5.86.0
Operating System: Linux 5.11.0-34-generic x86_64
Windowing System: Wayland
Distribution: KDE neon Unstable Edition
DrKonqi: 5.23.80 [CoredumpBackend]

-- Information about the crash:
- What I was doing when the application crashed:
I compressed a video file to 7zip format via context menu of Dolphin.
The progress bar of Plasma notification reached 100& but the notification did not disappeared
spontaneously. Then I clicked on stop button of the notification and Plasma notified Dolphin crash.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[New LWP 17167]
[New LWP 17206]
[New LWP 17171]
[New LWP 17173]
[New LWP 17169]
[New LWP 17170]
[New LWP 17174]
[New LWP 17172]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/dolphin'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __GI_raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:50
[Current thread is 1 (Thread 0x7f54239549c0 (LWP 17167))]
__preamble__

[Current thread is 1 (Thread 0x7f54239549c0 (LWP 17167))]

Thread 8 (Thread 0x7f540bfff700 (LWP 17172)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b046048708) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b0460486b8, cond=0x55b0460486e0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55b0460486e0, mutex=0x55b0460486b8) at pthread_cond_wait.c:647
#3  0x00007f541b34ca4b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f541b34c64b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f5426ea8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f54283a4293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f541a17c700 (LWP 17174)):
#0  0x00007f5428397aff in __GI___poll (fds=0x7f53fc004e60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f542642a36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f53fc004e60, timeout=<optimized out>, context=0x7f53fc000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f53fc000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f542642a4a3 in g_main_context_iteration (context=0x7f53fc000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f54289655d2 in QEventDispatcherGlib::processEvents (this=0x7f53fc000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f542890987b in QEventLoop::exec (this=this@entry=0x7f541a17bbe0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f5428723292 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f542872442c in QThreadPrivate::start (arg=0x55b04638a950) at thread/qthread_unix.cpp:329
#8  0x00007f5426ea8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f54283a4293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f5420c24700 (LWP 17170)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b046048708) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b0460486b8, cond=0x55b0460486e0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55b0460486e0, mutex=0x55b0460486b8) at pthread_cond_wait.c:647
#3  0x00007f541b34ca4b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f541b34c64b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f5426ea8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f54283a4293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f542304e700 (LWP 17169)):
#0  0x00007f5428397aff in __GI___poll (fds=0x7f541c005240, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f542642a36e in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x7f541c005240, timeout=<optimized out>, context=0x7f541c000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f541c000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f542642a4a3 in g_main_context_iteration (context=0x7f541c000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f54289655d2 in QEventDispatcherGlib::processEvents (this=0x7f541c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f542890987b in QEventLoop::exec (this=this@entry=0x7f542304dbb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f5428723292 in QThread::exec (this=this@entry=0x7f5429a3ed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f54299baf4b in QDBusConnectionManager::run (this=0x7f5429a3ed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f542872442c in QThreadPrivate::start (arg=0x7f5429a3ed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f5426ea8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f54283a4293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f541a97d700 (LWP 17173)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b046048708) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b0460486b8, cond=0x55b0460486e0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55b0460486e0, mutex=0x55b0460486b8) at pthread_cond_wait.c:647
#3  0x00007f541b34ca4b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f541b34c64b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f5426ea8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f54283a4293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f541b17e700 (LWP 17171)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b046048708) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b0460486b8, cond=0x55b0460486e0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55b0460486e0, mutex=0x55b0460486b8) at pthread_cond_wait.c:647
#3  0x00007f541b34ca4b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f541b34c64b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f5426ea8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f54283a4293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f540a7fc700 (LWP 17206)):
#0  pa_pstream_ref (p=0x7f53ec000c00) at pulsecore/pstream.c:1174
#1  0x00007f5425eddae2 in srb_callback (srb=0x7f53ec00bbc0, userdata=0x7f53ec000c00) at pulsecore/pstream.c:285
#2  0x00007f5425ede37a in srbchannel_rwloop (sr=0x7f53ec00bbc0) at pulsecore/srbchannel.c:190
#3  0x00007f5426e55ba3 in dispatch_pollfds (m=0x55b0473a7a80) at pulse/mainloop.c:140
#4  pa_mainloop_dispatch (m=m@entry=0x55b0473a7a80) at pulse/mainloop.c:898
#5  0x00007f5426e55ed2 in pa_mainloop_iterate (m=0x55b0473a7a80, block=<optimized out>, retval=0x0) at pulse/mainloop.c:929
#6  0x00007f5426e55f70 in pa_mainloop_run (m=0x55b0473a7a80, retval=retval@entry=0x0) at pulse/mainloop.c:945
#7  0x00007f5426e6411d in thread (userdata=0x55b0473a41a0) at pulse/thread-mainloop.c:101
#8  0x00007f5425eed72c in internal_thread_func (userdata=0x55b046b42910) at pulsecore/thread-posix.c:81
#9  0x00007f5426ea8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f54283a4293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f54239549c0 (LWP 17167)):
[KCrash Handler]
#3  0x000055b0473a7f10 in ?? ()
#4  0x00007f5429b7420c in KJob::kill (this=0x55b047348190, verbosity=KJob::Quietly) at ./src/lib/jobs/kjob.cpp:113
#5  0x00007f5429b7420c in KJob::kill (this=0x55b047773d40, verbosity=verbosity@entry=KJob::EmitResult) at ./src/lib/jobs/kjob.cpp:113
#6  0x00007f542a62cbbd in KUiServerJobTracker::Private::_k_killJob (this=<optimized out>) at ./src/kuiserverjobtracker.cpp:50
#7  0x00007f542a62cd8f in KUiServerJobTracker::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./obj-x86_64-linux-gnu/src/KF5JobWidgets_autogen/include/moc_kuiserverjobtracker.cpp:125
#8  0x00007f5428941dd0 in doActivate<false> (sender=0x55b047720bb0, signal_index=3, argv=0x7ffcd5a298d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#9  0x00007f542893b167 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f542a6466e0 <OrgKdeJobViewV2Interface::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#10 0x00007f542a62b550 in OrgKdeJobViewV2Interface::cancelRequested (this=<optimized out>) at ./obj-x86_64-linux-gnu/src/jobviewiface.moc:225
#11 OrgKdeJobViewV2Interface::qt_static_metacall (_o=_o@entry=0x55b047720bb0, _id=_id@entry=0, _a=_a@entry=0x7ffcd5a29ac0, _c=QMetaObject::InvokeMetaMethod) at ./obj-x86_64-linux-gnu/src/jobviewiface.moc:139
#12 0x00007f542a62ba91 in OrgKdeJobViewV2Interface::qt_static_metacall (_a=0x7ffcd5a29ac0, _id=0, _c=QMetaObject::InvokeMetaMethod, _o=0x55b047720bb0) at ./obj-x86_64-linux-gnu/src/jobviewiface.moc:212
#13 OrgKdeJobViewV2Interface::qt_metacall (this=0x55b047720bb0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7ffcd5a29ac0) at ./obj-x86_64-linux-gnu/src/jobviewiface.moc:212
#14 0x00007f54299c755b in QDBusConnectionPrivate::deliverCall (this=<optimized out>, object=<optimized out>, msg=..., metaTypes=..., slotIdx=<optimized out>) at qdbusintegrator.cpp:1001
#15 0x00007f5428938919 in QObject::event (this=0x55b047720bb0, e=0x55b0465ced30) at kernel/qobject.cpp:1314
#16 0x00007f54293e6dc3 in QApplicationPrivate::notify_helper (this=this@entry=0x55b045da18b0, receiver=receiver@entry=0x55b047720bb0, e=e@entry=0x55b0465ced30) at kernel/qapplication.cpp:3632
#17 0x00007f54293efbb8 in QApplication::notify (this=0x7ffcd5a2a1b0, receiver=0x55b047720bb0, e=0x55b0465ced30) at kernel/qapplication.cpp:3156
#18 0x00007f542890ad7a in QCoreApplication::notifyInternal2 (receiver=0x55b047720bb0, event=0x55b0465ced30) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#19 0x00007f542890d681 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55b045d7bef0) at kernel/qcoreapplication.cpp:1821
#20 0x00007f5428965f77 in postEventSourceDispatch (s=0x55b045dc76a0) at kernel/qeventdispatcher_glib.cpp:277
#21 0x00007f542642a17d in g_main_dispatch (context=0x55b045dc0550) at ../../../glib/gmain.c:3309
#22 g_main_context_dispatch (context=context@entry=0x55b045dc0550) at ../../../glib/gmain.c:3974
#23 0x00007f542642a400 in g_main_context_iterate (context=context@entry=0x55b045dc0550, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4047
#24 0x00007f542642a4a3 in g_main_context_iteration (context=0x55b045dc0550, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#25 0x00007f54289655d2 in QEventDispatcherGlib::processEvents (this=0x55b045dbe050, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#26 0x00007f542890987b in QEventLoop::exec (this=this@entry=0x7ffcd5a2a0c0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#27 0x00007f5428911a34 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#28 0x000055b0458d41e3 in main (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:230

Possible duplicates by query: bug 436221, bug 423506, bug 422194, bug 401602, bug 306146.

Reported using DrKonqi
Comment 2 Patrick Silva 2021-10-24 18:25:40 UTC
*** Bug 444318 has been marked as a duplicate of this bug. ***
Comment 3 flux 2021-10-25 16:22:39 UTC
Downgrading Ark (not Dolphin) to 21.08.1 (from 21.08.2) "fixes" this bug (I'm using Frameworks 5.87.0).

https://kde.org/announcements/changelogs/gear/21.08.2/ shows just one change to Ark: "Fix: Dolphin doesn’t fully quit after Compress from context menu".

Please can this change be reverted for 21.08.3 release?
Comment 4 David Edmundson 2021-10-26 14:01:08 UTC
Or we can just fix it. I'll do that.
Comment 5 David Edmundson 2021-10-26 14:04:38 UTC
Git commit 625851b822b2e20d21b3addd7257870c0abb2429 by David Edmundson.
Committed on 26/10/2021 at 14:03.
Pushed by davidedmundson into branch 'job'.

Cleaup AddJob on destruction

In a recent patch m_addJob was cleaned up correctly. The code throughout
already checked pointer validity, but at no point was this reset.

This meant a queued task would then hit a dangling pointer.

M  +1    -1    kerfuffle/jobs.h

https://invent.kde.org/utilities/ark/commit/625851b822b2e20d21b3addd7257870c0abb2429
Comment 6 David Edmundson 2021-10-26 22:06:17 UTC
Git commit 765ba23770f07308709d337a16721783958eab2a by David Edmundson.
Committed on 26/10/2021 at 14:06.
Pushed by elvisangelaccio into branch 'master'.

Cleaup AddJob on destruction

In a recent patch m_addJob was cleaned up correctly. The code throughout
already checked pointer validity, but at no point was this reset.

This meant a queued task would then hit a dangling pointer.

M  +2    -1    kerfuffle/jobs.h

https://invent.kde.org/utilities/ark/commit/765ba23770f07308709d337a16721783958eab2a
Comment 7 Elvis Angelaccio 2021-10-26 22:07:51 UTC
Git commit b82fcaa37abac01547c28e948f4f1e253b8115ea by Elvis Angelaccio, on behalf of David Edmundson.
Committed on 26/10/2021 at 22:05.
Pushed by elvisangelaccio into branch 'release/21.08'.

Cleaup AddJob on destruction

In a recent patch m_addJob was cleaned up correctly. The code throughout
already checked pointer validity, but at no point was this reset.

This meant a queued task would then hit a dangling pointer.

M  +2    -1    kerfuffle/jobs.h

https://invent.kde.org/utilities/ark/commit/b82fcaa37abac01547c28e948f4f1e253b8115ea
Comment 8 Patrick Silva 2021-11-08 23:08:31 UTC
*** Bug 445180 has been marked as a duplicate of this bug. ***
Comment 9 Nicolas Fella 2021-12-08 22:37:57 UTC
*** Bug 446701 has been marked as a duplicate of this bug. ***
Comment 10 flan_suse 2021-12-18 15:03:55 UTC
Can someone confirm this was fixed?

I'm still experiencing it on 21.12, on two different computers.
Comment 11 Patrick Silva 2021-12-18 15:08:33 UTC
I'm unable to reproduce with 7zip format on neon unstable, but I can reproduce with zip format.
Reported as bug 446926.
Comment 12 Lyubomir 2021-12-18 17:48:31 UTC
Created attachment 144656 [details]
New crash information added by DrKonqi

dolphin (21.12.0) using Qt 5.15.2

- What I was doing when the application crashed:
I clicked stop button while compressing to .7z

-- Backtrace (Reduced):
#4  0x00007f981c7eb9e4 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#5  0x00007f981c7ebcca in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#6  0x00007f981c7e3310 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#7  0x00007f981d28dd62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#8  0x00007f981c7b641a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
Comment 13 flan_suse 2021-12-19 19:19:42 UTC
(In reply to Lyubomir from comment #12)
> What I was doing when the application crashed:
> I clicked stop button while compressing to .7z

Even without clicking the "Stop" button in the notification, one of a few things might happen:

1) Dolphin crashes immediately, and no archive was ever created

Or...

2) Dolphin crashes at the end of the compression task, but the archive was created (and passes verification)

Or...

3) The notification hangs indefinitely, until I click "Stop" in which it will then hang for a bit and then segfault

None of the above ever happens if I open Ark first, and then create a new archive. It only happens if you create a new archive from Dolphin's context menu.

---

This happens when I go to Right-click -> Compress -> Compress to -> select 7z

---

Distro: Manjaro Linux
KDE Plasma: 5.23.4
KDE Frameworks: 5.88.0
Qt: 5.15.2
Kernel: 5.15.7
Dolphin: 21.12.0
Ark: 21.12.0
p7zip: 17.04
Comment 14 Oliver 2021-12-23 21:13:10 UTC
Created attachment 144817 [details]
New crash information added by DrKonqi

dolphin (21.12.0) using Qt 5.15.2

- What I was doing when the application crashed:

I compressed 3 folders to a .7z file, waited and then suddenly dolphin crashed. 
Tried 3 times, all with the same result.

-- Backtrace (Reduced):
#4  0x00007f71bbe03253 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#5  0x00007f71bbe0356e in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#6  0x00007f71bbdff9f7 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#7  0x00007f71bc8121a6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#8  0x00007f71bbddbf8a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
Comment 15 Patrick Silva 2022-05-19 23:30:55 UTC
Cannot reproduce with Dolphin and Ark 22.04.1 on Arch Linux.

Operating System: Arch Linux
KDE Plasma Version: 5.24.90
KDE Frameworks Version: 5.94.0
Qt Version: 5.15.4
Graphics Platform: Wayland