Bug 466170 - Digikam 7.9.0 (and 7.8.0) crashes on startup
Summary: Digikam 7.9.0 (and 7.8.0) crashes on startup
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Scan (show other bugs)
Version: 7.9.0
Platform: macOS (DMG) macOS
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-20 23:10 UTC by SkyDiver
Modified: 2023-05-04 06:15 UTC (History)
3 users (show)

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


Attachments
Runtime log (30.24 KB, text/plain)
2023-02-20 23:10 UTC, SkyDiver
Details
attachment-3424843-0.html (18.59 KB, text/html)
2023-04-14 07:06 UTC, Rainer Dorsch
Details
Full backtrace log according to Debian description (88.16 KB, text/x-log)
2023-04-14 07:15 UTC, Rainer Dorsch
Details
Backtrace after "Show Splash=false" in digikamrc (100.14 KB, text/x-log)
2023-04-14 12:21 UTC, Rainer Dorsch
Details
Xorg.0.log (46.98 KB, text/x-log)
2023-04-14 20:31 UTC, Rainer Dorsch
Details
digikam download dialog just before the crash (248.17 KB, image/png)
2023-04-20 20:18 UTC, Rainer Dorsch
Details
backtrace of crash on digikam with ENABLE_DBUS=OFF (90.32 KB, text/x-log)
2023-04-21 20:33 UTC, Rainer Dorsch
Details
Log of digikam 4:7.9.0-2 (latest Debian version) (92.10 KB, text/x-log)
2023-05-01 15:40 UTC, Rainer Dorsch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description SkyDiver 2023-02-20 23:10:23 UTC
Created attachment 156556 [details]
Runtime log

One day last year and prev version (7.8.0) Digikam just stopped launching and ended up crashing on startup.
I tried it once in a while with the same result so I let it go.
Downloaded v7.9.0 today but the same behavior happens.
See attached log file for more details.

STEPS TO REPRODUCE
1. Launch Digikam

OBSERVED RESULT
Crash with: ASSERT: "!isEmpty()" in file /opt/digikam.org.x86_64/libexec/qt5/lib/QtCore.framework/Headers/qlist.h, line 363

EXPECTED RESULT
Launch as expected.

SOFTWARE/OS VERSIONS
macOS: 12.6.3

ADDITIONAL INFO
I have two databases, so to verify it's not related to just one of them, I renamed the digikam directory and relaunched the app to get the database choosing form. I then chose the other database, but the app is crashing in the very same way.
Both databases have the files hosted on a NAS. I verified the paths are properly mounted before launching the app.
Comment 1 Maik Qualmann 2023-02-21 06:47:03 UTC
Please try the upcoming digiKam-7.10.0 from here:

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

Can you try to backtrace with lldb the crash on macOS?

https://www.digikam.org/contribute/

Maik
Comment 2 Rainer Dorsch 2023-04-13 20:13:06 UTC
The same or a similar issue affects digikam 7.9.0 in the upcoming Debian 12 release:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034310
Comment 3 Maik Qualmann 2023-04-14 06:35:54 UTC
Rainer, please create a gdb backtrace:

gdb digikam
"r" + Enter (run)
crash occurs...
"bt" + Enter (show backtrace)

Maik
Comment 4 Rainer Dorsch 2023-04-14 07:06:38 UTC
Created attachment 158096 [details]
attachment-3424843-0.html

Am Freitag, 14. April 2023, 08:35:54 CEST schrieben Sie:
> https://bugs.kde.org/show_bug.cgi?id=466170
> 
> --- Comment #3 from Maik Qualmann <metzpinguin@gmail.com> ---
> Rainer, please create a gdb backtrace:
> 
> gdb digikam
> "r" + Enter (run)
> crash occurs...
> "bt" + Enter (show backtrace)
> 

Hi Maik,

many thanks for your quick reply.

Looking at the instructions to get a backtrace in Debian https://
wiki.debian.org/HowToGetABacktrace there are additional comments on pagination 
and multi-threaded appplications. I installed debug symbols before running gdb 
and then applied your commands above.

Please let me know, if that does not contain the relevant information.

