Database is local SQL, all images saved on a network drive. Using maintenance tool with the only option selected being to sync from image metadata to database, the program immediately crashes. Problem signature: Problem Event Name: APPCRASH Application Name: digikam.exe Application Version: 0.0.0.0 Application Timestamp: 59babd38 Fault Module Name: msvcrt.dll Fault Module Version: 7.0.7601.17744 Fault Module Timestamp: 4eeb033f Exception Code: c0000005 Exception Offset: 000000000001586f OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 1033 Additional Information 1: d1a3 Additional Information 2: d1a33e91d5f78b5e9a25309bf9f6ac2b Additional Information 3: 28e5 Additional Information 4: 28e5c1511807601c0d6202b067a508da
Please try with 5.9.0 pre-release bundle for windows : https://files.kde.org/digikam/ Gilles Caulier
(In reply to caulier.gilles from comment #1) > Please try with 5.9.0 pre-release bundle for windows : > > https://files.kde.org/digikam/ > > Gilles Caulier I uninstalled 2.7.0 and installed 2.9.0. When I open it I get the message "Failed to update the database schema from version 8 to version 9" and the scanning collections dialog displays an error at 0%. I tried reinstalling 2.9.0 and this continued. I would like to provide the error messages but I cannot finde where they are stored. Thank you for the quick response by the way.
Download and start DebugView from Microsoft and post the output when you start digiKam. Maik
[12880] digikam.widgets: Breeze icons ressource file found [12880] digikam.general: AlbumWatch use QFileSystemWatcher [12880] digikam.general: Database Parameters: [12880] Type: "QMYSQL" [12880] DB Core Name: "digikam" [12880] DB Thumbs Name: "digikam" [12880] DB Face Name: "digikam" [12880] Connect Options: "" [12880] Host Name: "localhost" [12880] Host port: 3307 [12880] Internal Server: true [12880] Internal Server Path: "E:/DigiDatabase" [12880] Internal Server Serv Cmd: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysqld.exe" [12880] Internal Server Init Cmd: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysql_install_db.exe" [12880] Username: "root" [12880] Password: "" [12880] [12880] digikam.databaseserver: Database Parameters: [12880] Type: "QMYSQL" [12880] DB Core Name: "digikam" [12880] DB Thumbs Name: "digikam" [12880] DB Face Name: "digikam" [12880] Connect Options: "" [12880] Host Name: "localhost" [12880] Host port: 3307 [12880] Internal Server: true [12880] Internal Server Path: "E:/DigiDatabase" [12880] Internal Server Serv Cmd: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysqld.exe" [12880] Internal Server Init Cmd: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysql_install_db.exe" [12880] Username: "root" [12880] Password: "" [12880] [12880] digikam.databaseserver: Internal Server data path: "E:/DigiDatabase/.mysql.digikam/db_data" [12880] digikam.databaseserver: The mysql configuration was already up-to-date: "C:/Users/Adrian Hall/AppData/Local/digikam/mysql.conf" [12880] digikam.databaseserver: Failed to open MySQL error log. [12880] digikam.databaseserver: Database server: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysqld.exe" ("--defaults-file=C:\\Users\\Adrian Hall\\AppData\\Local\\digikam\\mysql.conf", "--datadir=E:\\DigiDatabase\\.mysql.digikam\\db_data", "--skip-networking=0", "--port=3307") [12880] digikam.databaseserver: Internal database server started [12880] digikam.databaseserver: Running 0 seconds... [12880] digikam.dbengine: Loading SQL code from config file "Z:/digiKam/data/digikam/database/dbconfig.xml" [12880] digikam.dbengine: Checking XML version ID => expected: 3 found: 3 [12880] digikam.coredb: Core database: running schema update [12880] digikam.coredb: Core database: have a structure version 8 [12880] digikam.coredb: Core database: makeUpdates 8 to 9 [12880] digikam.dbengine: Failure executing query: [12880] "" [12880] Error messages: "QMYSQL: Unable to execute query" "Cannot delete or update a parent row: a foreign key constraint fails" 1451 2 [12880] Bound values: () [12880] digikam.dbengine: Error while executing DBAction [ "UpdateSchemaFromV7ToV9" ] Statement [ "DROP TABLE IF EXISTS Albums_old;" ] [12880] digikam.coredb: Core database: schema update to V 9 failed! [12880] digikam.coredb: Core database: cannot process schema initialization [12880] KMemoryInfo: Platform identified : "WINDOWS" [12880] KMemoryInfo: TotalRam: 34267824128 [12880] digikam.general: Allowing a cache size of 200 MB
For Albums_old no foreign key constraint should exist. First I have to see if I can reproduce it. Maik
Created attachment 110141 [details] dbconfig.xml Trying to fix the schema update. Replace the dbconfig.xml with this one. File path Windows: C:\Program Files\digiKam\data\digikam\database Maik
I replaced the dbconfig and was given the below error on startup [3936] digikam.widgets: Breeze icons ressource file found [3936] digikam.general: AlbumWatch use QFileSystemWatcher [3936] digikam.general: Database Parameters: [3936] Type: "QMYSQL" [3936] DB Core Name: "digikam" [3936] DB Thumbs Name: "digikam" [3936] DB Face Name: "digikam" [3936] Connect Options: "" [3936] Host Name: "localhost" [3936] Host port: 3307 [3936] Internal Server: true [3936] Internal Server Path: "E:/DigiDatabase" [3936] Internal Server Serv Cmd: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysqld.exe" [3936] Internal Server Init Cmd: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysql_install_db.exe" [3936] Username: "root" [3936] Password: "" [3936] [3936] digikam.databaseserver: Database Parameters: [3936] Type: "QMYSQL" [3936] DB Core Name: "digikam" [3936] DB Thumbs Name: "digikam" [3936] DB Face Name: "digikam" [3936] Connect Options: "" [3936] Host Name: "localhost" [3936] Host port: 3307 [3936] Internal Server: true [3936] Internal Server Path: "E:/DigiDatabase" [3936] Internal Server Serv Cmd: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysqld.exe" [3936] Internal Server Init Cmd: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysql_install_db.exe" [3936] Username: "root" [3936] Password: "" [3936] [3936] digikam.databaseserver: Internal Server data path: "E:/DigiDatabase/.mysql.digikam/db_data" [3936] digikam.databaseserver: The mysql configuration was already up-to-date: "C:/Users/Adrian Hall/AppData/Local/digikam/mysql.conf" [3936] digikam.databaseserver: Database server: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysqld.exe" ("--defaults-file=C:\\Users\\Adrian Hall\\AppData\\Local\\digikam\\mysql.conf", "--datadir=E:\\DigiDatabase\\.mysql.digikam\\db_data", "--skip-networking=0", "--port=3307") [3936] digikam.databaseserver: "Database process exited unexpectedly during initial connection." [3936] digikam.databaseserver: Executable: "Z:/digiKam/mariadb-10.2.12-winx64/bin//mysqld.exe" [3936] digikam.databaseserver: Arguments: "--defaults-file=C:\\Users\\Adrian Hall\\AppData\\Local\\digikam\\mysql.conf, --datadir=E:\\DigiDatabase\\.mysql.digikam\\db_data, --skip-networking=0, --port=3307" [3936] digikam.databaseserver: Stdout: "" [3936] digikam.databaseserver: Stderr: "2018-01-27 8:42:48 4364 [Note] Z:\\digiKam\\mariadb-10.2.12-winx64\\bin\\\\mysqld.exe (mysqld 10.2.12-MariaDB-log) starting as process 10104 ...\r\n2018-01-27 8:42:48 4364 [ERROR] Can't find messagefile 'Z:\\digiKam\\mariadb-10.2.12-winx64\\share\\errmsg.sys'\r\n2018-01-27 8:42:48 4364 [ERROR] Aborting\r\n\r\n" [3936] digikam.databaseserver: Exit code: 1 [3936] digikam.databaseserver: Process error: "Unknown error" [3936] digikam.databaseserver: Cannot start internal database server However, I was able to get in and setup the database again. I found that the entire contents of the MariaDB folder (which I had inside the Digikam folder) had been deleted except for mysqld. I didn't do this and the files are not in my antivirus quarantine, so at present I have no explanation. I re-downloaded MariaDB and placed it outside of the Digikam folder. When I first set the location of mysqld and hit enter it gave me the same error about being able to update db scheme from 8 to 9. I set the location of mysqld again and received no error, but it did not restore the old database. Digikam is currently re-scanning the network drive.
The scan completed but no images appeared in the program. I closed and restarted the program, then got the same error as in comment 2, but with different debug output [8240] digikam.widgets: Breeze icons ressource file found [8240] digikam.general: AlbumWatch use QFileSystemWatcher [8240] digikam.general: Database Parameters: [8240] Type: "QMYSQL" [8240] DB Core Name: "digikam" [8240] DB Thumbs Name: "digikam" [8240] DB Face Name: "digikam" [8240] Connect Options: "" [8240] Host Name: "localhost" [8240] Host port: 3307 [8240] Internal Server: true [8240] Internal Server Path: "E:/DigiDatabase" [8240] Internal Server Serv Cmd: "Z:/mariadb-10.2.12-winx64/bin/mysqld.exe" [8240] Internal Server Init Cmd: "Z:/mariadb-10.2.12-winx64/bin/mysql_install_db.exe" [8240] Username: "root" [8240] Password: "" [8240] [8240] digikam.databaseserver: Database Parameters: [8240] Type: "QMYSQL" [8240] DB Core Name: "digikam" [8240] DB Thumbs Name: "digikam" [8240] DB Face Name: "digikam" [8240] Connect Options: "" [8240] Host Name: "localhost" [8240] Host port: 3307 [8240] Internal Server: true [8240] Internal Server Path: "E:/DigiDatabase" [8240] Internal Server Serv Cmd: "Z:/mariadb-10.2.12-winx64/bin/mysqld.exe" [8240] Internal Server Init Cmd: "Z:/mariadb-10.2.12-winx64/bin/mysql_install_db.exe" [8240] Username: "root" [8240] Password: "" [8240] [8240] digikam.databaseserver: Internal Server data path: "E:/DigiDatabase/.mysql.digikam/db_data" [8240] digikam.databaseserver: The mysql configuration was already up-to-date: "C:/Users/Adrian Hall/AppData/Local/digikam/mysql.conf" [8240] digikam.databaseserver: Failed to open MySQL error log. [8240] digikam.databaseserver: Database server: "Z:/mariadb-10.2.12-winx64/bin/mysqld.exe" ("--defaults-file=C:\\Users\\Adrian Hall\\AppData\\Local\\digikam\\mysql.conf", "--datadir=E:\\DigiDatabase\\.mysql.digikam\\db_data", "--skip-networking=0", "--port=3307") [8240] digikam.databaseserver: Internal database server started [8240] digikam.databaseserver: Running 0 seconds... [8240] digikam.dbengine: Loading SQL code from config file "Z:/digiKam/data/digikam/database/dbconfig.xml" [8240] digikam.dbengine: Checking XML version ID => expected: 3 found: 3 [8240] digikam.coredb: Core database: running schema update [8240] digikam.coredb: Core database: have a structure version 8 [8240] digikam.coredb: Core database: makeUpdates 8 to 9 [8240] digikam.dbengine: Failure executing query: [8240] "" [8240] Error messages: "QMYSQL: Unable to execute query" "Can't create table `digikam`.`#sql-1afc_13` (errno: 121 \"Duplicate key on write or update\")" 1005 2 [8240] Bound values: () [8240] digikam.dbengine: Error while executing DBAction [ "UpdateSchemaFromV7ToV9" ] Statement [ "ALTER TABLE Albums\n ADD CONSTRAINT Albums_AlbumRoots FOREIGN KEY (albumRoot) REFERENCES AlbumRoots (id) ON DELETE CASCADE ON UPDATE CASCADE,\n ADD UNIQUE (albumRoot, relativePath(255)),\n ENGINE InnoDB;" ] [8240] digikam.coredb: Core database: schema update to V 9 failed! [8240] digikam.coredb: Core database: cannot process schema initialization
The error states that a constraint already exists with the name. But that's not really possible because the update procedure clears all of them. I think your DB is broken and you start with a new DB - Unfortunately. Maik
Deleting the DB did eventually work. It crashed a couple of times during the db scan, but does now seem to have completed the entire thing.
Can you reproduce the dysfunction using digiKam 6.0.0 pre-release bundle available here : https://files.kde.org/digikam/ Gilles Caulier
It did not crash! I should say, I am now on a different processor architecture, OS and NAS.