Bug 480134 - Freeze (loop ?) when right click on an image
Summary: Freeze (loop ?) when right click on an image
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Bundle-AppImage (other bugs)
Version First Reported In: 8.3.0
Platform: Manjaro Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-21 13:08 UTC by mahikeulbody
Modified: 2024-03-01 21:50 UTC (History)
4 users (show)

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


Attachments
debug log file (44.67 KB, text/x-log)
2024-01-21 13:40 UTC, mahikeulbody
Details
log file with appimage-debug (44.36 KB, text/x-log)
2024-01-21 14:03 UTC, mahikeulbody
Details
backtrace.log (5.74 KB, text/x-log)
2024-01-21 14:50 UTC, mahikeulbody
Details
bt.log from digiKam-8.3.0-20240124T100034-x86-64-debug.appimage (5.66 KB, text/x-log)
2024-01-24 11:28 UTC, mahikeulbody
Details
the problem is still there (5.76 KB, text/x-log)
2024-01-25 08:47 UTC, mahikeulbody
Details
segmentation fault at startup (5.76 KB, text/x-log)
2024-01-26 19:23 UTC, mahikeulbody
Details
segmentation fault at startup (right log file) (1.52 KB, text/x-log)
2024-01-26 21:09 UTC, mahikeulbody
Details
backtrace log (5.76 KB, text/x-log)
2024-02-09 08:20 UTC, mahikeulbody
Details
bt log (6.00 KB, text/x-log)
2024-02-09 13:43 UTC, mahikeulbody
Details
backtrace from 2024-02-10_09h33 bundle (6.39 KB, text/x-log)
2024-02-10 09:57 UTC, mahikeulbody
Details
kde versions (12.79 KB, image/png)
2024-02-10 10:22 UTC, mahikeulbody
Details
backtrace with appimage bundle 2024-02-10 10:43 (5.94 KB, text/x-log)
2024-02-10 10:59 UTC, mahikeulbody
Details
backtrace with appimage bundle 2024-02-10 10:43 and kbuildsycoca dropped off (6.85 KB, text/x-log)
2024-02-10 13:11 UTC, mahikeulbody
Details
backtrace from 2024-02-12 17:52 bundle (5.73 KB, text/x-log)
2024-02-12 18:19 UTC, mahikeulbody
Details
backtrace from 2024-02-16 18:47 bundle (6.22 KB, text/x-log)
2024-02-16 20:03 UTC, mahikeulbody
Details
backtrace from 2024-02-17 10:43 bundle (6.88 KB, text/x-log)
2024-02-17 10:55 UTC, mahikeulbody
Details
backtrace from 2024-02-17 10:43 bundle and addicional bt cde (7.22 KB, text/x-log)
2024-02-17 11:14 UTC, mahikeulbody
Details
retry but it seems the same (7.42 KB, text/x-log)
2024-02-17 11:21 UTC, mahikeulbody
Details
screen copy at startup fo digikam 8.2 (25.43 KB, image/png)
2024-02-17 12:29 UTC, mahikeulbody
Details
with the right f cde (7.78 KB, text/x-log)
2024-02-17 13:04 UTC, mahikeulbody
Details
backtrace from 2024-02-17 17:34 bundle (7.24 KB, text/x-log)
2024-02-17 17:42 UTC, mahikeulbody
Details
backtrace from 2024-02-17 19h08 bundle (6.83 KB, text/x-log)
2024-02-17 19:19 UTC, mahikeulbody
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mahikeulbody 2024-01-21 13:08:51 UTC
SUMMARY
***
Freeze when right click on an image. It seems Digikam loops and eat memory.
***


STEPS TO REPRODUCE
1. Select a picture
2. Right click

OBSERVED RESULT
Digikam does not display the right click menu.
Digikam memory usage is growing.
Digikam cpu usage is about 25% (in my computer).
Comment 1 caulier.gilles 2024-01-21 13:22:16 UTC
Please capture a gdb backtrace folling instructions here :

https://www.digikam.org/contribute/
Comment 2 mahikeulbody 2024-01-21 13:40:16 UTC
Created attachment 165101 [details]
debug log file
Comment 3 caulier.gilles 2024-01-21 13:44:20 UTC
Please run the appimage bundle with the "debug" argument to use GDB and capture a backtrace
Comment 4 mahikeulbody 2024-01-21 14:03:15 UTC
> AppImageLauncher ./digiKam-8.3.0-20240120T112538-x86-64-debug.appimage &> digikam.log

(with debug set into miscellaneous/system)

provides a similar log file (see attached)
Comment 5 mahikeulbody 2024-01-21 14:03:43 UTC
Created attachment 165102 [details]
log file with appimage-debug
Comment 6 Maik Qualmann 2024-01-21 14:18:17 UTC
You also need to add "debug" as an option to the debug AppImage when starting. Then continue starting with "r" + Enter when digiKam is in the loop, interrupt digiKam with CTRL+C in the terminal and output the backtrace with "bt" + Enter and post it here.

Open a Terminal:
./digiKam-8.3.0-20240120T112538-x86-64-debug.appimage debug

Maik
Comment 7 mahikeulbody 2024-01-21 14:34:30 UTC
>./digiKam-8.3.0-20240120T112538-x86-64-debug.appimage debug

-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
--        to extract the bundle contents locally, use option '--appimage-extract' on the command line.
-- Detected host Linux manjarolinux-64-"23.1.3"
-- AppImage mounted directory: /tmp/.mount_digiKaSvMrTJ
Check library libudev.so.0
Check library libxcb-dri3.so.0
Check library libcrypto.so.1.1
Check library libssl.so.1.1
Check library libnss3.so
Check library libnssutil3.so
Check library libsmime3.so
Check library libgmodule-2.0.so.0
Check library libgnutls.so.30
-- Preloading shared libs: :/usr/lib64/libxcb-dri3.so.0:/usr/lib64/libnss3.so:/usr/lib64/libnssutil3.so:/usr/lib64/libsmime3.so:/usr/lib64/libgmodule-2.0.so.0:/usr/lib64/libgnutls.so.30
Starting digiKam into GDB...
Use 'bt' command on debugger prompt to get a crash backtrace.
Use 'q' command to quit debugger session.
/tmp/.mount_digiKaSvMrTJ/AppRun: ligne 184: gdb : commande introuvable
>

What I am doing wrong ?
Comment 8 mahikeulbody 2024-01-21 14:38:20 UTC
Ok, I understood, I have to install gdb.
Comment 9 caulier.gilles 2024-01-21 14:38:55 UTC
install gdb, the GNU debugger for linux, as "sudo apt install gdb", and try again
Comment 10 mahikeulbody 2024-01-21 14:50:06 UTC
Created attachment 165104 [details]
backtrace.log
Comment 11 Maik Qualmann 2024-01-21 14:58:03 UTC
I can also reproduce the problem here, it only occurs with the AppImage, not with my native Linux version. The problem is related to KService Menu and KBuildSycoca.

Maik
Comment 12 Maik Qualmann 2024-01-21 15:09:55 UTC
Ok, the problem is clear, there is now a Ksycoca lock file that we can pick up.

Maik
Comment 13 Maik Qualmann 2024-01-21 15:23:16 UTC
Git commit a0f5c530c6bdad4e654c344d13879ace0699277a by Maik Qualmann.
Committed on 21/01/2024 at 16:22.
Pushed by mqualmann into branch 'master'.

filter out the Ksycoca lock file
FIXED-IN: 8.3.0

M  +1    -1    NEWS
M  +7    -2    core/app/utils/digikam_globals_bundles.cpp

https://invent.kde.org/graphics/digikam/-/commit/a0f5c530c6bdad4e654c344d13879ace0699277a
Comment 14 mahikeulbody 2024-01-24 10:34:34 UTC
Still the same problem in the last snapshot digiKam-8.3.0-20240124T100034-x86-64.appimage.
Comment 15 caulier.gilles 2024-01-24 10:37:38 UTC
What's the log/traces with this snapshot ?
Comment 16 mahikeulbody 2024-01-24 11:28:33 UTC
Created attachment 165183 [details]
bt.log from digiKam-8.3.0-20240124T100034-x86-64-debug.appimage
Comment 17 Maik Qualmann 2024-01-24 11:43:55 UTC
I can reproduce it here with the AppImage, the correct KSycoca database is used. Something will have changed in the KF5 API. We will only set the KSycoca database if none exists (not KDE Desktop). I'll fix it tonight.

Maik
Comment 18 caulier.gilles 2024-01-24 11:57:33 UTC
Maik, if necessary i can update KF5. We don't use the last one for the moment...

Gilles
Comment 19 Maik Qualmann 2024-01-24 17:51:07 UTC
Git commit 3c1db87a7c89f66e669deaeb1a17b8446b359668 by Maik Qualmann.
Committed on 24/01/2024 at 18:50.
Pushed by mqualmann into branch 'master'.

another strategy for the KSycoca database in the AppImage

M  +12   -33   core/app/utils/digikam_globals_bundles.cpp

https://invent.kde.org/graphics/digikam/-/commit/3c1db87a7c89f66e669deaeb1a17b8446b359668
Comment 20 Maik Qualmann 2024-01-25 07:39:00 UTC
OK, the problem still exists even though we don't make any changes to the KSycoca environment variable on KF5 desktop systems where a database already exists.
Since the problem is only occurring here now and not a few weeks ago, it is probably because we have current KF5 systems here.

Gilles, can you please update KF5 in the AppImage?

Maik
Comment 21 caulier.gilles 2024-01-25 07:56:11 UTC
yes, i will do it

Current KF5 in AppImage: 5.113

Current KF5 version available: 5.114

Release announcement: https://kde.org/announcements/frameworks/5/5.114.0/

Note 5.114 has no mention about Ksycoca fixes.

Gilles
Comment 22 caulier.gilles 2024-01-25 08:06:44 UTC
Git commit 37e7e7ce55ddaa1838a03e5a1b44ce1bb60327d6 by Gilles Caulier.
Committed on 25/01/2024 at 09:05.
Pushed by cgilles into branch 'master'.

update KF5 to 5.114 for AppImage

M  +1    -1    project/bundles/appimage/02-build-extralibs.sh
M  +1    -1    project/bundles/appimage/config.sh

https://invent.kde.org/graphics/digikam/-/commit/37e7e7ce55ddaa1838a03e5a1b44ce1bb60327d6
Comment 23 caulier.gilles 2024-01-25 08:32:28 UTC
@mahikeulbody

The AppImage bundle 8.3.0 pre-release is now online at usual place with last KF5 frameworks version 5.114.

Gilles Caulier
Comment 24 mahikeulbody 2024-01-25 08:47:38 UTC
Created attachment 165204 [details]
the problem is still there
Comment 25 Maik Qualmann 2024-01-25 10:24:58 UTC
There was no lock file for the KSycoca database before, that is new and probably the cause. I think only one instance can access the database now. So setting an environment variable for the KSycoca database negatively affects the KService of the system (menu entries disappear, we had a bug report about it).
I think we need to patch the KF5 in digiKam to set an alternative path for the KSycoca database.

Maik
Comment 26 caulier.gilles 2024-01-25 10:33:35 UTC
Maik,

This behavior only affect the digiKam bundles or also the native package of digiKam ?

Why this kind of lock have been implemented ?

Add a KF5 patch to set an alternative path for the KSycoca database will be easy to do.
Gilles
Comment 27 Maik Qualmann 2024-01-25 11:29:10 UTC
Hi Gilles,

The problem only affects the AppImage. There are no problems with my native digiKam version. I have never seen KSycoca lock files before, they must have come with one of the last KF5 updates. What they are good for - I have no idea. I'm here on openSUSE on KF5.114.
I also tested an older AppImage (8.1.0) that now shows the same problem.

Maik
Comment 28 Maik Qualmann 2024-01-25 11:37:11 UTC
I looked a little into the KSycoca code, they included a detection for Flatpak with KSandbox::isFlatpak(), a new DB is then always created.

