Bug 414927 - Digikam is no longer working
Summary: Digikam is no longer working
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Mysql (show other bugs)
Version: 6.4.0
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2019-12-07 16:28 UTC by mippo
Modified: 2020-06-02 20:41 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description mippo 2019-12-07 16:28:27 UTC
Application: digikam (6.4.0)

Qt Version: 5.13.2
Frameworks Version: 5.64.0
Operating System: Linux 4.15.0-72-generic x86_64
Distribution: KDE neon User Edition 5.17

-- Information about the crash:
- What I was doing when the application crashed:
I left PC with some long operation, like search for a new picture or reorder into database.
Probably PC stopped or restarted suddenly, maybe damaging database.
Now I can't use DK and don't know where ae located databasa files.
But anyway, IMHO DK should start anyway, in order to allow user to recover from error.

- Custom settings of the application:
pictures on NAS, database on PC using mariaDB

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0d5623b340 (LWP 1673))]

Thread 4 (Thread 0x7f0d0357c700 (LWP 1849)):
#0  0x00007f0d518f89d0 in __GI___nanosleep (requested_time=requested_time@entry=0x7f0d0357b940, remaining=remaining@entry=0x7f0d0357b940) at ../sysdeps/unix/sysv/linux/nanosleep.c:28
#1  0x00007f0d524934fd in qt_nanosleep (amount=...) at kernel/qelapsedtimer_unix.cpp:195
#2  0x00007f0d555a90d9 in Digikam::DatabaseServer::run() () from /usr/lib/x86_64-linux-gnu/libdigikamcore.so.6.4.0
#3  0x00007f0d52250b52 in QThreadPrivate::start (arg=0x5581d8c53840) at thread/qthread_unix.cpp:360
#4  0x00007f0d515fc6db in start_thread (arg=0x7f0d0357c700) at pthread_create.c:463
#5  0x00007f0d5193588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f0d10ed3700 (LWP 1726)):
#0  0x00007f0d516029f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5581d8c41e20) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5581d8c41dd0, cond=0x5581d8c41df8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x5581d8c41df8, mutex=0x5581d8c41dd0) at pthread_cond_wait.c:655
#3  0x00007f0d52257aeb in QWaitConditionPrivate::wait (deadline=..., this=0x5581d8c41dd0) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait (this=<optimized out>, mutex=0x5581d8c20918, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f0d52257df9 in QWaitCondition::wait (this=0x5581d8c20920, mutex=0x5581d8c20918, time=<optimized out>) at thread/qwaitcondition_unix.cpp:208
#6  0x00007f0d5459f2e6 in Digikam::ScanController::run() () from /usr/lib/x86_64-linux-gnu/libdigikamgui.so.6.4.0
#7  0x00007f0d52250b52 in QThreadPrivate::start (arg=0x7f0d54eef400) at thread/qthread_unix.cpp:360
#8  0x00007f0d515fc6db in start_thread (arg=0x7f0d10ed3700) at pthread_create.c:463
#9  0x00007f0d5193588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f0d121c9700 (LWP 1681)):
#0  0x00007f0d519240b4 in __GI___libc_read (fd=8, buf=0x7f0d121c8760, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007f0d461702d0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0d4612b0b7 in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0d4612b570 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f0d4612b6dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0d52493b9b in QEventDispatcherGlib::processEvents (this=0x7f0d04000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f0d5243406a in QEventLoop::exec (this=this@entry=0x7f0d121c8970, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#7  0x00007f0d5224f3aa in QThread::exec (this=<optimized out>) at thread/qthread.cpp:531
#8  0x00007f0d48b9a0e5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f0d52250b52 in QThreadPrivate::start (arg=0x7f0d48e11d80) at thread/qthread_unix.cpp:360
#10 0x00007f0d515fc6db in start_thread (arg=0x7f0d121c9700) at pthread_create.c:463
#11 0x00007f0d5193588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f0d5623b340 (LWP 1673)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#7  0x00007f0d51854801 in __GI_abort () at abort.c:79
#8  0x00007f0d5222ccbb in qt_message_fatal (context=..., message=<synthetic pointer>...) at global/qlogging.cpp:1907
#9  QMessageLogger::fatal (this=this@entry=0x7fffb035ae50, msg=msg@entry=0x7f0d525213e8 "QThread: Destroyed while thread is still running") at global/qlogging.cpp:888
#10 0x00007f0d5224e2fd in QThread::~QThread (this=0x5581d8c53840, __in_chrg=<optimized out>) at thread/qthread.cpp:445
#11 0x00007f0d555a9069 in Digikam::DatabaseServer::~DatabaseServer() () from /usr/lib/x86_64-linux-gnu/libdigikamcore.so.6.4.0
#12 0x00007f0d5246447b in QObjectPrivate::deleteChildren (this=this@entry=0x5581d8c47b80) at kernel/qobject.cpp:2019
#13 0x00007f0d5246e113 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1032
#14 0x00007f0d555a76a9 in ?? () from /usr/lib/x86_64-linux-gnu/libdigikamcore.so.6.4.0
#15 0x00007f0d51857041 in __run_exit_handlers (status=0, listp=0x7f0d51bff718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
#16 0x00007f0d5185713a in __GI_exit (status=<optimized out>) at exit.c:139
#17 0x00007f0d51835b9e in __libc_start_main (main=0x5581d6ccd400 <main>, argc=3, argv=0x7fffb035b0e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb035b0d8) at ../csu/libc-start.c:344
#18 0x00005581d6cceeba in _start ()

Possible duplicates by query: bug 414922, bug 413943, bug 413708, bug 413508, bug 412300.

Reported using DrKonqi
Comment 1 caulier.gilles 2019-12-07 16:37:36 UTC
It crash in QDebug section.

Probably it's a problem relevant of the system journal settings to archive application log through QDebug.

Gilles Caulier
Comment 2 Maik Qualmann 2019-12-07 17:29:30 UTC
After the crash, you would have to use an internal MySQL database. Please post the messages that will be output on the console until crashing.

Maik
Comment 3 Maik Qualmann 2019-12-07 18:07:52 UTC
Git commit ceb585f7b1d083c806b12d19557d9ec9956ab02e by Maik Qualmann.
Committed on 07/12/2019 at 18:06.
Pushed by mqualmann into branch 'master'.

prevent crashes in the running database server
when we leave the program in main()

M  +2    -0    core/app/main/main.cpp
M  +2    -0    core/libs/database/server/databaseserverstarter.cpp

https://invent.kde.org/kde/digikam/commit/ceb585f7b1d083c806b12d19557d9ec9956ab02e
Comment 4 Maik Qualmann 2019-12-07 18:11:56 UTC
The crash is clear, we are already leaving the program in main() because of a problem with the database. The database server is still running and printed debug messages and will not be terminated.
All we have to do now is know what the problem with the database is. Please post the console log.

Maik