rd@h370:~/tmp.nobackup$ gdb digikam
GNU gdb (Debian 13.1-2) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from digikam...
Reading symbols from /usr/lib/debug/.build-id/
65/06bc1a58de211baacb328984f5304a97cdc150.debug...
(gdb) r
Starting program: /usr/bin/digikam 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffd9bac6c0 (LWP 327831)]
[New Thread 0x7fffd93ab6c0 (LWP 327832)]
[New Thread 0x7fffc8baa6c0 (LWP 327833)]
[New Thread 0x7fffc83a96c0 (LWP 327834)]
[New Thread 0x7fffbfba86c0 (LWP 327835)]
[New Thread 0x7fffaebff6c0 (LWP 327836)]
[New Thread 0x7fffad7ff6c0 (LWP 327837)]
[New Thread 0x7fffacffe6c0 (LWP 327838)]
[New Thread 0x7fff9d9ff6c0 (LWP 327839)]
[New Thread 0x7fff9d1fe6c0 (LWP 327840)]
[New Thread 0x7fff9c9fd6c0 (LWP 327841)]
[New Thread 0x7fff87fff6c0 (LWP 327842)]
[Thread 0x7fff87fff6c0 (LWP 327842) exited]
[New Thread 0x7fff87fff6c0 (LWP 327843)]
[New Thread 0x7fff877fe6c0 (LWP 327844)]
[New Thread 0x7fff863ff6c0 (LWP 327845)]
[New Thread 0x7fff85bfe6c0 (LWP 327846)]
[New Thread 0x7fff853fd6c0 (LWP 327847)]
[Thread 0x7fff853fd6c0 (LWP 327847) exited]
[New Thread 0x7fff853fd6c0 (LWP 327848)]
[New Thread 0x7fff6ebff6c0 (LWP 327849)]
[New Thread 0x7fff6e3fe6c0 (LWP 327850)]
[New Thread 0x7fff6dbfd6c0 (LWP 327851)]
[New Thread 0x7fff5ffff6c0 (LWP 327852)]
digikam.facedb: Cannot found faces engine model "shapepredictor.dat"
digikam.facedb: Faces recognition feature cannot be used!
digikam.facedb: Cannot found faces engine DNN model 
"openface_nn4.small2.v1.t7"
digikam.facedb: Faces recognition feature cannot be used!
[New Thread 0x7fff5f7fe6c0 (LWP 327853)]
[Thread 0x7fff5f7fe6c0 (LWP 327853) exited]
[New Thread 0x7fff5f7fe6c0 (LWP 327854)]
[Detaching after fork from child process 327855]
[Thread 0x7fffbfba86c0 (LWP 327835) exited]
[Thread 0x7fffc83a96c0 (LWP 327834) exited]
[Thread 0x7fffc8baa6c0 (LWP 327833) exited]
[Thread 0x7fffd93ab6c0 (LWP 327832) exited]
[Thread 0x7fffd9bac6c0 (LWP 327831) exited]
[Detaching after fork from child process 327856]
[Detaching after fork from child process 327857]
[New Thread 0x7fffbfba86c0 (LWP 327860)]
[New Thread 0x7fffc83a96c0 (LWP 327861)]
[New Thread 0x7fffc8baa6c0 (LWP 327862)]
[New Thread 0x7fffd93ab6c0 (LWP 327863)]
[New Thread 0x7fffd9bac6c0 (LWP 327864)]
[New Thread 0x7fff5ec726c0 (LWP 327865)]
[New Thread 0x7fff5e4716c0 (LWP 327866)]
[New Thread 0x7fff5cc6e6c0 (LWP 327869)]
[New Thread 0x7fff5d46f6c0 (LWP 327868)]
[New Thread 0x7fff3ffff6c0 (LWP 327870)]
[New Thread 0x7fff5dc706c0 (LWP 327867)]
[New Thread 0x7fff3f7fe6c0 (LWP 327871)]
[New Thread 0x7fff3effd6c0 (LWP 327872)]
[New Thread 0x7fff3e7fc6c0 (LWP 327873)]
[Thread 0x7fff3e7fc6c0 (LWP 327873) exited]
[New Thread 0x7fff3e7fc6c0 (LWP 327874)]
[Thread 0x7fff3e7fc6c0 (LWP 327874) exited]
[New Thread 0x7fff3e7fc6c0 (LWP 327875)]
[New Thread 0x7fff3dffb6c0 (LWP 327876)]
[New Thread 0x7fff3d7fa6c0 (LWP 327877)]
[New Thread 0x7fff3cff96c0 (LWP 327878)]
[New Thread 0x7fff0bfff6c0 (LWP 327879)]
[New Thread 0x7fff0affd6c0 (LWP 327881)]
[New Thread 0x7fff0b7fe6c0 (LWP 327880)]
kf.xmlgui: Unhandled container to remove :  Digikam::DigikamApp
[New Thread 0x7fff0a7fc6c0 (LWP 327894)]
[New Thread 0x7fff09ffb6c0 (LWP 327895)]
[New Thread 0x7fff097fa6c0 (LWP 327896)]
[New Thread 0x7fff08ff96c0 (LWP 327897)]
[New Thread 0x7ffeebfff6c0 (LWP 327898)]
[New Thread 0x7ffeeb7fe6c0 (LWP 327899)]
[Thread 0x7fff0a7fc6c0 (LWP 327894) exited]
[Thread 0x7ffeebfff6c0 (LWP 327898) exited]
[Thread 0x7fff09ffb6c0 (LWP 327895) exited]
[Thread 0x7ffeeb7fe6c0 (LWP 327899) exited]
[Thread 0x7fff097fa6c0 (LWP 327896) exited]
ASSERT: "!isEmpty()" in file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, 
line 363

