Bug 486494 - Crash using KIO::highlightInFileManager in Flatpak app
Summary: Crash using KIO::highlightInFileManager in Flatpak app
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 6.1.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KIO Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-03 09:34 UTC by Matthieu Lorier
Modified: 2024-10-04 14:54 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthieu Lorier 2024-05-03 09:34:39 UTC
If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

Crash when clicking on "Open folder containing"


STEPS TO REPRODUCE
1. Add a clip on the timeline
2. Go to export
3. Start export
4. When the export is complete, right click and select "Open folder containing"

Crash


Open folder containing


SOFTWARE/OS VERSIONS
Qt Version: 6.6.3


Package Type: flatpak
MLT: 7.23.0
Qt: 6.6.3 (built against 6.6.3 x86_64-little_endian-lp64)
Frameworks: 6.1.0
System: KDE Flatpak runtime
Kernel: linux 6.8.0-31-generic
CPU: x86_64
Windowing System: xcb
GPU: NVIDIA Corporation/NVIDIA GeForce GTX 1650/PCIe/SSE2
Movit (GPU): disabled
Track Compositing: frei0r.cairoblend
Comment 1 Justin Zobel 2024-05-04 01:54:11 UTC
If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Comment 2 Jean-Baptiste Mardelle 2024-05-04 03:12:12 UTC
I can confirm the problem, it is related to Flatpak. Calling the Kde Frameworks function:
KIO::highlightInFileManager

Crashes the App on Flatpak, while it works in the AppImage.
Crash log says:

hread 1 "kdenlive" received signal SIGSEGV, Segmentation fault.
0x00007ffff7c98a9b in ?? () from /usr/lib/x86_64-linux-gnu/libKF6KIOGui.so.6
(gdb) bt full
#0  0x00007ffff7c98a9b in ??? () at /usr/lib/x86_64-linux-gnu/libKF6KIOGui.so.6
#1  0x00007ffff43dfa51 in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#2  0x00007ffff53ca821 in QDBusPendingCallWatcher::finished(QDBusPendingCallWatcher*) () at /usr/lib/x86_64-linux-gnu/libQt6DBus.so.6
#3  0x00007ffff43d1077 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#4  0x00007ffff559be48 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6
#5  0x00007ffff437edf8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#6  0x00007ffff4382da5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#7  0x00007ffff46609bf in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#8  0x00007ffff2b17e59 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007ffff2b752b8 in g_main_context_iterate.isra () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff2b15513 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff466026f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#12 0x00007ffff438bc4b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#13 0x00007ffff4387ead in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#14 0x0000555555681ab4 in ??? ()
#15 0x00007ffff3c3b08a in __libc_start_call_main () at /usr/lib/x86_64-linux-gnu/libc.so.6
#16 0x00007ffff3c3b14b in __libc_start_main () at /usr/lib/x86_64-linux-gnu/libc.so.6
#17 0x00005555556844a5 in ??? ()
(gdb) 
#0  0x00007ffff7c98a9b in ??? () at /usr/lib/x86_64-linux-gnu/libKF6KIOGui.so.6
#1  0x00007ffff43dfa51 in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#2  0x00007ffff53ca821 in QDBusPendingCallWatcher::finished(QDBusPendingCallWatcher*) () at /usr/lib/x86_64-linux-gnu/libQt6DBus.so.6
#3  0x00007ffff43d1077 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#4  0x00007ffff559be48 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6
#5  0x00007ffff437edf8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#6  0x00007ffff4382da5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
Comment 3 Jean-Baptiste Mardelle 2024-05-04 03:47:43 UTC
Git commit cd6e37272a030d823dcad705cd0011e3b57745e3 by Jean-Baptiste Mardelle.
Committed on 04/05/2024 at 03:46.
Pushed by mardelle into branch 'release/24.05'.

Workaround KIO Flatpak crash

M  +1    -1    src/bin/bin.cpp
M  +14   -0    src/core.cpp
M  +2    -0    src/core.h
M  +4    -2    src/dialogs/kdenlivesettingsdialog.cpp
M  +2    -2    src/dialogs/renderwidget.cpp
M  +1    -1    src/library/librarywidget.cpp
M  +2    -2    src/mltcontroller/clippropertiescontroller.cpp

https://invent.kde.org/multimedia/kdenlive/-/commit/cd6e37272a030d823dcad705cd0011e3b57745e3
Comment 4 Nicolas Fella 2024-05-06 22:33:25 UTC
Please add a backtrace with debug symbols
Comment 5 Matthieu Lorier 2024-05-07 09:03:40 UTC
Hello, I’m not sure it’s that but I give it to you anyway:

Kdenlive: 24.02.2
Package Type: flatpak
MLT: 7.23.0
Qt: 6.6.3 (built against 6.6.3 x86_64-little_endian-lp64)
Frameworks: 6.1.0
System: KDE Flatpak runtime
Kernel: linux 6.5.0-28-generic
CPU: x86_64
Windowing System: xcb
GPU: NVIDIA Corporation/NVIDIA GeForce GTX 1650/PCIe/SSE2
Movit (GPU): disabled
Track Compositing: frei0r.cairoblend
Comment 6 Justin Zobel 2024-05-08 00:32:28 UTC
(In reply to Matthieu from comment #5)
> Hello, I’m not sure it’s that but I give it to you anyway:
> 
> Kdenlive: 24.02.2
> Package Type: flatpak
> MLT: 7.23.0
> Qt: 6.6.3 (built against 6.6.3 x86_64-little_endian-lp64)
> Frameworks: 6.1.0
> System: KDE Flatpak runtime
> Kernel: linux 6.5.0-28-generic
> CPU: x86_64
> Windowing System: xcb
> GPU: NVIDIA Corporation/NVIDIA GeForce GTX 1650/PCIe/SSE2
> Movit (GPU): disabled
> Track Compositing: frei0r.cairoblend

See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports on how to improve crash reports by providing a backtrace with symbols.
Comment 7 Bug Janitor Service 2024-08-31 12:14:06 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1707
Comment 8 Nicolas Fella 2024-10-04 14:54:50 UTC
Git commit d64f526593d395f3efb07c2949c65167ed9c35fd by Nicolas Fella.
Committed on 04/10/2024 at 14:41.
Pushed by nicolasfella into branch 'master'.

[OpenFileManagerWindowJob] Fix crash when falling back to KRunStrategy

createKRunStrategy replaces the current strategy, which is then
destroyed. We are still in that strategy's code though, causing a
use-after-free crash.

To avoid this reshuffle the code so that the Job, not the Strategy
invokes the fallback
SENTRY: PLASMA-WORKSPACE-2WM
SENTRY: KMAIL-21
SENTRY: SYSTEMSETTINGS-50
SENTRY: KATE-5Z
SENTRY: FALLTHROUGH-4DF
SENTRY: DOLPHIN-1QT
SENTRY: OKULAR-8G
SENTRY: SPECTACLE-14

M  +31   -18   src/gui/openfilemanagerwindowjob.cpp
M  +15   -16   src/gui/openfilemanagerwindowjob_p.h

https://invent.kde.org/frameworks/kio/-/commit/d64f526593d395f3efb07c2949c65167ed9c35fd