Summary: | digikam doesn't start, instead "cannot process schema initialization" | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Martin Senftleben <linux> |
Component: | Database-Schema | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | grave | CC: | caulier.gilles, metzpinguin |
Priority: | NOR | ||
Version: | 7.3.0 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 7.5.0 | |
Sentry Crash Report: |
Description
Martin Senftleben
2021-10-27 09:41:01 UTC
Which kind of database type did you use : sqlite, mysql local, mysql remote serveur ? If you use Mysql, which version exactly ? Gilles Caulier Before you start digiKam in the terminal, please activate the debug output with the command: export QT_LOGGING_RULES="digikam*=true" Post all messages. Maik Thank you, Mike, that was a helpful hint. Here is the output: "digikam.widgets: Use installed icons digikam.general: Switch to widget style: "breeze" digikam.general: AlbumWatch is disabled digikam.general: Database Parameters: Type: "QMYSQL" DB Core Name: "digikam" DB Thumbs Name: "digikam" DB Face Name: "digikam" DB Similarity Name: "" Connect Options: "" Host Name: "localhost" Host port: 1111 Internal Server: false Internal Server Path: "" Internal Server Admin Cmd: "mysqladmin" Internal Server Serv Cmd: "" Internal Server Init Cmd: "" Username: "drmartin" Password: "XXXXXXX" digikam.dbengine: Loading SQL code from config file "/usr/share/digikam/database/dbconfig.xml" digikam.dbengine: Checking XML version ID => expected: 3 found: 3 digikam.coredb: Core database: running schema update digikam.coredb: Core database: have a structure version 12 digikam.coredb: Core database: makeUpdates 12 to 13 digikam.dbengine: Failure executing query: "" Error messages: "QMYSQL: Die Abfrage konnte nicht ausgeführt werden" "Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 50537, now running 100604. Please use mariadb-upgrade to fix this error" "1558" 2 Bound values: () digikam.dbengine: Error while executing DBAction [ "UpdateSchemaFromV12ToV13" ] Statement [ "\n DROP PROCEDURE IF EXISTS create_index_if_not_exists;\n " ] digikam.coredb: Core database: schema update to V 13 failed! digikam.coredb: Core database: cannot process schema initialization" I hope this answers Gilles questions as well. It seems it's using MariaDB? As mentioned above, I do not know what digikam is doing in the background, I was always content with what it does, until this bug occured. If it's Mariadb, it has the version 10.6.4-1 Ok, there is a problem here. MariaDB version 10.6.x is a major update, which also causes problems with the Qt-MySQL driver. The problems have already been solved, Archlinux was the pioneer because they are always very current. I do not think that your distribution has integrated the Qt patches that are absolutely necessary. digiKam would crash regularly without this patch. In principle, you would have to perform a "mariadb-upgrade" for your database, normally many distributions do a cron job after installing a new MariaDB major version. But don't do this and go back to MariaDB-10.5.x. Maik The MariaDB-10.6.x problem affects not only digiKam, but also other programs that use the Qt-MySQL driver. You can read the story at the doublicate bug report. Maik Read also this: Bug 440132 Maik *** This bug has been marked as a duplicate of bug 440030 *** OK, you lost me. I followed those duplicate bug links to some level (each one ended somewhere with "this is a duplicate bug of..."), and I am only little wiser than before. I did the obvious and tried to downgrade mariadb, but there are dependencies which don't allow me to downgrade. If I remove the entire package with its dependencies, I can only install the actual package, which I can't downgrade, because those dependencies are required by so many packages, that I would render my PC almost useless, if I uninstall all those packages (which I would have to do to get rid of those dependencies). So I rather do not use digikam any more - at least until this problem is solved. :-( With the current MariaDB you will not be spared to carry out a "mariadb-upgrade" in the future either. Go to a terminal, become "root" and enter "mariadb-upgrade". Then digiKam should update the database schema without any problems. Whether digiKam will then crash sporadically depends on whether your distribution has already integrated the corresponding Qt patches. You should then report the problem to your distribution with the corresponding bug report from digiKam. Maik Sorry for not replying earlier. I did try "sudo mariadb-upgrade" and get only the following message: "Version check failed. Got the following error when calling the 'mysql' command line client ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) FATAL ERROR: Upgrade failed" And of course: I entered the password for sudo (correctly). I tried it a hundred times. But I guess the message means that there is a password required by mariadb, but the config says no password, and maybe even root is not the user with which the upgrade should be run? I'm confused... Sorry again, after writing the previous message I thought I send the entire error message through a search engine, and lo, there were some insights provided by people who suffered the same problem. I had totally forgotten that I named another user for the database. After setting that (command "mariadb-upgrade -u username -p"), the upgrade ran through and now I can start digikam again. Thanks for the feedback and happy new year Gilles Caulier |