Thread 1 "digikam" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, 
no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44      ./nptl/pthread_kill.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, 
signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x00007ffff4ca9d2f in __pthread_kill_internal (signo=6, threadid=<optimized 
out>) at ./nptl/pthread_kill.c:78
#2  0x00007ffff4c5aef2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/
raise.c:26
#3  0x00007ffff4c45472 in __GI_abort () at ./stdlib/abort.c:79
#4  0x00007ffff4e90c79 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff4e90024 in qt_assert_x(char const*, char const*, char const*, 
int) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007ffff778ec2f in  () at /usr/lib/digikam/libdigikamgui.so.7.9.0
#7  0x00007ffff778ec7d in  () at /usr/lib/digikam/libdigikamgui.so.7.9.0
#8  0x00007ffff50e8f7c in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007ffff50ecd6a in QTimer::timeout(QTimer::QPrivateSignal) () at /lib/
x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff50dd50d in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/
libQt5Core.so.5
#11 0x00007ffff5d62fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) 
() at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff50b16f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) 
() at /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff5108c31 in QTimerInfoList::activateTimers() () at /lib/x86_64-
linux-gnu/libQt5Core.so.5
#14 0x00007ffff51094c4 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007fffe88627a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/
libglib-2.0.so.0
#16 0x00007fffe8862a38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007fffe8862acc in g_main_context_iteration () at /lib/x86_64-linux-gnu/
libglib-2.0.so.0
#18 0x00007ffff5109836 in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff50b1831 in 
QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>, int) () 
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff5f11e8a in QSplashScreen::finish(QWidget*) () at /lib/x86_64-
linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff77f3bed in Digikam::DigikamApp::show() () at /usr/lib/digikam/
libdigikamgui.so.7.9.0
#22 0x000055555555a015 in main(int, char**) (argc=<optimized out>, 
argv=<optimized out>) at ./core/app/main/main.cpp:395
(gdb) 

Thanks
Rainer
Comment 5 Rainer Dorsch 2023-04-14 07:15:47 UTC
Created attachment 158097 [details]
Full backtrace log according to Debian description

Maybe the additional information helps, which I get when running with the 
backtrace procedure described in the Debian wiki

https://wiki.debian.org/HowToGetABacktrace
Comment 6 Maik Qualmann 2023-04-14 11:33:51 UTC
Thanks for the interesting backtrace. We have had these strange crashes in connection with the splash screen before, especially with macOS. It's a race condition. I'll fix it tonight. The patch will only be officially included in digiKam-8.1.0. Alternatively, you could already test it by setting the entry "Show Splash=true" to "Show Splash=false" in the digikamrc.

Maik
Comment 7 Rainer Dorsch 2023-04-14 12:21:31 UTC
Created attachment 158102 [details]
Backtrace after "Show Splash=false" in digikamrc

Setting "Show Splash=false" in digikamrc improved the situation somewhat (I think): the splash screen does not show anymore, which is expected. Two windows show up for a short moment, but I could not read what they want to tell me (it might be related to download something for faces) before running in the next crash.
Comment 8 Maik Qualmann 2023-04-14 17:37:50 UTC
While I still see a small problem with the handling of the Qt class with the splash screen, there is definitely no bug in digiKam with the file downloader. To do this, it crashes deep into Qt. There is almost certainly a problem with the QWebEngine packages in Debian. But we can't help at the moment. Do you use Wayland?

