Bug 461842

Summary: Digikam crash at launch after migration kubuntu 20.04 LTS to 22.04 LTS
Product: [Applications] digikam Reporter: SylvainD <digikam>
Component: Database-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: metzpinguin
Priority: NOR    
Version First Reported In: 7.5.0   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 7.9.0
Sentry Crash Report:
Attachments: Result

Description SylvainD 2022-11-14 20:58:00 UTC
Created attachment 153749 [details]
Result

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***
I use digikam with MariaDB database.
MariaDB is in version 10.6.7


STEPS TO REPRODUCE
1. Have a kubuntu in 20.04 LTS up to date, with operationnal digikam (DB mariaDB)
2. Stop kde environment 
3. Migrate kubuntu on console with do-release-upgrade
4. reboot and finish with apt-get update, apt-get upgrade apt-get autoremove, to be clean
5. launch KDE at restart of the system and try to launch digikam

OBSERVED RESULT
See attach file
Extract of database 
The log file mysql.err in the root of Database files contains :
022-11-14 21:55:48 0 [ERROR] mysqld: Can't lock aria control file '/public/Photos/Canon/.mysql.digikam/db_data/aria_log_control' for exclusive use, error: 11. Will retry for 30 seconds
2022-11-14 21:55:56 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-11-14 21:55:56 0 [Note] InnoDB: Number of pools: 1
2022-11-14 21:55:56 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2022-11-14 21:55:56 0 [Note] InnoDB: Initializing buffer pool, total size = 83886080, chunk size = 83886080
2022-11-14 21:55:56 0 [Note] InnoDB: Completed initialization of buffer pool
2022-11-14 21:55:56 0 [Note] InnoDB: Setting log file ./ib_logfile101 size to 67108864 bytes
2022-11-14 21:55:56 0 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2022-11-14 21:55:56 0 [Note] InnoDB: New log file created, LSN=11321574588
2022-11-14 21:55:56 0 [Note] InnoDB: 128 rollback segments are active.
2022-11-14 21:55:56 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2022-11-14 21:55:56 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2022-11-14 21:55:56 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2022-11-14 21:55:56 0 [Note] InnoDB: 10.6.7 started; log sequence number 0; transaction id 17259390
2022-11-14 21:55:56 0 [Note] InnoDB: Loading buffer pool(s) from /public/Photos/Canon/.mysql.digikam/db_data/ib_buffer_pool
2022-11-14 21:55:56 0 [Note] Plugin 'FEEDBACK' is disabled.
2022-11-14 21:55:57 0 [Note] /usr/sbin/mysqld: ready for connections.
Version: '10.6.7-MariaDB-2ubuntu1.1-log'  socket: '/home/xxxxxxx/.local/share/digikam/db_misc/mysql.socket'  port: 0  Ubuntu 22.04
2022-11-14 21:55:57 0 [Note] InnoDB: Buffer pool(s) load completed at 221114 21:55:57


EXPECTED RESULT
Launch of digikam

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: kubuntu 22.04 LTS
(available in About System)
KDE Plasma Version: 5.24.6
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
Comment 1 Maik Qualmann 2022-11-14 21:51:38 UTC
Please post the debug output from digiKam run in the terminal with the Qt debug variable active, as described here:

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

Note that digiKam-7.5.0 is too old for MariaDB-10.6.x. Only digiKam-7.6.0 or newer will be able to perform a "mariadb_upgrade" on an internal database.

Maik
Comment 2 SylvainD 2022-11-21 19:15:24 UTC
Hi!
Thank's for your answer. 
I'm sorry, i have a stupid question. My digikam database is not in the  path of the root configuration of mariadb. How to perform a "mariadb-upgrade" on the internal database in a specific path? 
Thank's in advance
Best Regards.
Comment 3 Maik Qualmann 2022-11-21 19:31:03 UTC
That's why I wanted the terminal log to give you the instructions how to upgrade an internal DB via the socket file. I look up the bug report where I explained it to another user - it must have been a year ago. You should be able to adapt it.

Maik
Comment 4 Maik Qualmann 2022-11-21 19:46:38 UTC
Read this: https://mail.kde.org/pipermail/digikam-users/2021-July/032479.html

You can also try our AppImage to update the database. You're probably using Ubuntu's broken snap package by now anyway. Snap packages use a sandbox and can only access files in the user context, not outside of the home area. The list of problems with Ubuntu's Snap package is now so long that we warn against using it.

Maik
Comment 5 SylvainD 2022-11-21 21:17:04 UTC
Hi,
thank's for your answser.
For information, i don't use snap package for digikam.
I have adapt and apply the process describe in  https://mail.kde.org/pipermail/digikam-users/2021-July/032479.html
My Digikam re-run fine now.
It's a tricky and smart solution ;-)
Thank's a lot.