Maik
Comment 30 Maik Qualmann 2024-01-25 11:41:32 UTC
I think that this is the best point for patching, we can always create a new DB, not only in Flatpak

https://invent.kde.org/frameworks/kservice/-/blob/master/src/sycoca/ksycoca.cpp?ref_type=heads#L241

Maik
Comment 32 mahikeulbody 2024-01-26 19:23:11 UTC
Created attachment 165254 [details]
segmentation fault at startup

Crash at startup. I don't know if it is related to the same problem.
Comment 33 mahikeulbody 2024-01-26 21:09:11 UTC
Created attachment 165256 [details]
segmentation fault at startup (right log file)

Sorry, the previous attached file was not the good file.
Comment 34 caulier.gilles 2024-01-26 21:26:32 UTC
Not at all. It crash in opengl Qt plugin used to render contents on the desktop.

Did you use the last appimage bundle that i publish this evening ?
Comment 35 mahikeulbody 2024-01-27 06:27:45 UTC
(In reply to caulier.gilles from comment #34)
> Did you use the last appimage bundle that i publish this evening ?

Yes, as you can see with the filename of the log file.
Comment 36 caulier.gilles 2024-01-27 09:45:56 UTC
The last AppImage have been recompiled with the same Qt5.15.12 version where i just enabled the QtMultimedia module. It's compiled in a VM Ubuntu 18.04 for the binary compatibility with other Linux system (glibc dependencies).

The KDE framework have been also update from 5.110 to 5.114.

Both have no sideeffect with the opengl Qt plugin, as it still the same as previous.

The Ubuntu has already all updates in place since a while. Here, nothing has changed too...

Gilles
Comment 37 mahikeulbody 2024-01-27 10:41:42 UTC
Well, I don't what to say, my system did not change between the morning bundle (which produces the right click problem) and the evening bundle (which leads to a startup crash).

KDE Plasma : 5.27.10
KDE framework : 15.113.0
Qt : 5.15.12
Kernel : 6.7.0
Comment 38 mahikeulbody 2024-01-27 11:45:33 UTC
Same problem with the bundle ofthis morning digiKam-8.3.0-20240127T090031-x86-64_bc88cc7b7f57f945ab322804c7477bd4.appimage
Comment 39 caulier.gilles 2024-01-28 11:33:07 UTC
Hi,

I rebuild the AppImage bundle this morning.

Here it start without problem under Kubuntu:

https://drive.google.com/file/d/1DII1FrS5tCWA3jyRIXSYQ68GxE3FvS0j/view?usp=sharing

Gilles
Comment 40 mahikeulbody 2024-01-28 13:20:20 UTC
Here same problem with the last bundle :
 ./digiKam-8.3.0-20240128T125529-x86-64_1248c8a189b768f89aa4ca192340f99a.appimage 
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
--        to extract the bundle contents locally, use option '--appimage-extract' on the command line.
-- Detected host Linux manjarolinux-64-"23.1.3"
-- AppImage mounted directory: /tmp/.mount_digiKaYZqgBg
Check library libudev.so.0
Check library libxcb-dri3.so.0
Check library libcrypto.so.1.1
Check library libssl.so.1.1
Check library libnss3.so
Check library libnssutil3.so
Check library libsmime3.so
Check library libgmodule-2.0.so.0
Check library libgnutls.so.30
-- Preloading shared libs: :/usr/lib64/libxcb-dri3.so.0:/usr/lib64/libnss3.so:/usr/lib64/libnssutil3.so:/usr/lib64/libsmime3.so:/usr/lib64/libgmodule-2.0.so.0:/usr/lib64/libgnutls.so.30
/tmp/.mount_digiKaYZqgBg/AppRun : ligne 205 :  2641 Erreur de segmentation  (core dumped)digikam $@
Comment 41 mahikeulbody 2024-01-28 13:25:01 UTC
Just to be sure, I tried the appimage version of 8.2 (digiKam-8.2.0-x86-64_44e90faa119120fac0d087e28dc57d40.appimage). It started without crashing but then it freeze when I right click on an image.
Comment 42 mahikeulbody 2024-01-28 13:30:29 UTC
And I re-tried with the "normal" 8.2 (i.e. non appimage, provided by the manjaro repository) : it don't freeze on right click.
Comment 43 Maik Qualmann 2024-01-28 14:57:41 UTC
To start digiKam-8.3.0, try changing the "~/.config/digikam_systemrc" file, set "softwareOpenGL=true".

Maik
Comment 44 mahikeulbody 2024-01-28 15:05:38 UTC
Still a segmentation fault at startup with "softwareOpenGL=true".
Comment 45 caulier.gilles 2024-01-28 15:19:01 UTC
As it crash by passing in usr/plugins/xcbglintegrations/libqxcb-glx-integration.so from the bundle, you can try to preload this shared lib from your system before starting appimage. It's something as

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so ./digiKam-8.3.0-20240128T102359-x86-64.appimage

The path to libqxcb-glx-integration.so from your system must be adjusted of course.

I'm not sure if it will work. It's just to try.

Gilles
Comment 46 mahikeulbody 2024-01-28 15:31:58 UTC
LD_PRELOAD=/usr/lib/qt/plugins/xcbglintegrations/libqxcb-glx-integration.so ./digiKam-8.3.0-20240128T125529-x86-64_1248c8a189b768f89aa4ca192340f99a.appimage
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
--        to extract the bundle contents locally, use option '--appimage-extract' on the command line.
-- Detected host Linux manjarolinux-64-"23.1.3"
-- AppImage mounted directory: /tmp/.mount_digiKaRAnQ8b
Check library libudev.so.0
Check library libxcb-dri3.so.0
Check library libcrypto.so.1.1
Check library libssl.so.1.1
Check library libnss3.so
Check library libnssutil3.so
Check library libsmime3.so
Check library libgmodule-2.0.so.0
Check library libgnutls.so.30
-- Preloading shared libs: :/usr/lib64/libxcb-dri3.so.0:/usr/lib64/libnss3.so:/usr/lib64/libnssutil3.so:/usr/lib64/libsmime3.so:/usr/lib64/libgmodule-2.0.so.0:/usr/lib64/libgnutls.so.30
/tmp/.mount_digiKaRAnQ8b/AppRun : ligne 205 : 10414 Erreur de segmentation  (core dumped)digikam $@
Comment 47 Maik Qualmann 2024-01-28 17:28:43 UTC
I have the same crash under openSUSE when starting with the current AppImage. The AppImage from January 24th starts.

Maik
Comment 48 Maik Qualmann 2024-01-28 17:33:16 UTC
When I run libqxcb-glx-integration.so preload I get this message:

digikam: /tmp/.mount_digiKai40zw9/usr/lib/libQt5Gui.so.5: version `Qt_5.15.12_PRIVATE_API' not found (required by /usr/lib64/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so)

Maik
Comment 49 caulier.gilles 2024-01-28 20:06:41 UTC
well, why i not get this error under ubuntu ?

Gilles
Comment 50 mahikeulbody 2024-01-28 20:19:35 UTC
I am not competent on this subject but you said that "The KDE framework have been also update from 5.110 to 5.114." and I have 5.113 so may be some change between 5.113 and 5.114 ?
Comment 51 Maik Qualmann 2024-02-01 07:42:16 UTC
Gilles, can we replace the content of this function:

https://invent.kde.org/frameworks/kservice/-/blob/master/src/sycoca/ksycoca.cpp?ref_type=heads#L684

Through the following line:

return QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation) + QLatin1Char('/') + QLatin1String("ksycoca_digikam");

Maik
Comment 52 caulier.gilles 2024-02-01 08:03:06 UTC
ok, it's on my TODO list for this week end.

gilles
Comment 53 caulier.gilles 2024-02-01 15:53:52 UTC
Git commit 9c9077a4d00a2e0a0c23e56f5c092a486eff9de8 by Gilles Caulier.
Committed on 01/02/2024 at 15:52.
Pushed by cgilles into branch 'master'.

Add patch to KService to use a dedicated KSycoca file lock under under AppImage.

M  +5    -1    project/bundles/3rdparty/ext_kf5/CMakeLists.txt
A  +30   -0    project/bundles/3rdparty/ext_kf5/kservice-sycoca.patch
M  +5    -1    project/bundles/3rdparty/ext_kf6/CMakeLists.txt
A  +30   -0    project/bundles/3rdparty/ext_kf6/kservice-sycoca.patch

https://invent.kde.org/graphics/digikam/-/commit/9c9077a4d00a2e0a0c23e56f5c092a486eff9de8
Comment 54 caulier.gilles 2024-02-01 15:56:17 UTC
Maik,

I will rebuild the KF5+ digiKam this eveing for the AppImage.

But this week end i will rebuild all the Ubuntu 18.04 VM from scratch. If the crash at start up will not be solved, we will needs to switch to Ubuntu 20.04.

Gilles
Comment 55 Maik Qualmann 2024-02-01 20:31:39 UTC
Small status report. The crash at the beginning still occurs under X11. When I switch to Wayland, the AppImage starts, but the context menu crash/loop still occurs. A ksycoca_digikam.lock file is created, but no database. This is all really weird.

Maik
Comment 56 caulier.gilles 2024-02-02 03:16:59 UTC
Ok, it sound like a problem with Wayland again.

I think we must drop wayland with Qt5 and only support this with Qt6 when AppImage bundle will be ready to run.

Gilles
Comment 57 Maik Qualmann 2024-02-03 12:36:51 UTC
*** Bug 480772 has been marked as a duplicate of this bug. ***
Comment 58 mahikeulbody 2024-02-04 11:39:34 UTC
(In reply to Maik Qualmann from comment #55)
> Small status report. The crash at the beginning still occurs under X11. When
> I switch to Wayland, the AppImage starts, but the context menu crash/loop
> still occurs.

Same behavior here with the last bundle (4th February).
Comment 59 caulier.gilles 2024-02-04 13:39:43 UTC
yes, i don't yet rebuild the AppImage VM. I will do it this evening.

Gilles
Comment 60 caulier.gilles 2024-02-04 16:06:29 UTC
MAik,

This is the configuration of Qt 5.15.12 under XUbuntu 18.04 (the old VM not the new one that i re-install from scratch :

Configure summary:

Build type: linux-g++ (x86_64, CPU features: mmx sse sse2)
Compiler: gcc 11.4.0
Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl enable_new_dtags f16c largefile rdrnd rdseed shani x86SimdAlways shared shared rpath release c++11 c++14 c++17 c++1z concurrent dbus reduce_exports reduce_relocations stl
Build options:
  Mode ................................... release
  Optimize release build for size ........ no
  Building shared libraries .............. yes
  Using C standard ....................... C11
  Using C++ standard ..................... C++17
  Using ccache ........................... no
  Using new DTAGS ........................ yes
  Relocatable ............................ yes
  Using precompiled headers .............. no
  Using LTCG ............................. no
  Target compiler supports:
    SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
    AVX .................................. AVX AVX2
    AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
    Other x86 ............................ AES F16C RDRAND SHA
    Intrinsics without -mXXX option ...... yes
  Build parts ............................ libs tools
Qt modules and options:
  Qt Concurrent .......................... yes
  Qt D-Bus ............................... yes
  Qt D-Bus directly linked to libdbus .... yes
  Qt Gui ................................. yes
  Qt Network ............................. yes
  Qt Sql ................................. yes
  Qt Testlib ............................. yes
  Qt Widgets ............................. yes
  Qt Xml ................................. yes
Support enabled for:
  Using pkg-config ....................... yes
  udev ................................... yes
  Using system zlib ...................... no
  Zstandard support ...................... no
Qt Core:
  DoubleConversion ....................... yes
    Using system DoubleConversion ........ no
  GLib ................................... yes
  iconv .................................. no
  ICU .................................... yes
  Built-in copy of the MIME database ..... yes
  Tracing backend ........................ <none>
  Logging backends:
    journald ............................. no
    syslog ............................... no
    slog2 ................................ no
  PCRE2 .................................. yes
    Using system PCRE2 ................... no
Qt Network:
  getifaddrs() ........................... yes
  IPv6 ifname ............................ yes
  libproxy ............................... no
  Linux AF_NETLINK ....................... yes
  OpenSSL ................................ yes
    Qt directly linked to OpenSSL ........ yes
  OpenSSL 1.1 ............................ yes
  DTLS ................................... yes
  OCSP-stapling .......................... yes
  SCTP ................................... no
  Use system proxies ..................... yes
  GSSAPI ................................. no
Qt Gui:
  Accessibility .......................... yes
  FreeType ............................... yes
    Using system FreeType ................ yes
  HarfBuzz ............................... yes
    Using system HarfBuzz ................ no
  Fontconfig ............................. yes
  Image formats:
    GIF .................................. yes
    ICO .................................. yes
    JPEG ................................. yes
      Using system libjpeg ............... yes
    PNG .................................. yes
      Using system libpng ................ no
  Text formats:
    HtmlParser ........................... yes
    CssParser ............................ yes
    OdfWriter ............................ yes
    MarkdownReader ....................... yes
      Using system libmd4c ............... no
    MarkdownWriter ....................... yes
  EGL .................................... yes
  OpenVG ................................. no
  OpenGL:
    Desktop OpenGL ....................... yes
    OpenGL ES 2.0 ........................ no
    OpenGL ES 3.0 ........................ no
    OpenGL ES 3.1 ........................ no
    OpenGL ES 3.2 ........................ no
  Vulkan ................................. no
  Session Management ..................... yes
Features used by QPA backends:
  evdev .................................. yes
  libinput ............................... yes
  INTEGRITY HID .......................... no
  mtdev .................................. no
  tslib .................................. no
  xkbcommon .............................. yes
  X11 specific:
    XLib ................................. yes
    XCB Xlib ............................. yes
    EGL on X11 ........................... yes
    xkbcommon-x11 ........................ yes
QPA backends:
  DirectFB ............................... no
  EGLFS .................................. yes
  EGLFS details:
    EGLFS OpenWFD ........................ no
    EGLFS i.Mx6 .......................... no
    EGLFS i.Mx6 Wayland .................. no
    EGLFS RCAR ........................... no
    EGLFS EGLDevice ...................... yes
    EGLFS GBM ............................ no
    EGLFS VSP2 ........................... no
    EGLFS Mali ........................... no
    EGLFS Raspberry Pi ................... no
    EGLFS X11 ............................ yes
  LinuxFB ................................ no
  VNC .................................... yes
  XCB:
    Using system-provided xcb-xinput ..... yes
    Native painting (experimental) ....... no
    GL integrations:
      GLX Plugin ......................... yes
        XCB GLX .......................... yes
      EGL-X11 Plugin ..................... yes
Qt Sql:
  SQL item models ........................ yes
Qt Widgets:
  GTK+ ................................... no
  Styles ................................. Fusion Windows
Qt PrintSupport:
  CUPS ................................... yes
Qt Sql Drivers:
  DB2 (IBM) .............................. no
  InterBase .............................. no
  MySql .................................. yes
  OCI (Oracle) ........................... no
  ODBC ................................... no
  PostgreSQL ............................. no
  SQLite2 ................................ no
  SQLite ................................. yes
    Using system provided SQLite ......... no
  TDS (Sybase) ........................... no
Qt Testlib:
  Tester for item models ................. yes
Further Image Formats:
  JasPer ................................. yes
  MNG .................................... no
  TIFF ................................... yes
    Using system libtiff ................. yes
  WEBP ................................... yes
    Using system libwebp ................. no
Qt QML:
  QML network support .................... yes
  QML debugging and profiling support .... no
  QML just-in-time compiler .............. yes
  QML sequence object .................... yes
  QML XML http request ................... yes
  QML Locale ............................. yes
Qt QML Models:
  QML list model ......................... yes
  QML delegate model ..................... yes
Qt Quick:
  Direct3D 12 ............................ no
  AnimatedImage item ..................... yes
  Canvas item ............................ yes
  Support for Qt Quick Designer .......... yes
  Flipable item .......................... yes
  GridView item .......................... yes
  ListView item .......................... yes
  TableView item ......................... yes
  Path support ........................... yes
  PathView item .......................... yes
  Positioner items ....................... yes
  Repeater item .......................... yes
  ShaderEffect item ...................... yes
  Sprite item ............................ yes
QtQuick3D:
  Assimp ................................. yes
  System Assimp .......................... no
Qt Wayland Drivers:
  EGL .................................... yes
  Raspberry Pi ........................... no
  XComposite EGL ......................... yes
  XComposite GLX ......................... yes
  DRM EGL ................................ yes
  libhybris EGL .......................... no
  Linux dma-buf server buffer integration . yes
  Vulkan-based server buffer integration . no
  Shm emulation server buffer integration . yes
Qt Wayland Client Shell Integrations:
  xdg-shell .............................. yes
  xdg-shell unstable v5 (deprecated) ..... yes
  xdg-shell unstable v6 .................. yes
  ivi-shell .............................. yes
  wl-shell (deprecated) .................. yes
Qt Wayland Client ........................ yes
Qt Wayland Compositor .................... yes
Qt Wayland Compositor Layer Plugins:
  VSP2 hardware layer integration ........ no
QtXmlPatterns:
  XML schema support ..................... yes
Qt Multimedia:
  ALSA ................................... yes
  GStreamer 1.0 .......................... no
  GStreamer 0.10 ......................... no
  Video for Linux ........................ yes
  OpenAL ................................. yes
  PulseAudio ............................. yes
  Resource Policy (libresourceqt5) ....... no
  Windows Audio Services ................. no
  DirectShow ............................. no
  Windows Media Foundation ............... no
Qt TextToSpeech:
  Flite .................................. yes
  Flite with ALSA ........................ yes
  Speech Dispatcher ...................... no
Qt Tools:
  Qt Assistant ........................... yes
  Qt Designer ............................ yes
  Qt Distance Field Generator ............ yes
  kmap2qmap .............................. yes
  Qt Linguist ............................ yes
  Mac Deployment Tool .................... no
  makeqpf ................................ yes
  pixeltool .............................. yes
  qdbus .................................. yes
  qev .................................... yes
  Qt Attributions Scanner ................ yes
  qtdiag ................................. yes
  qtpaths ................................ yes
  qtplugininfo ........................... yes
  Windows deployment tool ................ no
  WinRT Runner Tool ...................... no
Qt Tools:
  QDoc ................................... yes
Qt WebEngine Build Tools:
  Use System Ninja ....................... yes
  Jumbo Build Merge Limit ................ 8
  Developer build ........................ no
  Sanitizer .............................. no
  QtWebEngine required system libraries:
    fontconfig ........................... yes
    dbus ................................. yes
    nss .................................. yes
    khr .................................. yes
    glibc ................................ yes
  QtWebEngine required system libraries for qpa-xcb:
    x11 .................................. yes
    libdrm ............................... yes
    xcomposite ........................... yes
    xcursor .............................. yes
    xi ................................... yes
    xproto (glproto) ..................... yes
    xtst ................................. yes
    xkbfile .............................. yes
  Optional system libraries used:
    re2 .................................. no
    icu .................................. no
    libwebp, libwebpmux and libwebpdemux . no
    opus ................................. no
    ffmpeg ............................... no
    libvpx ............................... no
    snappy ............................... no
    glib ................................. yes
    zlib ................................. no
    minizip .............................. no
    libevent ............................. no
    libxml2 and libxslt .................. yes
    lcms2 ................................ yes
    png .................................. no
    JPEG ................................. yes
    harfbuzz ............................. no
    freetype ............................. yes
Qt WebEngineCore:
  Embedded build ......................... no
  Full debug information ................. no
  Pepper Plugins ......................... yes
  Printing and PDF ....................... yes
  Proprietary Codecs ..................... no
  Spellchecker ........................... yes
  Native Spellchecker .................... no
  WebRTC ................................. yes
  PipeWire over GIO ...................... no
  Geolocation ............................ no
  WebChannel support ..................... yes
  Kerberos Authentication ................ no
  Extensions ............................. yes
  Support qpa-xcb ........................ yes
  Use ALSA ............................... yes
  Use PulseAudio ......................... yes
Qt WebEngineQml:
  Support Qt WebEngine Qml ............... yes
  UI Delegates ........................... yes
  Test Support ........................... no
Qt WebEngineWidgets:
  Support Qt WebEngine Widgets ........... yes
Qt PDF:
  Support V8 ............................. no
  Support XFA ............................ no
  Support XFA-BMP ........................ no
  Support XFA-GIF ........................ no
  Support XFA-PNG ........................ no
  Support XFA-TIFF ....................... no
  Bitcode support ........................ no
  Use static runtime ..................... no
Qt PDF Widgets:
  Support Qt PDF Widgets ................. yes

Gilles
Comment 61 caulier.gilles 2024-02-04 16:16:31 UTC
Problematic dependencies :

  GLib ................................... yes

I think this is not necessary at all, and this reduce the binary compatibility. I remember that i fight a lots to include this one few month ago, just to... do it in fact, without any valuable reasons.

 OpenGL:
    Desktop OpenGL ....................... yes
    OpenGL ES 2.0 ........................ no
    OpenGL ES 3.0 ........................ no
    OpenGL ES 3.1 ........................ no
    OpenGL ES 3.2 ........................ no

There is no EGL support, probably due to missing libraries from host.

Qt Wayland Drivers:
  EGL .................................... yes
  Raspberry Pi ........................... no
  XComposite EGL ......................... yes
  XComposite GLX ......................... yes
  DRM EGL ................................ yes
  libhybris EGL .......................... no
  Linux dma-buf server buffer integration . yes
  Vulkan-based server buffer integration . no
  Shm emulation server buffer integration . yes
Qt Wayland Client Shell Integrations:
  xdg-shell .............................. yes
  xdg-shell unstable v5 (deprecated) ..... yes
  xdg-shell unstable v6 .................. yes
  ivi-shell .............................. yes
  wl-shell (deprecated) .................. yes
Qt Wayland Client ........................ yes
Qt Wayland Compositor .................... yes
Qt Wayland Compositor Layer Plugins:
  VSP2 hardware layer integration ........ no

Almost all Wayland support is there. I think it's bad, as i can see Wayland still unstable or not usable in production. Also all wayland back-ends come from the system which is very old now. We needs a up-to-date back-ends. i would only support Wayland with Qt6, not Qt5, as Qt6 AppImage will use at least Ubuntu 22.04 to compile, so a recent Wayland collection of libs. Ubuntu 18.04 is not maintained, 22.04 is still maintained.

Gilles
Comment 62 caulier.gilles 2024-02-04 17:08:26 UTC
Git commit d42ec5beb7b48d5955368e49aeef6f64a7cf8734 by Gilles Caulier.
Committed on 04/02/2024 at 17:04.
Pushed by cgilles into branch 'master'.

remove low level wayland support for the AppImage. Ubuntu 18.04 has all dependencies out of date and not suitable at run time.
AppImage with Qt5 will be only X11 compatible

M  +2    -2    project/bundles/CD/ContinuousDeploy.txt
M  +0    -2    project/bundles/appimage/host_ubuntu.inc

https://invent.kde.org/graphics/digikam/-/commit/d42ec5beb7b48d5955368e49aeef6f64a7cf8734
Comment 63 caulier.gilles 2024-02-04 18:26:07 UTC
Git commit bb70f5eed0411efe349ce862f063f93e74f4e5be by Gilles Caulier.
Committed on 04/02/2024 at 18:25.
Pushed by cgilles into branch 'master'.

skip qtwayland compilation

M  +1    -0    project/bundles/3rdparty/ext_qt5/CMakeLists.txt

https://invent.kde.org/graphics/digikam/-/commit/bb70f5eed0411efe349ce862f063f93e74f4e5be
Comment 64 caulier.gilles 2024-02-04 22:17:32 UTC
Git commit a3ebd1982ddb2caf6c0fd5e963258d2235fa679c by Gilles Caulier.
Committed on 04/02/2024 at 22:16.
Pushed by cgilles into branch 'master'.

disable wayland support in KF5 frameworks

M  +1    -1    project/bundles/3rdparty/ext_kf5/CMakeLists.txt
M  +0    -1    project/bundles/appimage/02-build-extralibs.sh

https://invent.kde.org/graphics/digikam/-/commit/a3ebd1982ddb2caf6c0fd5e963258d2235fa679c
Comment 65 caulier.gilles 2024-02-04 22:23:27 UTC
mahikeulbody,

All is ready to finalize the AppImage without Wayland support. I will build the rest tomorrow morning.

Gilles Caulier
Comment 66 caulier.gilles 2024-02-05 06:24:27 UTC
mahikeulbody,

digiKam compiles currently and AppImage will be ready online in one hour, if all is fine.

Gilles
Comment 67 mahikeulbody 2024-02-05 07:42:12 UTC
still segmentation fault (running under plasma/x11) :

Thread 1 "digikam" received signal SIGSEGV, Segmentation fault.
__strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
142             movdqu  (%rax), %xmm4                                                                                 
(gdb) bt
#0  __strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
#1  0x00007ffff0d43a98 in QByteArray::QByteArray(char const*, int) ()
   from /tmp/.mount_digiKal4kIHS/usr/lib/libQt5Core.so.5
#2  0x00007fffa52094a7 in ?? ()
   from /tmp/.mount_digiKal4kIHS/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#3  0x00007fffa520ab25 in ?? ()
   from /tmp/.mount_digiKal4kIHS/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#4  0x00007fffa52081e7 in ?? ()
   from /tmp/.mount_digiKal4kIHS/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#5  0x00007ffff197c1cd in QOpenGLContext::create() () from /tmp/.mount_digiKal4kIHS/usr/lib/libQt5Gui.so.5
#6  0x00007fffdb7c780e in QtWebEngineCore::initialize() ()
   from /tmp/.mount_digiKal4kIHS/usr/lib/libQt5WebEngineCore.so.5
#7  0x00007ffff0ed938f in QCoreApplicationPrivate::init() () from /tmp/.mount_digiKal4kIHS/usr/lib/libQt5Core.so.5
#8  0x00007ffff192b49c in QGuiApplicationPrivate::init() () from /tmp/.mount_digiKal4kIHS/usr/lib/libQt5Gui.so.5
#9  0x00007ffff256a559 in QApplicationPrivate::init() () from /tmp/.mount_digiKal4kIHS/usr/lib/libQt5Widgets.so.5
#10 0x0000555555404c02 in main (argc=<optimized out>, argv=0x7fffffffce18)
    at /b/master/dktemp/digikam-master/core/app/main/main.cpp:164
(gdb)
Comment 68 caulier.gilles 2024-02-05 08:32:12 UTC
Ah this time this crash is know. It's appear from QtWebEngine (Chromium frameworks from Qt), when using OpenGL rendering for the web page (typically digiKam don't care about this feature).

The re is a way to disable opengl support at run time with QtWebEngine. There is a settings in digiKam Setup/Miscs/syetm panel for that, but as digiKam crash at startup, it's not possible to switch easily this settings.

Look the online doc about the config file stored in your home directory:

https://docs.digikam.org/en/getting_started/installation.html#configuration-files

The digikam_systemrc file store this setting. Add the line "softwareOpenGL=true" or change it, and restart digiKam...

Gilles
Comment 69 mahikeulbody 2024-02-05 08:36:07 UTC
This time, same behavior under Plasma/Wayland as under Plaxma/X11 :

Thread 1 "digikam" received signal SIGSEGV, Segmentation fault.
__strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
142             movdqu  (%rax), %xmm4                                                                                 
(gdb) bt
#0  __strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
#1  0x00007ffff0d43a98 in QByteArray::QByteArray(char const*, int) ()
   from /tmp/.mount_digiKaExFdBg/usr/lib/libQt5Core.so.5
#2  0x00007fffa52094a7 in ?? ()
   from /tmp/.mount_digiKaExFdBg/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#3  0x00007fffa520ab25 in ?? ()
   from /tmp/.mount_digiKaExFdBg/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#4  0x00007fffa52081e7 in ?? ()
   from /tmp/.mount_digiKaExFdBg/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#5  0x00007ffff197c1cd in QOpenGLContext::create() () from /tmp/.mount_digiKaExFdBg/usr/lib/libQt5Gui.so.5
#6  0x00007fffdb7c780e in QtWebEngineCore::initialize() ()
   from /tmp/.mount_digiKaExFdBg/usr/lib/libQt5WebEngineCore.so.5
#7  0x00007ffff0ed938f in QCoreApplicationPrivate::init() () from /tmp/.mount_digiKaExFdBg/usr/lib/libQt5Core.so.5
#8  0x00007ffff192b49c in QGuiApplicationPrivate::init() () from /tmp/.mount_digiKaExFdBg/usr/lib/libQt5Gui.so.5
#9  0x00007ffff256a559 in QApplicationPrivate::init() () from /tmp/.mount_digiKaExFdBg/usr/lib/libQt5Widgets.so.5
#10 0x0000555555404c02 in main (argc=<optimized out>, argv=0x7fffffffcdf8)
    at /b/master/dktemp/digikam-master/core/app/main/main.cpp:164
(gdb)
Comment 70 mahikeulbody 2024-02-05 08:37:59 UTC
My last comment was before to modify digikam_systemrc.
I will try now.
Comment 71 mahikeulbody 2024-02-05 08:42:45 UTC
with softwareOpenGL=true, under Wayland :

Using host libthread_db library "/usr/lib/libthread_db.so.1".
unknown: Could not find the Qt platform plugin "wayland" in ""                                                        
[New Thread 0x7fffa66006c0 (LWP 38422)]                                                                               
[New Thread 0x7fffa4a006c0 (LWP 38425)]                                                                               
[New Thread 0x7fff956006c0 (LWP 38426)]
[New Thread 0x7fff94c006c0 (LWP 38427)]
[New Thread 0x7fff8fe006c0 (LWP 38428)]
[New Thread 0x7fff8f4006c0 (LWP 38429)]
[New Thread 0x7fff8ea006c0 (LWP 38430)]
[New Thread 0x7fff8e0006c0 (LWP 38431)]
[New Thread 0x7fff8d6006c0 (LWP 38432)]
[New Thread 0x7fff8cc006c0 (LWP 38433)]

Thread 1 "digikam" received signal SIGSEGV, Segmentation fault.
__strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
142             movdqu  (%rax), %xmm4                                                                                 
(gdb) qt
Undefined command: "qt".  Try "help".
(gdb) bt
#0  __strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
#1  0x00007ffff0d43a98 in QByteArray::QByteArray(char const*, int) ()
   from /tmp/.mount_digiKaPaLNqK/usr/lib/libQt5Core.so.5
#2  0x00007fffa52094a7 in ?? ()
   from /tmp/.mount_digiKaPaLNqK/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#3  0x00007fffa520ab25 in ?? ()
   from /tmp/.mount_digiKaPaLNqK/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#4  0x00007fffa52081e7 in ?? ()
   from /tmp/.mount_digiKaPaLNqK/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#5  0x00007ffff197c1cd in QOpenGLContext::create() () from /tmp/.mount_digiKaPaLNqK/usr/lib/libQt5Gui.so.5
#6  0x00007fffdb7c780e in QtWebEngineCore::initialize() ()
   from /tmp/.mount_digiKaPaLNqK/usr/lib/libQt5WebEngineCore.so.5
#7  0x00007ffff0ed938f in QCoreApplicationPrivate::init() () from /tmp/.mount_digiKaPaLNqK/usr/lib/libQt5Core.so.5
#8  0x00007ffff192b49c in QGuiApplicationPrivate::init() () from /tmp/.mount_digiKaPaLNqK/usr/lib/libQt5Gui.so.5
#9  0x00007ffff256a559 in QApplicationPrivate::init() () from /tmp/.mount_digiKaPaLNqK/usr/lib/libQt5Widgets.so.5
#10 0x0000555555404c02 in main (argc=<optimized out>, argv=0x7fffffffcdf8)
    at /b/master/dktemp/digikam-master/core/app/main/main.cpp:164
(gdb) 


I will try now under X11.
Comment 72 mahikeulbody 2024-02-05 08:46:42 UTC
with softwareOpenGL=true, under X11 :

Thread 1 "digikam" received signal SIGSEGV, Segmentation fault.
__strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
142             movdqu  (%rax), %xmm4                                                                                 
(gdb) bt
#0  __strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
#1  0x00007ffff0d43a98 in QByteArray::QByteArray(char const*, int) ()
   from /tmp/.mount_digiKaLiHYsd/usr/lib/libQt5Core.so.5
#2  0x00007fffa52094a7 in ?? ()
   from /tmp/.mount_digiKaLiHYsd/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#3  0x00007fffa520ab25 in ?? ()
   from /tmp/.mount_digiKaLiHYsd/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#4  0x00007fffa52081e7 in ?? ()
   from /tmp/.mount_digiKaLiHYsd/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
#5  0x00007ffff197c1cd in QOpenGLContext::create() () from /tmp/.mount_digiKaLiHYsd/usr/lib/libQt5Gui.so.5
#6  0x00007fffdb7c780e in QtWebEngineCore::initialize() ()
   from /tmp/.mount_digiKaLiHYsd/usr/lib/libQt5WebEngineCore.so.5
#7  0x00007ffff0ed938f in QCoreApplicationPrivate::init() () from /tmp/.mount_digiKaLiHYsd/usr/lib/libQt5Core.so.5
#8  0x00007ffff192b49c in QGuiApplicationPrivate::init() () from /tmp/.mount_digiKaLiHYsd/usr/lib/libQt5Gui.so.5
#9  0x00007ffff256a559 in QApplicationPrivate::init() () from /tmp/.mount_digiKaLiHYsd/usr/lib/libQt5Widgets.so.5
#10 0x0000555555404c02 in main (argc=<optimized out>, argv=0x7fffffffce08)
    at /b/master/dktemp/digikam-master/core/app/main/main.cpp:164
(gdb)
Comment 73 caulier.gilles 2024-02-05 16:33:43 UTC
Maik,  did you reproduce ce the crash on your computer ?
Comment 74 Maik Qualmann 2024-02-05 18:12:06 UTC
Yes, I can confirm it. I've also already tested all the QWebEngine environment variables for disabling hardware acceleration, OpenGL, etc., no luck.

Maik
Comment 75 Maik Qualmann 2024-02-05 18:16:53 UTC
I see SSE2 in the crash log, that could be the cause, I think my older AMD CPU doesn't have SSE2 support yet, I'll check later.

Maik
Comment 76 mahikeulbody 2024-02-05 18:25:21 UTC
(In reply to Maik Qualmann from comment #75)
> I see SSE2 in the crash log, that could be the cause, I think my older AMD
> CPU doesn't have SSE2 support yet, I'll check later.

Mine CPU supports SSE2 so it is probably not the problem.
Comment 77 Maik Qualmann 2024-02-05 19:44:34 UTC
But when I think about how long the AppImage has been crashing, it has to do with the removal of QtAV, where we had cmake rules for SSE++ support. But I don't know whether they had a global effect, let's see what Gilles says.

But when I think about how long the AppImage has been crashing, it has to do with the removal of QtAV, where we had cmake rules for SSE++ support. But I don't know whether they had a global effect, let's see what Gilles says.
My processor supports up to SSE3, but from SSE4.1 it stops. Gilles's CPU should definitely support this, QByteArray uses SSE, we also had bug reports for QtAV.

Maik
Comment 78 Maik Qualmann 2024-02-05 19:49:54 UTC
See Comment 60:

Target compiler supports:
SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2

The AppImage is compiled up to SSE4.2, which is probably the reason.

Maik
Comment 79 caulier.gilles 2024-02-05 20:28:17 UTC
Yes, my CPU is an i9, so it's support SSEx...

But i use this computer since last summer. So why the crash appears now ?

I'm not sure if i can disable SSE support in Qt config stage. I will take a look.

Gilles
Comment 80 caulier.gilles 2024-02-05 20:34:50 UTC
-no-sse option to configure Qt5 must exists :

https://stackoverflow.com/questions/24408161/compile-qt-5-3-without-sse2-support

I will try to recompile all with this option.

Gilles
Comment 81 mahikeulbody 2024-02-05 20:44:26 UTC
(In reply to caulier.gilles from comment #79)
> The AppImage is compiled up to SSE4.2, which is probably the reason.
Mine CPU supports up to SSE4.2 but digikam (appimage) crashes.
Comment 82 caulier.gilles 2024-02-06 06:27:35 UTC
This evening, i will rebuild whole Qt using -no-sse option to see if this improve the situation.

If not, i will switch to xubuntu 20.04 instead 18.04. Typically a very old Linux to improve the binary compatibility with low level dependencies from host running the appimage is highly recommended, but i suspect a too large difference with the modern Linux host now.

Note : i know that Krita used ubuntu 16.x to build the AppImage, but l’m not sure if it's always the case...

Gilles
Comment 83 caulier.gilles 2024-02-07 16:52:38 UTC
Hi,

-no-sse option was available for older Qt version. It's not available anymore.

I switch the VM to Xubuntu 20.06

Gilles
Comment 84 caulier.gilles 2024-02-07 17:29:38 UTC
There is also a NodeJS 14 to upgrade to 20 for QtWebEngine. Version 14 is outdated and not maintained since a while. I doubt that it can be influence at run-time, but if it compile, this is not too bad.
Comment 85 caulier.gilles 2024-02-09 07:05:14 UTC
Git commit d690f6e70ffd2b1ee7fb1f21683e57fdc71edd45 by Gilles Caulier.
Committed on 09/02/2024 at 07:02.
Pushed by cgilles into branch 'master'.

adjust dependencies to compile AppImage bundle unde Ubuntu 20.06 CCBUGS:480134 CCBUGS:478222 CCBUGS: 474265

M  +2    -2    project/bundles/appimage/01-build-host.sh
M  +6    -2    project/bundles/appimage/host_ubuntu.inc

https://invent.kde.org/graphics/digikam/-/commit/d690f6e70ffd2b1ee7fb1f21683e57fdc71edd45
Comment 86 caulier.gilles 2024-02-09 07:10:53 UTC
@mahikeulbody,

The AppImage is now build under XUbuntu 20.06. This one still under maintenance:

https://en.wikipedia.org/wiki/Ubuntu#Releases

If all is fine, it will be online in one hour...

Gilles
Comment 87 caulier.gilles 2024-02-09 07:55:32 UTC
@mahikeulbody

new Appimage based on Ubuntu 20.06 is online...

Gilles
Comment 88 caulier.gilles 2024-02-09 08:06:53 UTC
@mahikeulbody,

The new digiKam 8.3.0 pre-release AppImage bundle for Linux based on Ubuntu 20.06 is now online at usual place:

https://files.kde.org/digikam/

Problem still reproducible with this version ?

Thanks in advance

Gilles Caulier
Comment 89 mahikeulbody 2024-02-09 08:19:42 UTC
> The new digiKam 8.3.0 pre-release AppImage bundle for Linux based on Ubuntu
> 20.06 is now online at usual place:
> Problem still reproducible with this version ?

No more segmentation fault at startup.
The right-click problem is not fixed (see bt.log attached).
Comment 90 mahikeulbody 2024-02-09 08:20:14 UTC
Created attachment 165689 [details]
backtrace log
Comment 91 caulier.gilles 2024-02-09 08:20:39 UTC
Ah at least one point closed. Ouff...

Gilles
Comment 92 caulier.gilles 2024-02-09 08:23:12 UTC
Ok, so now we are back in KService::Sycoca dysfunction...

Gilles
Comment 93 caulier.gilles 2024-02-09 08:26:32 UTC
Maik,

This is the kde-core mailing list archive about the sycoca KDE service to revisit :

https://marc.info/?l=kde-core-devel&m=170741180724777&w=2

Gilles
Comment 94 Maik Qualmann 2024-02-09 11:44:11 UTC
I confirm that the AppImage starts again under openSUSE Tumbleweed.
The problem with the right-click context menu and Ksycoca remains.

Maik
Comment 95 Maik Qualmann 2024-02-09 11:58:15 UTC
Gilles, please remove the existing Ksycoca patch and change the following line to always "true":

https://invent.kde.org/frameworks/kservice/-/blob/master/src/sycoca/ksycoca.cpp?ref_type=heads#L240

Maik
Comment 96 caulier.gilles 2024-02-09 11:59:08 UTC
ok i will do it imediatly.

Gilles
Comment 97 caulier.gilles 2024-02-09 12:19:24 UTC
Git commit b2749e6f0b441eb0cc5c26a8d0ada6b0bbbfccc2 by Gilles Caulier.
Committed on 09/02/2024 at 12:18.
Pushed by cgilles into branch 'master'.

fix KService::Sycoca patch folling Maik tips

M  +10   -28   project/bundles/3rdparty/ext_kf5/kservice-sycoca.patch

https://invent.kde.org/graphics/digikam/-/commit/b2749e6f0b441eb0cc5c26a8d0ada6b0bbbfccc2
Comment 98 caulier.gilles 2024-02-09 13:19:00 UTC
Done.

New AppImage bundle is online with the new patch recommend by Maik.

Gilles
Comment 99 mahikeulbody 2024-02-09 13:25:54 UTC
Still the right-click problem. Do you need bt ?
Comment 100 caulier.gilles 2024-02-09 13:26:36 UTC
yes because the crash can be located in another place now...

Gilles
Comment 101 mahikeulbody 2024-02-09 13:43:23 UTC
Created attachment 165696 [details]
bt log
Comment 102 caulier.gilles 2024-02-09 14:15:00 UTC
Maik,

The dysfunction come from KService after all, since the specific revision. Crash appears after to have migrated from 5.110 to 5.114.

Perhaps we can fix temporally the problem to regress to a previous version of KF5, as 5.111, 112, or 113. I son't know wich version of KService introduce this mess...

This will allow to release digiKam 8.3.0 by now. It's time (:=)))... We can solve this problem later.

Gilles
Comment 103 mahikeulbody 2024-02-09 14:25:26 UTC
I have 5.113 so we should use an older one.
Comment 104 caulier.gilles 2024-02-10 09:04:57 UTC
Hi all,

The KDE Framework 5.110 was used before this entry was created.

https://invent.kde.org/graphics/digikam/-/commit/37e7e7ce55ddaa1838a03e5a1b44ce1bb60327d6#082cf84ac44911bf171d0f6eee2d1074525738c9_81_81

After this entry created, it have been updated from 5.113 to 5.114 without improvement.

https://invent.kde.org/graphics/digikam/-/commit/37e7e7ce55ddaa1838a03e5a1b44ce1bb60327d6#082cf84ac44911bf171d0f6eee2d1074525738c9_81_81

So i will back to 5.110 with AppImage (only), at least to see if the problem can be solved temporally until we found a solution to patch KService framework.

Gilles
Comment 105 mahikeulbody 2024-02-10 09:57:29 UTC
Created attachment 165717 [details]
backtrace from 2024-02-10_09h33 bundle

There is a wayland error message at the begining of the bt.log so I prefer to notice I am under a x11 session, not a wayland session.
Comment 106 caulier.gilles 2024-02-10 10:11:36 UTC
Damned, this is exactly the same problem with KDE framework 5.110. it crash in KService...
Comment 107 mahikeulbody 2024-02-10 10:15:13 UTC
May be you should revert this patch  in order to back to the exact same configuration as before ?

> Gilles, please remove the existing Ksycoca patch and change the following line to always "true":
Comment 108 caulier.gilles 2024-02-10 10:18:59 UTC
Right about the patch.

Note : see here how the appimage run here under Kubuntu 23.04:

https://i.imgur.com/bYHWMZj.png

Look like the Plasma desktop use KF5 version 5.104 here.

Gilles
Comment 109 caulier.gilles 2024-02-10 10:20:48 UTC
Git commit 3e2f855b170ec19a92d510b9c6972fc5618c3aae by Gilles Caulier.
Committed on 10/02/2024 at 10:19.
Pushed by cgilles into branch 'master'.

switch back to KF5 5.110 and disable appimage patch from KService

M  +1    -1    project/bundles/3rdparty/ext_kf5/CMakeLists.txt
M  +1    -1    project/bundles/appimage/config.sh

https://invent.kde.org/graphics/digikam/-/commit/3e2f855b170ec19a92d510b9c6972fc5618c3aae
Comment 110 caulier.gilles 2024-02-10 10:21:42 UTC
Rebuilding AppImage with KService patch is under progress...

Gilles
Comment 111 mahikeulbody 2024-02-10 10:22:12 UTC
Created attachment 165720 [details]
kde versions
Comment 112 Maik Qualmann 2024-02-10 10:41:17 UTC
Gilles, I'm afraid it won't help to switch to an older KF5 version in the AppImage, as I wrote in Comment 20, older AppImages now also crash. It's because we have a current KF5.

Maik
Comment 113 mahikeulbody 2024-02-10 10:46:43 UTC
I just tried the last bundle : there is still the right-click problem.
Comment 114 caulier.gilles 2024-02-10 10:54:55 UTC
So we need to understand how KService::sycoca works exactly and patch code properly for the AppImage bundle...

Or, drop KService usage in digiKam and found a replacement.

Gilles
Comment 115 caulier.gilles 2024-02-10 10:56:41 UTC
Maik,

In digiKam we have only 2 places where kservice.h is present :

dservicemenu.h 
editorwindows_p.h

Gilles
Comment 116 mahikeulbody 2024-02-10 10:59:25 UTC
Created attachment 165721 [details]
backtrace with appimage bundle 2024-02-10 10:43
Comment 117 Maik Qualmann 2024-02-10 11:21:14 UTC
There is a same crash backtrace with bug 429593, but without AppImage context.
I see in the KService code that the cache is monitored with a FileWatch.

Maik
Comment 118 Maik Qualmann 2024-02-10 11:25:52 UTC
Is kbuildsycoca still part of the AppImage or has it been removed? That could be the cause.

Maik
Comment 119 mahikeulbody 2024-02-10 11:26:13 UTC
I don't know if it is a useful information but it seems that it is a loop (not a crash) : I can see 100% cpu on one of my processors.
Comment 120 caulier.gilles 2024-02-10 12:14:26 UTC
Maik,

https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/appimage/04-build-appimage.sh?ref_type=heads#L285

kbuildsyscoca still in the AppImage...

Gilles
Comment 121 caulier.gilles 2024-02-10 12:25:23 UTC
mahikeulbody,

A quick test can be done in your computer to drop kbuildsycoca executable from the bundle.

AppImage support file extraction in local. AppImage is a ISO9660 like CD archive decompressed somewhere in /tmp.

You can force to extract files where you want, play with files, and start the main script of the AppImage to see the result :

1/ extraction : ./digiKam-8.3.0-20240210T102949-x86-64.appimage --appimage-extract
2/ remove kbuilsycoca binary : rm ./squashfs-root/usr/bin/kbuildsycoca5
3/ run AppImage start up script : ./squashfs-root/AppRun

Et voilà...

Gilles
Comment 122 mahikeulbody 2024-02-10 12:31:04 UTC
digikam startup is much faster this way but the problem is still there :-(
Comment 123 caulier.gilles 2024-02-10 13:08:31 UTC
It faster because the extraction of AppImage contents in /tmp is already done locally.
Comment 124 mahikeulbody 2024-02-10 13:11:43 UTC
Created attachment 165726 [details]
backtrace with appimage bundle 2024-02-10 10:43 and kbuildsycoca dropped off
Comment 125 caulier.gilles 2024-02-11 09:48:05 UTC
Hi Maik,

Replacing KService with an alternative sounds like a very complex task.

We can also disable the KService calls in digiKam in case of AppImage, but we will lack important features.

So we need to understand why the crash in KService appears here. I surprised about to see a crash when we use a dedicated Ksycoca database file name.  This must prevent a concurrent access.

Perhaps we needs to use mutex here.

I see also in the KF5 implementation some problems with memory sharing (typically under Windows only). There are also thread usages where protection must be set...

Gilles
Comment 126 mahikeulbody 2024-02-11 13:41:59 UTC
> So we need to understand why the crash in KService appears here.

Sorry if my question is not relevant but why do you talk about "crash" ? On my side I see a loop (100% cpu) and I have to do a ctrl-c to start a bt command.
Comment 127 caulier.gilles 2024-02-11 16:25:32 UTC
Yes, it's not a crash, but a dysfunction in the ksyscoca component from KDE frameworks.

Namely this component is a System Configuration Cache mechanism. It use a database internally (certainly a qslite one) to store all type-mime settings (aka the application to use with a kind of file).

I suspect a concurrent access to a same interface to access to this database but with different mechanism (or something like that). This can be also a race condition to access to the same database file. This is why Maik proposed to patch ksycoca code to use a database file with a different filename. But this do not solve this problem.

The Q is why i cannot reproduce the problem with Kubuntu 23.04. In my office i had a more recent Kubuntu 23.10 with a more recent Plasma desktop. I will try to reproduce the problem on this computer...

Gilles
Comment 128 Maik Qualmann 2024-02-11 21:26:46 UTC
Gilles, please apply the patch from Comment 53 again and remove these lines:

https://invent.kde.org/frameworks/kservice/-/blob/master/src/sycoca/kbuildsycoca.cpp?ref_type=heads#L368-381

Maik
Comment 129 Maik Qualmann 2024-02-11 21:39:04 UTC
Gilles ignore Comment 128, I have KService debug enabled and the cause must be something else.

Maik
Comment 130 mahikeulbody 2024-02-12 18:11:46 UTC
The last bundle (2024-02-12 17:49 ) does not solve the problem.
I will provide a bt.
Comment 131 mahikeulbody 2024-02-12 18:19:08 UTC
Created attachment 165785 [details]
backtrace from 2024-02-12 17:52 bundle
Comment 132 caulier.gilles 2024-02-13 13:57:02 UTC
Hi all,

Today i tried the current 8.3.0 AppImage bundle under a KUbuntu 23.10 computer. All works as expected...

https://i.imgur.com/9bgIbBx.png

Note that KDE framework into the AppImage and the desktop are the same (by chance ??)

I will recompile the AppImage with the last KF5 5.115 just released to see if it start properly.

Gilles
Comment 133 caulier.gilles 2024-02-13 14:42:02 UTC
I forget to said that the AppImage bundle 8.3.0show the icon-view context menu properly under Kubuntu 23.10

Gilles
Comment 134 mahikeulbody 2024-02-15 18:43:27 UTC
The problem is still there with 2024-02-15 18:21 bundle.
Comment 135 mahikeulbody 2024-02-15 19:01:32 UTC
I just tried also the Manjaro Testing branch which has KF5.115 (instead of KF5.114) : same problem.
Comment 136 caulier.gilles 2024-02-15 21:31:06 UTC
And if you use an older Manjaro version, the problem disappears ?
Comment 137 mahikeulbody 2024-02-16 09:13:26 UTC
(In reply to caulier.gilles from comment #136)
> And if you use an older Manjaro version, the problem disappears ?

I just tested with an older version :
Plasma 5.27
KF 5.110
Qt 5.15

No "freeze/loop" on right-click.
Comment 138 caulier.gilles 2024-02-16 09:39:17 UTC
Hum this is very interesting. So with desktop KF5 5.110 all is ok, later version "Houston, we got a problem..."

Another way to investigate, is to push the debug symbols from KService component in the bundle to see exactly where the code loop until the end of the world.

Gilles
Comment 139 mahikeulbody 2024-02-16 20:03:08 UTC
Created attachment 165870 [details]
backtrace from 2024-02-16 18:47 bundle
Comment 140 caulier.gilles 2024-02-17 09:40:53 UTC
Git commit 447db1dcbfda3d5529c5365c107808cd8fbbceb2 by Gilles Caulier.
Committed on 17/02/2024 at 09:39.
Pushed by cgilles into branch 'master'.

Do not remove KService debug symbols to hack infinite loop with KSysCoCa > 5.110 from the dektop.

M  +7    -1    project/bundles/appimage/04-build-appimage.sh

https://invent.kde.org/graphics/digikam/-/commit/447db1dcbfda3d5529c5365c107808cd8fbbceb2
Comment 141 caulier.gilles 2024-02-17 10:49:38 UTC
Git commit 871426f8cbb8a283c16911cc238897daa08ffe79 by Gilles Caulier.
Committed on 17/02/2024 at 10:48.
Pushed by cgilles into branch 'master'.

Upgrade KDE framework and Plasma SDK to last 5.115 version.

M  +2    -2    project/bundles/appimage/config.sh

https://invent.kde.org/graphics/digikam/-/commit/871426f8cbb8a283c16911cc238897daa08ffe79
Comment 142 caulier.gilles 2024-02-17 10:52:00 UTC
Hi mahikeulbody,

I upgraded KF5 to last 5.115 and not stripped the debug symbols in KService framework.

To get the GDB backtrace from KSyCoCa component while context menu is displayed, you need to use the AppImage with "-debug" suffix. The other one strip all debug symbols.

Best

Gilles
Comment 143 mahikeulbody 2024-02-17 10:55:55 UTC
Created attachment 165884 [details]
backtrace from 2024-02-17 10:43 bundle
Comment 144 caulier.gilles 2024-02-17 11:02:09 UTC
Maik,

Loook like it crash at this line :

#3  0x00007ffff45af431 in ?? () from /tmp/.mount_digikauHenV2/usr/lib/libQt5Core.so.5
#4  0x00007ffff35fd917 in KBuildServiceFactory::populateServiceTypes (this=this@entry=0x5555658c9880)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/sycoca/kbuildservicefactory.cpp:305             <<<<=======!!!!!!!!!
#5  0x00007ffff35fe33a in KBuildServiceFactory::postProcessServices (this=this@entry=0x5555658c9880)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/sycoca/kbuildservicefactory.cpp:236
#6  0x00007ffff3604441 in KBuildSycoca::save (this=this@entry=0x7fffffffb870, str=str@entry=0x5555658c95f0)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/sycoca/kbuildsycoca.cpp:526
#7  0x00007ffff36079c5 in KBuildSycoca::recreate (this=this@entry=0x7fffffffb870, incremental=incremental@entry=true)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/sycoca/kbuildsycoca.cpp:426
#8  0x00007ffff35f1454 in KSycocaPrivate::buildSycoca (this=0x5555656611d0)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/sycoca/ksycoca.cpp:701
#9  0x00007ffff35f1eb4 in KSycocaPrivate::checkDatabase (this=<optimized out>, ifNotFound=..., ifNotFound@entry=...)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/sycoca/ksycoca.cpp:513
#10 0x00007ffff35f2224 in KSycoca::ensureCacheValid (this=0x7fff780d1960) at ././/include/QtCore/qflags.h:121
#11 0x00007ffff35c09c2 in mimeTypeSycocaServiceOffers (mimeType=...)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/services/kapplicationtrader.cpp:35
#12 KApplicationTrader::queryByMimeType(QString const&, std::function<bool (QExplicitlySharedDataPointer<KService> const&)>) (mimeType=..., filterFunc=...)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/services/kapplicationtrader.cpp:100
#13 0x00007ffff60fff3b in Digikam::DServiceMenu::servicesForOpenWith (urls=...)
    at /b/master/dktemp/digikam-master/core/libs/threadimageio/engine/dservicemenu_linux.cpp:247


Source code relevant is this one :

https://invent.kde.org/frameworks/kservice/-/blob/v5.115.0/src/sycoca/kbuildservicefactory.cpp?ref_type=tags#L305

Gilles
Comment 145 caulier.gilles 2024-02-17 11:06:11 UTC
mahikeulbody,

Please reproduce the GDB backtrace, and in GDB prompt, switch to the frame #4 like this :

(gdb) f 4

After that, show the current variables contents with GDB prompt:

(gdb) p stName
(gdb) p otherType
(gdb) p mime

... Just to see if we can discovers the in-deep source of the problem...

Gilles
Comment 146 mahikeulbody 2024-02-17 11:14:32 UTC
Created attachment 165887 [details]
backtrace from 2024-02-17 10:43 bundle and addicional bt cde
Comment 147 mahikeulbody 2024-02-17 11:16:26 UTC
I am not sure to have do right, let me retry.
Comment 148 mahikeulbody 2024-02-17 11:21:23 UTC
Created attachment 165888 [details]
retry but it seems the same
Comment 149 mahikeulbody 2024-02-17 12:28:30 UTC
To now, start Digikam 8.2 after a try with Digikam 8.3.appimage run without problem. But this time after to run the last appimage bundle, I get a warning starting Digikam8.2 (see attached screencopy). I tried to do a maintenance database cleaning, including thumbnail database, but I get ever this warning. Is it related to the last bundle ?
Comment 150 mahikeulbody 2024-02-17 12:29:03 UTC
Created attachment 165895 [details]
screen copy at startup fo digikam 8.2
Comment 151 mahikeulbody 2024-02-17 12:29:40 UTC
after the warning, all seems ok.
Comment 152 caulier.gilles 2024-02-17 12:35:18 UTC
The warning must come from an upgraded DB version done by 8.3.0. 8.2.0 cannot handle it properly as there is no regression possible.

It's not a blocking warning at all.

Gilles
Comment 153 caulier.gilles 2024-02-17 12:39:05 UTC
The backtrace investigation are not fine, because the number of GDB frames has changed between digiKam sessions.

Look this line from your last trace :

#8  0x00007ffff35fd917 in KBuildServiceFactory::populateServiceTypes (this=this@entry=0x555560ae6810)
    at /b/master/ext_kf5/ext_kservice-prefix/src/ext_kservice/src/sycoca/kbuildservicefactory.cpp:305

The "#8" on the front is the frame number. You must switch GDB to this frame ID to be able to show the variable the kbuildservicefactory.cpp at line 305.

Gilles
Comment 154 Maik Qualmann 2024-02-17 12:40:18 UTC
There is no thumbnail database update between 8.2.0 and 8.3.0. Your database has probably been destroyed by the crashes (loops) and forced exits. Or there are too many file handlers still open for the thumbnail database, maybe restart the computer.

Maik
Comment 155 caulier.gilles 2024-02-17 12:44:43 UTC
MAik,

This is a copy of the discussion from de KDE core mailling list about revisiting ksycoca :

// ------------------

ksycoca is a .desktop cache, and what changed in 5.0 was that mimetypes are no
longer defined by desktop files so indeed they are not in ksycoca anymore.

And the KParts are now using the Qt plugin JSON stuff so they don't use desktop
files anymore (right?).

But the main part still is in ksycoca: all the application desktop files.
And I don't believe this should change; here's why.

One purpose of ksycoca is to find out easily "what are the applications
associated with a given mimetype, by order of (user, otherwise desktop-
dependent default) preference". Without a cache, for mimetypes not listed in
any preference file, you have to iterate over a large number of desktop files to
find out which ones support it.

Another purpose is to organize the desktop files in a tree that is shown in the
K menu (based on Categories and that menu definition XML stuff). Without a
cache, the performance will be horrendous, won't it?

You can remove everything about "service types" from ksycoca if no plugin is
represented by a desktop file anymore, but I would advise against removing the
cache of application desktop files. IMHO, if you do, you'll end up
reimplementing a different one anyway at some point.

// ---------------------

Typically, the cache contents is based on JSON file definitions. I'm not sure to host the JSON files in the Appimage. 

The Q is: if the problem is relevant of these missing JSON files, why the problem appears with Plasma based on KF5 > 5.110 ?

Gilles
Comment 156 mahikeulbody 2024-02-17 13:04:06 UTC
(In reply to caulier.gilles from comment #153)
> The backtrace investigation are not fine, because the number of GDB frames
> has changed between digiKam sessions.

Please see the last attached backtrace.
Comment 157 mahikeulbody 2024-02-17 13:04:34 UTC
Created attachment 165899 [details]
with the right f cde
Comment 158 Maik Qualmann 2024-02-17 13:15:55 UTC
Ok, I'm a little further along. I unzipped the AppImage. It's something inside the "share" folder. If I rename this, it works without looping and the KService menu is correct. I'll narrow it down further later.

Maik
Comment 159 mahikeulbody 2024-02-17 13:46:51 UTC
(In reply to Maik Qualmann from comment #154)
> There is no thumbnail database update between 8.2.0 and 8.3.0.
You are right since 8.3 appimage displays also this warning now.

> Or there are too many file handlers still open for the thumbnail database, maybe restart the computer.
No change after a restart.

> Your database has probably been destroyed by the crashes (loops) and forced exits. 
Probably but never mind, I can rebuild the database from files or a backup, it is not a problem.
Comment 160 Maik Qualmann 2024-02-17 14:43:25 UTC
Two files in the AppImage cause the loop, both files must not exist:

APPIMAGE_BASE/usr/share/mime/packages/freedesktop.org.xml
APPIMAGE_BASE/usr/share/mime/mime.cache

If I remember correctly, the "freedesktop.org.xml" is also used by QMimeDatabase, so it should be there.

Maik
Comment 161 Maik Qualmann 2024-02-17 15:09:14 UTC
What's interesting is that when I swap the files with those from my openSUSE system, there is no loop either.
This means that the contents of the files lead to the loop.

Maik
Comment 162 caulier.gilles 2024-02-17 16:33:49 UTC
Hi Maik,

Ok, the mime.cache has nothing to do it the AppImage bundle. I will drop it as well.

Gilles
Comment 163 caulier.gilles 2024-02-17 16:42:36 UTC
The famous giant freedesktop.org.xml file. Why i don't think about this stuff before.

Look the in VCPKG packager, this file do not exists from the Microsoft tool, so i taken one from Linux Kubuntu (probably 23.04), and i put the file in install rules, else Qt6 do not works at all.

https://invent.kde.org/graphics/digikam/-/tree/master/project/bundles/vcpkg/data?ref_type=heads

This want mean that KF5 > 5.110 requires a freedesktop.org data up-to-date, else Plasma desktop will have dysfunctions (typically on older Linux distros).

Gilles
Comment 164 caulier.gilles 2024-02-17 16:48:31 UTC
Git commit df807d2620aa7ca6ea6ec8858a4864285399b6fb by Gilles Caulier.
Committed on 17/02/2024 at 16:47.
Pushed by cgilles into branch 'master'.

up-to-date freedesktop.org.xml database in the AppImage bundle

M  +4    -0    project/bundles/appimage/04-build-appimage.sh
A  +43765 -0    project/bundles/appimage/data/freedesktop.org.xml

https://invent.kde.org/graphics/digikam/-/commit/df807d2620aa7ca6ea6ec8858a4864285399b6fb
Comment 165 mahikeulbody 2024-02-17 17:25:34 UTC
The problem is still present.   (2024-02-17 17:17 bundle)
Comment 166 mahikeulbody 2024-02-17 17:42:44 UTC
Created attachment 165908 [details]
backtrace from 2024-02-17 17:34 bundle
Comment 167 Maik Qualmann 2024-02-17 18:04:37 UTC
It's definitely the freedesktop.org.xml, the DIFF to my system from openSUSE is no longer as big as before, but still significant. I can change my freedesktop.org.xml (remove types), the loop doesn't occur.
Gilles, I'll send you my freedesktop.org.xml as a ZIP to integrate and test.

Maik
Comment 168 caulier.gilles 2024-02-17 18:24:39 UTC
Git commit fb8020f492dcf85986e3878ea468159cedd2676a by Gilles Caulier.
Committed on 17/02/2024 at 18:23.
Pushed by cgilles into branch 'master'.

try with xml fole from Maik.

M  +6356 -5196 project/bundles/appimage/data/freedesktop.org.xml

https://invent.kde.org/graphics/digikam/-/commit/fb8020f492dcf85986e3878ea468159cedd2676a
Comment 169 mahikeulbody 2024-02-17 19:02:01 UTC
The problem is still there with 2024-02-17 18:52 bundle.
Comment 170 Maik Qualmann 2024-02-17 19:17:01 UTC
Ok, the AppImage now works here with openSUSE, which is probably clear because of the file from openSUSE. I looked for which entry in the file was causing the problem for me, this entry is it:

Loop:

<mime-type type="application/javascript">
...
<alias type="application/x-javascript"/>
<alias type="text/javascript"/>
<sub-class-of type="application/ecmascript"/>

---------------------------------------------------------------------

openSUSE:

<mime-type type="text/javascript">
...
<alias type="application/x-javascript"/>
<alias type="application/javascript"/>
<alias type="text/jscript"/>
<sub-class-of type="application/x-executable"/>
<sub-class-of type="text/plain"/>

You can see that there is no "application/javascript" entry, it is defined as "text" and the aliases are set accordingly.

Maik
Comment 171 mahikeulbody 2024-02-17 19:19:12 UTC
Created attachment 165913 [details]
backtrace from 2024-02-17 19h08 bundle
Comment 172 caulier.gilles 2024-02-22 06:39:57 UTC
@mahikeulbody,

It sound like a file from the AppImage bundle break the KSyCoca API. I think it's not only the freedesktop XML database, but perhaps another file hosted in the archive.

Can you :

1/ extract the AppImage contents locally using the "--appimage-extract'" command line option.
2/ In the subdir just create, you will find the AppRun shell script used to start the application. If you run it locally, this will give exactly the same result, than starting the non extracted AppImage. You can investigate easily with the bundle contents.
3/ The famous freedesktop XMl file is located in 

APPIMAGE_BASE/usr/share/mime/packages/

and other files are just in the up directory:

APPIMAGE_BASE/usr/share/mime/

Typically the contents of this dirs is copied from the VM linux to the bundles (XUbuntu 20.04). The freedesktop XML file is now overwritten with the version given by Maik.

4/ Can you copy the freedesktop XML file from your system to the local AppImage directly to see if it's better ?

5/ Can you take a look if other files in APPIMAGE_BASE/usr/share/mime/ can have sideeffects ? Typically, take a look if removing files or replacing with ones from your computer improve this situation ?

Best

Gilles
Comment 173 mahikeulbody 2024-02-22 11:31:27 UTC
Ok (but probably not today).

A question : I have not APPIMAGE_BASE environment variable. I can use directly the freedesktop file from /usr/share/mime/packages/ ?
Comment 174 caulier.gilles 2024-02-22 11:39:22 UTC
>A question : I have not APPIMAGE_BASE environment variable. 

 APPIMAGE_BASE want mean the root directory of the extracted AppImage contents.

>I can use directly the freedesktop file from /usr/share/mime/packages/ ?

yes, this is how Maik test it.

Gilles
Comment 175 mahikeulbody 2024-02-23 11:30:20 UTC
I tried replacing APPIMAGE/.../packages/freedesktop file by the one from /usr/share/mime/packages/ : same freeze/loop.

I tried replacing each APPIMAGE/.../packages/files by the corresponding one from /usr/share/mime/packages/ : same freeze/loop.

I tried removing (one by one) each APPIMAGE/.../packages/file : same freeze/loop.

I tried copying the full content from /usr/share/mime/packages/  to APPIMAGE/.../packages/ : same freeze/loop.
Comment 176 Maik Qualmann 2024-02-23 13:09:35 UTC
Rename/remove freedesktop.org.xml

Maik
Comment 177 mahikeulbody 2024-02-23 13:11:51 UTC
(In reply to Maik Qualmann from comment #176)
> Rename/remove freedesktop.org.xml

As I said, "I tried removing (one by one) each APPIMAGE/.../packages/file : same freeze/loop."
Comment 178 Maik Qualmann 2024-02-24 10:42:33 UTC
*** Bug 481753 has been marked as a duplicate of this bug. ***
Comment 179 Maik Qualmann 2024-02-26 12:26:18 UTC
Gilles,

I think we will remove KService from digiKam. I'm starting this evening to write a parser for *.desktop files. It would have the advantage that we could also create *.desktop files for Windows. What do you think?

Maik
Comment 180 caulier.gilles 2024-02-26 14:43:17 UTC
Hi Maik,

Yes, i agree with this idea. I thinking about this way to wrap around the problematic KDE framework dependencies.

Gilles
Comment 181 Maik Qualmann 2024-02-26 21:41:00 UTC
Git commit 3c4f76c0c237a21064374813d3e9c509f274f7b2 by Maik Qualmann.
Committed on 26/02/2024 at 21:40.
Pushed by mqualmann into branch 'master'.

just a first hack for an open with service menu without KService
1. I need feedback from non-KF5 Linux desktops.
2. The search for applications should be static.

M  +1    -0    core/app/items/utils/contextmenuhelper_p.h
M  +16   -3    core/app/items/utils/contextmenuhelper_services.cpp
M  +26   -0    core/libs/threadimageio/engine/dservicemenu.h
M  +108  -0    core/libs/threadimageio/engine/dservicemenu_linux.cpp

https://invent.kde.org/graphics/digikam/-/commit/3c4f76c0c237a21064374813d3e9c509f274f7b2
Comment 182 KaiB 2024-02-27 06:46:19 UTC
Negative, Gnome version 44.9:

[digikam8@n5ylmf5j4dwqm9amno8-1 Lataukset]$ ./digiKam-8.3.0-20240224T114824-x86-64.appimage 
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
--        to extract the bundle contents locally, use option '--appimage-extract' on the command line.
-- Detected host Linux -64-
-- AppImage mounted directory: /tmp/.mount_digiKaunjeR7
Check library libudev.so.0
Check library libxcb-dri3.so.0
Check library libcrypto.so.1.1
Check library libssl.so.1.1
Check library libnss3.so
Check library libnssutil3.so
Check library libsmime3.so
Check library libgmodule-2.0.so.0
Check library libgnutls.so.30
-- Preloading shared libs: :/usr/lib64/libxcb-dri3.so.0:/usr/lib64/libnss3.so:/usr/lib64/libnssutil3.so:/usr/lib64/libsmime3.so:/usr/lib64/libgmodule-2.0.so.0:/usr/lib64/libgnutls.so.30
Digikam::OpenfacePreprocessor::loadModels: Cannot found faces engine model "shapepredictor.dat"
Digikam::OpenfacePreprocessor::loadModels: Faces recognition feature cannot be used!
Digikam::DNNFaceExtractor::loadModels: Cannot found faces engine DNN model "openface_nn4.small2.v1.t7"
Digikam::DNNFaceExtractor::loadModels: Faces recognition feature cannot be used!
unknown: Sonnet: No speller backends available!
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: Interpolation "$[gen %1]" in "$[gen %1] &asetukset..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[gen %1]" in "$[gen %1] käyttö&ohj..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[elat %1]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'elat'."
unknown: Interpolation "$[yleisnimi_pienellä $[elat %1] ]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'yleisnimi_pienellä'."
unknown: Interpolation "$[gen %1]" in "$[gen %1] &asetukset..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[gen %1]" in "$[gen %1] käyttö&ohj..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[elat %1]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'elat'."
unknown: Interpolation "$[yleisnimi_pienellä $[elat %1] ]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'yleisnimi_pienellä'."
unknown: Unhandled container to remove :  Digikam::DigikamApp
unknown: Interpolation "$[gen %1]" in "$[gen %1] &asetukset..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[gen %1]" in "$[gen %1] käyttö&ohj..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[elat %1]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'elat'."
unknown: Interpolation "$[yleisnimi_pienellä $[elat %1] ]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'yleisnimi_pienellä'."
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: Interpolation "$[gen %1]" in "$[gen %1] &asetukset..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[gen %1]" in "$[gen %1] käyttö&ohj..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[elat %1]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'elat'."
unknown: Interpolation "$[yleisnimi_pienellä $[elat %1] ]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'yleisnimi_pienellä'."
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: No language dictionaries for the language: "en_US"
unknown: Interpolation "$[gen %1]" in "$[gen %1] &asetukset..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[gen %1]" in "$[gen %1] käyttö&ohj..." failed: "Unregistered call to 'gen'."
unknown: Interpolation "$[elat %1]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'elat'."
unknown: Interpolation "$[yleisnimi_pienellä $[elat %1] ]" in "&Tietoa $[yleisnimi_..." failed: "Unregistered call to 'yleisnimi_pienellä'."
Comment 183 Maik Qualmann 2024-02-27 06:59:17 UTC
What is "Negative" in Gnome? The currently current AppImage (from February 24th, 2024) does not yet contain the last test change.

Maik
Comment 184 KaiB 2024-02-27 07:13:24 UTC
Sorry, you are right. It means nothing. My posts can be deleted.
Comment 185 Maik Qualmann 2024-02-27 07:27:30 UTC
Git commit 2ca6e26979eddbf703107c197a39cb7f2195ed32 by Maik Qualmann.
Committed on 27/02/2024 at 07:26.
Pushed by mqualmann into branch 'master'.

remove KService++

M  +3    -1    core/libs/threadimageio/engine/dservicemenu.h
M  +45   -32   core/libs/threadimageio/engine/dservicemenu_linux.cpp

https://invent.kde.org/graphics/digikam/-/commit/2ca6e26979eddbf703107c197a39cb7f2195ed32
Comment 186 Maik Qualmann 2024-02-27 07:37:24 UTC
Git commit 554f19e0ec52e4d95d707a4442def2aebaaae6b2 by Maik Qualmann.
Committed on 27/02/2024 at 07:36.
Pushed by mqualmann into branch 'master'.

remove KService++

M  +0    -2    core/app/main/main.cpp
M  +0    -5    core/app/utils/digikam_globals.h
M  +0    -46   core/app/utils/digikam_globals_bundles.cpp
M  +0    -2    core/showfoto/main/main.cpp

https://invent.kde.org/graphics/digikam/-/commit/554f19e0ec52e4d95d707a4442def2aebaaae6b2
Comment 187 caulier.gilles 2024-02-27 08:50:33 UTC
This evening, i will rebuild the AppImage with the last changes from Maik.

If this entry is fixed, we will be ready to release 8.3.0 this week end...

Gilles
Comment 188 Maik Qualmann 2024-02-27 17:59:40 UTC
Git commit 562ba609b8407bf8e1fe84868f1b09a7270acf70 by Maik Qualmann.
Committed on 27/02/2024 at 17:58.
Pushed by mqualmann into branch 'master'.

If we compile with KIO then we still use KService
With KIO we are on a real native KF5 desktop, so as not to
break the behavior we are still using KService for the time being.

M  +1    -1    core/app/items/utils/contextmenuhelper_p.h
M  +36   -19   core/app/items/utils/contextmenuhelper_services.cpp
M  +4    -0    core/libs/threadimageio/engine/dfileoperations.cpp
M  +60   -7    core/utilities/imageeditor/editor/editorwindow.cpp
M  +1    -0    core/utilities/imageeditor/editor/editorwindow_p.h

https://invent.kde.org/graphics/digikam/-/commit/562ba609b8407bf8e1fe84868f1b09a7270acf70
Comment 189 Maik Qualmann 2024-02-27 20:14:58 UTC
Git commit 088dc6a74f566d420781ef5e4de24a704a7d4c7e by Maik Qualmann.
Committed on 27/02/2024 at 20:14.
Pushed by mqualmann into branch 'master'.

use new service menu also for Windows

M  +52   -36   core/app/items/utils/contextmenuhelper_services.cpp

https://invent.kde.org/graphics/digikam/-/commit/088dc6a74f566d420781ef5e4de24a704a7d4c7e
Comment 190 caulier.gilles 2024-02-28 06:36:08 UTC
Hi,

The AppImage is up-to-date online this morning, with last changes from Maik.

Note : MXE build is done too. VCPKG is partially done (only the non debug version). Macports bundle is not yet updated.

Gilles
Comment 191 mahikeulbody 2024-02-28 08:35:52 UTC
The problem is still there with digiKam-8.3.0-20240227T212607-x86-64.appimage bundle.
Comment 192 caulier.gilles 2024-02-28 09:20:21 UTC
Maik, 

I must disable KIO in the AppImage to not enable KService ?

Gilles
Comment 193 Maik Qualmann 2024-02-28 09:42:07 UTC
Yes, I thought KIO was not active in the AppImage.  I don't want to remove KService for a native digiKam yet.

Maik
Comment 194 caulier.gilles 2024-02-28 16:12:50 UTC
Well, typically KIO do not work with AppImage, but the compilation detect it :

-- ----------------------------------------------------------------------------------
--  digiKam 8.3.0 dependencies results   <https://www.digikam.org>
-- 
--  MySQL Database Support will be compiled.. YES (optional)
--  MySQL Internal Support will be compiled.. YES (optional)
--  Showfoto Support will be compiled........ YES (optional)
--  DBUS Support will be compiled............ NO  (optional)
--  App. Style Support will be compiled...... YES (optional)
--  QWebEngine Support will be compiled...... YES (optional)
--  Geolocation Support will be compiled..... YES (optional)
--  Media Player Support will be compiled.... YES (optional)
--  QtMultimedia Support will be compiled.... NO  (optional)
--  libboostgraph found...................... YES
--  LibExiv2 found........................... YES
--  libexpat found........................... YES
--  libjpeg found............................ YES
--  libkde found............................. YES
--  liblcms found............................ YES
--  libopencv found.......................... YES
--  libpng found............................. YES
--  libpthread found......................... YES
--  libqt found.............................. YES
--  libtiff found............................ YES
--  bison found.............................. YES (optional)
--  doxygen found............................ NO  (optional)
--  digiKam will be compiled without API documentation building support.
--  Please install the doxygen (version >= 1.8.0) development package.
-- 
--  ccache found............................. YES (optional)
--  flex found............................... YES (optional)
--  libakonadicontact found.................. NO  (optional)
--  digiKam will be compiled without KDE desktop address book support.
--  Please install the libakonadicontact (version >= 5.19.0) development package.
-- 
--  libimagemagick found..................... YES (optional)
--  libeigen3 found.......................... YES (optional)
--  libgphoto2 found......................... YES (optional)
--  libjasper found.......................... YES (optional)
--  libkcalendarcore found................... YES (optional)
--  libkfilemetadata found................... NO  (optional)
--  digiKam will be compiled without KDE desktop file metadata support.
--  Please install the libkfilemetadata (version >= 5.95.0) development package.
-- 
--  libkiconthemes found..................... YES (optional)
--  libkio found............................. YES (optional)
--  libknotifications found.................. YES (optional)
--  libknotifyconfig found................... YES (optional)
--  libsonnet found.......................... YES (optional)
--  libksane found........................... YES (optional)
--  liblensfun found......................... YES (optional)
--  libglib2 found........................... YES (optional)
--  libthreadweaver found.................... YES (optional)
--  libxml2 found............................ YES (optional)
--  libxslt found............................ YES (optional)
--  libheif found............................ YES (optional)
--  libx265 found............................ YES (optional)
--  OpenGL found............................. YES (optional)
--  libqtxmlpatterns found................... YES (optional)
--  digiKam can be compiled.................. YES
-- ----------------------------------------------------------------------------------

Gilles
Comment 195 caulier.gilles 2024-02-28 16:25:39 UTC
Git commit 98cae673a56daa06e93d01115440d5bab8df0b2e by Gilles Caulier.
Committed on 28/02/2024 at 16:22.
Pushed by cgilles into branch 'master'.

reactivate KIO support cmake option, removed when ???

M  +2    -1    Mainpage.dox
M  +15   -8    core/cmake/rules/RulesKDEFramework.cmake
M  +2    -1    core/cmake/rules/RulesOptionDefinitions.cmake

https://invent.kde.org/graphics/digikam/-/commit/98cae673a56daa06e93d01115440d5bab8df0b2e
Comment 196 mahikeulbody 2024-02-28 17:30:12 UTC
No more freeze/loop with the digiKam-8.3.0-20240228T163216-x86-64.appimage !

Are there functional differences with the "normal" version ?
Comment 197 Maik Qualmann 2024-02-28 17:43:43 UTC
The difference is the "Open with..." menu. Programs are listed for you and can call up the selected image?

Maik
Comment 198 mahikeulbody 2024-02-28 17:50:58 UTC
They are listed (Gwenview, Darktable, showFoto, Okular, ... ) and I can open the picture with the program selected.
Comment 199 Maik Qualmann 2024-02-28 17:52:50 UTC
One difference that I have here is that, for example, the VLC player is also linked to image mime. It is not listed as an image viewer in the KF5 service menu. In fact it has an image mime entry in its list and can also display a JPG. So the question is to introduce a weighting so that if other mime types predominate, not include him as a image viewer in the list?

For me, however, the question is whether programs can also be found under pure Ubuntu/Debian.

Maik
Comment 200 mahikeulbody 2024-02-28 18:03:34 UTC
Indeed, here I have LibreOffice Draw, VLC and Reader (I don't have any program called "Reader" ???) that they are not listed with 8.2.


(by the way, the About of 8.3 displays 8.2 instead of 8.3)
Comment 201 mahikeulbody 2024-02-28 18:05:03 UTC
> (by the way, the About of 8.3 displays 8.2 instead of 8.3)

Forget this comment, I made a mistake.
Comment 202 Maik Qualmann 2024-02-28 18:10:37 UTC
We currently include anything that has an image (or video) mime type in its *.desktop file. I see that as more of an advantage at the moment.

I still have a "pure" Ubuntu 22.04 as a VM, a test shows that it works!
With a JPG image, 6 programs are displayed, Image Viewer, Shotwell..., can also be started, looks good.

Maik
Comment 203 KaiB 2024-02-28 19:02:48 UTC
Latest appimage works without errors on Fedora 38 and Gnome 44.9. Tested with the opening of a raw file with rawtherapee. Are there any othere test cases?
Comment 204 Maik Qualmann 2024-03-01 21:45:01 UTC
Git commit fddc652e601b24b345f147d3a09b936d4e1b9b3a by Maik Qualmann.
Committed on 01/03/2024 at 21:44.
Pushed by mqualmann into branch 'master'.

add the first two desktop files for Windows

M  +6    -0    core/data/CMakeLists.txt
A  +10   -0    core/data/applications/CMakeLists.txt
A  +6    -0    core/data/applications/darktable.desktop
A  +6    -0    core/data/applications/rawtherapee.desktop

https://invent.kde.org/graphics/digikam/-/commit/fddc652e601b24b345f147d3a09b936d4e1b9b3a