Maik
Comment 9 Maik Qualmann 2023-04-14 17:59:02 UTC
Git commit 28977ed2aac8a3575b979725e3141dd94b104833 by Maik Qualmann.
Committed on 14/04/2023 at 17:57.
Pushed by mqualmann into branch 'master'.

better handling of the QSplashScreen

M  +6    -2    core/app/main/digikamapp.cpp
M  +8    -3    core/libs/dialogs/dsplashscreen.cpp
M  +6    -2    core/showfoto/main/showfoto.cpp

https://invent.kde.org/graphics/digikam/commit/28977ed2aac8a3575b979725e3141dd94b104833
Comment 10 Rainer Dorsch 2023-04-14 20:31:37 UTC
Created attachment 158112 [details]
Xorg.0.log

Am Freitag, 14. April 2023, 19:37:50 CEST schrieben Sie:
> --- Comment #8 from Maik Qualmann <metzpinguin@gmail.com> ---
> While I still see a small problem with the handling of the Qt class with the
> splash screen, there is definitely no bug in digiKam with the file
> downloader. To do this, it crashes deep into Qt. There is almost certainly
> a problem with the QWebEngine packages in Debian. But we can't help at the
> moment. Do you use Wayland?

I use a classical Xorg setup.

I disabled the splash screen and there is still a problem?

Do you have any details with the problem in QtWebEngine? 

Currently, there are very few outstanding issues with QtWebEngine reported in 
Debian (or I check for the wrong packages):

https://bugs.debian.org/cgi-bin/pkgreport.cgi?package=libqt5webenginecore5
https://bugs.debian.org/cgi-bin/pkgreport.cgi?package=libqt5webengine5

Thanks
Rainer
Comment 11 Rainer Dorsch 2023-04-15 20:17:13 UTC
Hi Maik,

many thanks for the immediate fix.

I have two quick questions:
- Do you see a reason why the patch does not work for digikam 7.9, since Debian intends to ship digikam 7.9 with its next stable release and they might want to apply the patch?
- Is QtWebEngine a core component of digikam or is it just used for downloading data for an optional feature? If that would be the case, could I disable this optional feature or the download process (similarly as the splash screen)?

Thanks again
Rainer
Comment 12 caulier.gilles 2023-04-19 05:37:37 UTC
Hi Rainer,

>>> Do you see a reason why the patch does not work for digikam 7.9, since Debian intends to ship digikam 7.9 with its next stable release and they >>> might want to apply the patch?

8.0.0 is now released with more than 420 bugfixes. This entry is fixed now ?

- Is QtWebEngine a core component of digikam or is it just used for downloading data for an optional feature? If that would be the case, could I disable this optional feature or the download process (similarly as the splash screen)?

QtWebEngine is used to render and handle contents from Internet, as for ex, the login to WebServices.

Best

Giles Caulier
Comment 13 Rainer Dorsch 2023-04-19 11:30:20 UTC
I understood from Maik, that he fixed it for 8.1.0 (see comment 6).

Can I disable the faces feature that digikam does not try to start qtwebengine at startup to download data for faces or tries to login somewhere?
Comment 14 Maik Qualmann 2023-04-19 11:37:24 UTC
QWebEngine has nothing to do with face detection or the fiele downloader. The digiKam welcome page, shown when the root album is selected, uses the QWebEngine.
The question is do other KDE programs like KMail using the QWebEngine work without problems in Debian?

Maik
Comment 15 Maik Qualmann 2023-04-19 11:43:04 UTC
Furthermore, this termination is a Q_Assert, this would not lead to digiKam being terminated if compiled as "release" and not as "debug".

Maik
Comment 16 Rainer Dorsch 2023-04-19 12:51:00 UTC
(In reply to Maik Qualmann from comment #14)
> QWebEngine has nothing to do with face detection or the fiele downloader.
> The digiKam welcome page, shown when the root album is selected, uses the
> QWebEngine.
> The question is do other KDE programs like KMail using the QWebEngine work
> without problems in Debian?
> 

I can at least confirm that it works well with KMail and there are no serious open bug reports.
Comment 17 Rainer Dorsch 2023-04-19 13:00:06 UTC
(In reply to Maik Qualmann from comment #15)
> Furthermore, this termination is a Q_Assert, this would not lead to digiKam
> being terminated if compiled as "release" and not as "debug".

Here are the sources of the Debian digikam package

https://sources.debian.org/src/digikam/4%3A7.9.0-1/

I am not a Debian packaging expert, but the rules file controls the build process (which looks much leaner than what I have seen for other packages)

https://sources.debian.org/src/digikam/4%3A7.9.0-1/debian/rules/

I did not see an explicit debug target, but I can run a build process from sources later to check the output on the console.

They apply two patches

https://sources.debian.org/src/digikam/4%3A7.9.0-1/debian/patches/

but both look harmless from my (very limited) perspective.

I am wondering what would happen if I build with ENABLE_QWEBENGINE = OFF ? Would digikam still be of any use?
Comment 18 caulier.gilles 2023-04-19 13:03:01 UTC
>I am wondering what would happen if I build with ENABLE_QWEBENGINE = OFF ? Would digikam still be of any use?

digiKam will switch to QtWebkit, an older module replaced by QtWebEngine

Gilles
Comment 19 Rainer Dorsch 2023-04-19 18:26:39 UTC
I did run the build of the Debian package:

The cmake command which is used is

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_BUILD_TYPE=Debian -DCMAKE_INSTALL_RPATH=/usr/lib/digikam -DDIGIKAMSC_COMPILE_DOC=on -DDIGIKAMSC_COMPILE_PO=on -DENABLE_MYSQLSUPPORT=ON -DENABLE_INTERNALMYSQL=ON -DENABLE_KFILEMETADATASUPPORT=ON -DENABLE_AKONADICONTACTSUPPORT=ON -DENABLE_MEDIAPLAYER=OFF -DENABLE_QWEBENGINE=ON -DENABLE_APPSTYLES=ON

The full console output for the build process is in

https://bokomoko.de/~rd/Debian/digikam-build.log.xz

I could not see though if digikam is compiled as "release" or as "debug". Where is that configured? Is that now "release" or "debug"?

Thanks
Rainer
Comment 20 caulier.gilles 2023-04-19 19:30:51 UTC
Compilation with debug symbols or not is passed to cmake at compile time, like this :

https://invent.kde.org/graphics/digikam/-/blob/master/bootstrap.linux#L81
Comment 21 Rainer Dorsch 2023-04-19 20:24:03 UTC
"Debug" means with debug symbols?

Debian ships for each package (e.g. digikam) an additional package with debug symbols (e.g. digikam-dbgsym). To generate meaningful backtraces, the installation of the debug symbols package is required in addition to the regular package.

I am not sure how that works exactly, but that might be the reason for the "Debug" compile.
Comment 22 caulier.gilles 2023-04-19 23:54:37 UTC
>"Debug" means with debug symbols?

yes it is...
Comment 23 Maik Qualmann 2023-04-20 05:39:00 UTC
KMail basically disables the same features (2D acceleration because of the nouveau driver) as we do. But I see another possible cause in your log. Please compile digiKam without DBus support (-DENABLE_DBUS=OFF).

Maik
Comment 24 Rainer Dorsch 2023-04-20 20:16:41 UTC
Hi Maik,

thanks for your suggestion. I built without DBUS

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTE
NT_FULLY_DISCONNECTED=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_BUILD_TYPE=Debian -DCMAKE_INSTALL_RPATH=/usr/lib/digikam -DDIGIKAMSC_COMPILE_DOC=on -DDIGIKAMSC_COMPILE_PO=on -DENABLE_MYSQLSUPPORT=ON 
-DENABLE_INTERNALMYSQL=ON -DENABLE_KFILEMETADATASUPPORT=ON -DENABLE_AKONADICONTACTSUPPORT=ON -DENABLE_MEDIAPLAYER=OFF -DENABLE_QWEBENGINE=ON -DENABLE_APPSTYLES=ON -DENABLE_DBUS=OFF

Here is the full build log:

https://bokomoko.de/~rd/Debian/digikam-build-wo-DBUS.log.xz

Unfortunately, I see no change though in the behavior.
Comment 25 Rainer Dorsch 2023-04-20 20:18:49 UTC
Created attachment 158248 [details]
digikam download dialog just before the crash

I took a screenshot just before digikam crashes. The download dialog is displayed, but digikam crashes beforeI could select anything (and the windows disappear again).
Comment 26 caulier.gilles 2023-04-21 02:17:53 UTC
What's the GDB backtrace with the compiled version including the debug symbols ?
Comment 27 Rainer Dorsch 2023-04-21 20:33:57 UTC
Created attachment 158284 [details]
backtrace of crash on digikam with ENABLE_DBUS=OFF

The attachment contains the backtrace of a digikam crash, digikam was compiled with ENABLE_DBUS=OFF
Comment 28 Maik Qualmann 2023-04-21 20:52:15 UTC
Gilles, I can only find something about the QTimerInfoList in the Qt-4.8 doc that appears in the backtrace. In Qt-5.15 the class is no longer listed. Is that meanwhile a "private" Qt5 class?

Maik
Comment 29 caulier.gilles 2023-04-22 02:20:24 UTC
Hi Maik,

yes it's an internal private class in Qt5 : https://github.com/qt/qtbase/blob/v5.15.9-lts-lgpl/src/corelib/kernel/qtimerinfo_unix_p.h#L80

Gilles
Comment 30 caulier.gilles 2023-04-22 02:31:21 UTC
Maik,

This sound like a bug in Qt5, probably due to use a compilation option, or a binary compatibility problem with the Qt6 plugin which deal with X11/Wayland.

Gilles
Comment 31 caulier.gilles 2023-04-22 02:45:36 UTC
@SkyDiver,

About your original report concerning MacOS use, i recommend to try the 8.0.0 version released few days ago. Here under my MacBook pro, it never crash at start up. MacOS installer is available at usual place:

https://download.kde.org/stable/digikam/8.0.0/

Thanks in advance

Gilles Caulier
Comment 32 Rainer Dorsch 2023-05-01 15:40:00 UTC
Created attachment 158606 [details]
Log of digikam 4:7.9.0-2 (latest Debian version)

Steve Robbins, a Debian digikam maintainer, applied the patch for the splash screen issue to digikam 7.9 in the upcoming Debian 12 release:

https://sources.debian.org/src/digikam/4%3A7.9.0-2/debian/patches/0003-better-handling-of-the-QSpashScreen.patch/

I reenabled the splash screen in digikamrc.

I still see a crash during the splash screen with the patch.

Is there any reason why the patch should not work with 7.9?

I attach the crash log with this config.
Comment 33 Rainer Dorsch 2023-05-01 15:49:21 UTC
I just tested to start digikam for a new user on the same system.

The result was that it started without any problem, first through the setup assistant, at the second start-up the splash screen appeared an everything worked as expected.

To me it seems the problem only occurs with legacy configurations / databases. I upgraded from Debian 11 which ships digikam 7.1

Unfortunately,

root@h370:~# diff -u ~test/.config/digikamrc ~rd/.config/digikamrc|pastebinit
https://paste.debian.net/hidden/645dfdf6/
root@h370:~#

produces a huge list of differences.
Comment 34 Rainer Dorsch 2023-05-01 16:08:36 UTC
Renaming .config/digikamrc to .config/digikamrc.old resolved the problem for me.

I am not yet sure which information I lost with this.

It was quite impressive the digikam found the database file and so far it seems that everything works (though some things are slow, but maybe it is because digikam needs to regenerate some information?).
Comment 35 Maik Qualmann 2023-05-01 17:03:00 UTC
Thanks for the backtrace, the problem in slotEmptyMessageTimer() is known and was fixed about 5 months ago. We seem to have forgotten the backport to digiKam-7.x.x when I look at the history. Only with digiKam-8.0.0 will the problem no longer occur.

Maik
Comment 36 Rainer Dorsch 2023-05-03 10:17:09 UTC
(In reply to Rainer Dorsch from comment #34)
> ...(though some things are slow, but maybe it is
> because digikam needs to regenerate some information?).

Digiam found an old db file, which was on a network drive. Pointing digikam to a current db file resolved the performance issue.
Comment 37 caulier.gilles 2023-05-03 11:28:07 UTC
@Rainer

So this file can be closed now ?

Gilles Caulier
Comment 38 Rainer Dorsch 2023-05-04 06:14:08 UTC
Am Mittwoch, 3. Mai 2023, 13:28:07 CEST schrieben Sie:
> So this file can be closed now ?

There is still the other crash with the old config file. But since it goes away 
with a regenerated config file, it is not an urgent issue. Other Debian users 
upgrading from 7.1 to 7.9 might be affected as well.

I suggest to close the issue for now, I can run digikam on another machine 
before the upgrade and check if I hit the issue again after the upgrade. If 
yes, I can open a new issue and reference this issue (which was about the 
splash screen, which I understand is fixed in 8.x but not in 7.x).

Many thanks for debugging and fixing the issue.

Rainer
Comment 39 caulier.gilles 2023-05-04 06:15:18 UTC
Fine. Thanks for the feedback