Bug 394434 - installation problem mysql internal on mac os high sierra [patch]
Summary: installation problem mysql internal on mac os high sierra [patch]
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Bundle-MacOS (show other bugs)
Version: 6.0.0
Platform: macOS (DMG) macOS
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-19 07:00 UTC by testa
Modified: 2018-08-22 21:59 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0.0


Attachments
message erreur mysql interne. (53.52 KB, image/png)
2018-05-19 07:00 UTC, testa
Details
useGlobalConfig.patch (4.78 KB, patch)
2018-05-20 05:49 UTC, Maik Qualmann
Details
new error message (59.92 KB, image/png)
2018-05-20 17:54 UTC, testa
Details
PKG file contents before packaging (1.35 MB, text/plain)
2018-05-21 12:40 UTC, caulier.gilles
Details
DK screenshot after first scan with mysql internal server and a local collection set (1.32 MB, image/png)
2018-05-21 19:08 UTC, caulier.gilles
Details
mysql internal servel log file after local collection add and scan completed. (947.45 KB, text/plain)
2018-05-21 19:11 UTC, caulier.gilles
Details
DK 6.0.0 trace from scratch with Mysql internal server (489.24 KB, text/plain)
2018-05-22 05:07 UTC, caulier.gilles
Details
error message (58.65 KB, image/png)
2018-05-22 06:51 UTC, testa
Details
MacOS log files viewer with digiKam reports while starting from lauchpad (1.56 MB, image/png)
2018-05-23 20:27 UTC, caulier.gilles
Details

Note You need to log in before you can comment on or make changes to this bug.
Description testa 2018-05-19 07:00:31 UTC
Created attachment 112744 [details]
message erreur mysql interne.

Bug open on Gilles' advice.
 
My problem is this, digikam works perfectly on mac os (high sierra) using sqlite, but it can not be done with internal mysql.
error message as an attachment.

Comment by Gilles "the database files was not initialized in user space"
Comment 1 caulier.gilles 2018-05-19 07:16:10 UTC
It sound like a path string problem with space

macbook-pro-de-gilles:bin gilles$ /opt/digikam/lib/mariadb/bin/mysql_install_db --datadir=/Users/Gilles/Pictures/.mysql.digikam/db_data, --defaults-file=/Users/Gilles/Library/Application\ Support/digikam/digikam/mysql.conf 
Could not open required defaults file: /Users/Gilles/Library/Application
Fatal error in defaults handling. Program aborted
Installing MariaDB/MySQL system tables in '/Users/Gilles/Pictures/.mysql.digikam/db_data,' ...
Could not open required defaults file: /Users/Gilles/Library/Application
Fatal error in defaults handling. Program aborted

Installation of system tables failed!  Examine the logs in
/Users/Gilles/Pictures/.mysql.digikam/db_data, for more information.

The problem could be conflicting information in an external
my.cnf files. You can ignore these by doing:

    shell> /opt/digikam/lib/mariadb/bin/scripts/mysql_install_db --defaults-file=~/.my.cnf

You can also try to start the mysqld daemon with:

    shell> /opt/digikam/lib/mariadb/bin/mysqld --skip-grant --general-log &

and use the command line tool /opt/digikam/lib/mariadb/bin/mysql
to connect to the mysql database and look at the grant tables:

    shell> /opt/digikam/lib/mariadb/bin/mysql -u root mysql
    mysql> show tables;

Try 'mysqld --help' if you have problems with paths.  Using
--general-log gives you a log in /Users/Gilles/Pictures/.mysql.digikam/db_data, that may be helpful.

The latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db
MariaDB is hosted on launchpad; You can find the latest source and
email lists at http://launchpad.net/maria

Please check all of the above before submitting a bug report
at http://mariadb.org/jira
Comment 2 caulier.gilles 2018-05-19 07:43:18 UTC
Confirmed,

The space in path name is a problem under MacOS :

bash-3.2$ ls "/Users/Gilles/Library/Application\ Support/digikam/digikam/mysql.conf"
ls: /Users/Gilles/Library/Application\ Support/digikam/digikam/mysql.conf: No such file or directory
bash-3.2$ pwd
/Users/Gilles/Library/Application Support
bash-3.2$ cd digikam
bash-3.2$ ls
digikam
bash-3.2$ cd digikam
bash-3.2$ ls
db_misc		file_db_data	mysql.conf
bash-3.2$ ls -al
total 8
drwxr-xr-x  5 gilles  staff   160 19 mai 07:41 .
drwxr-xr-x  3 gilles  staff    96 19 mai 07:41 ..
drwxr-xr-x  3 gilles  staff    96 19 mai 07:41 db_misc
drwxr-xr-x  2 gilles  staff    64 19 mai 07:41 file_db_data
-rw-r--r--  1 gilles  staff  3580 19 mai 07:41 mysql.conf
bash-3.2$ pwd
/Users/Gilles/Library/Application Support/digikam/digikam
bash-3.2$
Comment 3 caulier.gilles 2018-05-19 07:46:40 UTC
bash-3.2$ ls '/Users/Gilles/Library/Application Support/digikam/digikam/mysql.conf'
/Users/Gilles/Library/Application Support/digikam/digikam/mysql.conf
bash-3.2$ ls -al '/Users/Gilles/Library/Application Support/digikam/digikam/mysql.conf'
-rw-r--r--  1 gilles  staff  3580 19 mai 07:41 /Users/Gilles/Library/Application Support/digikam/digikam/mysql.conf
bash-3.2$ ls -al "/Users/Gilles/Library/Application Support/digikam/digikam/mysql.conf"
-rw-r--r--  1 gilles  staff  3580 19 mai 07:41 /Users/Gilles/Library/Application Support/digikam/digikam/mysql.conf
bash-3.2$ ls -al /Users/Gilles/Library/Application Support/digikam/digikam/mysql.conf
ls: /Users/Gilles/Library/Application: No such file or directory
ls: Support/digikam/digikam/mysql.conf: No such file or directory
bash-3.2$ 

Double or simple quote under MAcOS work as expected.

I think same fix must be done under Linux, in case of path with spaces.

Gilles
Comment 4 caulier.gilles 2018-05-19 07:50:28 UTC
But this do nt work with mariadb install db script. I tried all solution with simple, double quote and escaped space in CLI, this do not work. Same error at space in path.

Gilles
Comment 5 caulier.gilles 2018-05-19 07:58:03 UTC
It's a long time ago long problem :

https://bugs.mysql.com/bug.php?id=26033

Gilles Caulier
Comment 6 caulier.gilles 2018-05-19 08:02:43 UTC
Look the patch here :

https://bugs.mysql.com/bug.php?id=56901

I fix the problem in script to use double quote with paths. But it have been never apply. Too weird.

Gilles Caulier
Comment 7 caulier.gilles 2018-05-19 08:06:16 UTC
Note : Mariadb version in PKG is :

./mysqld  Ver 5.5.57-MariaDB for osx10.8 on x86_64 (Source distribution)

Gilles
Comment 8 caulier.gilles 2018-05-19 15:47:00 UTC
After searching and searching a solution on the web, the problem is located in mysql/mariadb script since a while, and nobody fix it officially, even if the solution in bash script is very simple.

The problem under MacOS is the path returned by QStandardPaths::GenericDataLocation, which is a pth in home directory with space inside.

See here :

https://cgit.kde.org/digikam.git/tree/core/libs/database/server/databaseserver.cpp#n312

This path is used to store the mysql.conf file passed to the script at DB init.

The only solution is to copy this file somewhere in /tmp just before to use the script. QTemporaryDir can be a solution if path is not located to home directory.

I think this problem is also valid under linux, as the bash script is the same.

Gilles
Comment 9 Maik Qualmann 2018-05-19 16:06:35 UTC
Gilles,

do not spend too much time in this script. MySQL has already removed it (Bug 379959), MariaDB will follow. We have to look for another solution anyway.

Maik
Comment 10 Maik Qualmann 2018-05-19 17:54:52 UTC
We could also create a MySQL data directory and extract it as a ZIP file. A freshly created data directory as a ZIP file has almost 800 KB.

Maik
Comment 11 caulier.gilles 2018-05-19 20:04:17 UTC
How to be sure that pre-created data directory will work with all mysql/mariadb recent version ?

Anyway, if this solution is valid, this will remove the mysql_install_db script dependency.

Gilles
Comment 12 caulier.gilles 2018-05-19 20:05:10 UTC
And can we apply this solution, for Linux, MacOS, and Windows, with the same pre created data files ?

Gilles
Comment 13 Maik Qualmann 2018-05-19 20:47:05 UTC
A test here with the data directory of Linux under Windows unfortunately does not work, the mysqld crashes...

Maik
Comment 14 Maik Qualmann 2018-05-20 05:35:47 UTC
Gilles,

I think we do not need to copy mysql.conf to a temp directory. We can also use the mysql-global.conf from the digikam system directory for the initial initialization.

Maik
Comment 15 Maik Qualmann 2018-05-20 05:49:26 UTC
Created attachment 112759 [details]
useGlobalConfig.patch
Comment 16 caulier.gilles 2018-05-20 05:58:45 UTC
You are right. By this way the conf file is always store in a simpler path under Linux and MacOS. It's definitively the best and simpler way.

Gilles
Comment 17 Maik Qualmann 2018-05-20 06:19:36 UTC
Git commit 1f22ae00a59372bf0df9f203d36305abaeba019b by Maik Qualmann.
Committed on 20/05/2018 at 06:18.
Pushed by mqualmann into branch 'master'.

use the digiKam global MySQL config  file for the database creation

M  +10   -9    core/libs/database/server/databaseserver.cpp

https://commits.kde.org/digikam/1f22ae00a59372bf0df9f203d36305abaeba019b
Comment 18 Maik Qualmann 2018-05-20 06:20:25 UTC
We close the bug if it was tested on MacOS.

Maik
Comment 19 testa 2018-05-20 17:52:06 UTC
Hi
I just tried the last package digikam digiKam-6.0.0-git-20180520T114315-MacOS-x86-64, I made a complete reinstallation, but at the opening of digikam I immediately got the following message:
Comment 20 testa 2018-05-20 17:54:25 UTC
Created attachment 112779 [details]
new error message
Comment 21 caulier.gilles 2018-05-20 18:39:47 UTC
Comment on attachment 112779 [details]
new error message

ok.

Open a terminal, and run :

/opt/digikam/Applications/KF5/digikam.app/Contents/MacOS/digikam

The application will print debug statement on the console. Re-configure mysql internal server and look the terminal output.

Gilles Caulier
Comment 22 Maik Qualmann 2018-05-20 18:49:53 UTC
My guess, the script is not found or the execution rights are not set.

Maik
Comment 23 caulier.gilles 2018-05-21 12:40:19 UTC
Created attachment 112785 [details]
PKG file contents before packaging

See attached ls -alR over root directory before to package in target PKG for MacOS
Comment 24 caulier.gilles 2018-05-21 12:50:16 UTC
No, the mysql_install_script exec right is fine. Look the PKG contents.

Now the error is probably relevant of path used with the communication socket between the server and the Qt Mysql plugin. Look the trace on the console :

digikam.general: Switch to Mysql Internal DB config...
digikam.dbengine: ConnectOptions  "UNIX_SOCKET=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket"
digikam.geoiface: ----
digikam.geoiface: ----
digikam.general: Stacked View Mode :  0
digikam.geoiface: ----
digikam.general: Database Parameters:
   Type:                     "QMYSQL"
   DB Core Name:             "digikam"
   DB Thumbs Name:           "digikam"
   DB Face Name:             "digikam"
   DB Similyritiy Name:      "digikam"
   Connect Options:          "UNIX_SOCKET=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket"
   Host Name:                ""
   Host port:                -1
   Internal Server:          true
   Internal Server Path:     "/Users/gilles/Pictures/"
   Internal Server Serv Cmd: "/opt/digikam/lib/mariadb/bin/mysqld"
   Internal Server Init Cmd: "/opt/digikam/lib/mariadb/bin/mysql_install_db"
   Username:                 "root"
   Password:                 ""

digikam.databaseserver: Database Parameters:
   Type:                     "QMYSQL"
   DB Core Name:             "digikam"
   DB Thumbs Name:           "digikam"
   DB Face Name:             "digikam"
   DB Similyritiy Name:      "digikam"
   Connect Options:          "UNIX_SOCKET=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket"
   Host Name:                ""
   Host port:                -1
   Internal Server:          true
   Internal Server Path:     "/Users/gilles/Pictures/"
   Internal Server Serv Cmd: "/opt/digikam/lib/mariadb/bin/mysqld"
   Internal Server Init Cmd: "/opt/digikam/lib/mariadb/bin/mysql_install_db"
   Username:                 "root"
   Password:                 ""

digikam.databaseserver: Internal Server data path: "/Users/gilles/Pictures/.mysql.digikam/db_data"
digikam.databaseserver: The mysql configuration is outdated, "/Users/gilles/Library/Application Support/digikam/digikam/mysql.conf" will be updated.
digikam.databaseserver: Updated mysql configuration with "/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//digikam/database/mysql-global.conf"
digikam.databaseserver: Fixed permissions of mysql configuration file.
digikam.databaseserver: Database initializer: "/opt/digikam/lib/mariadb/bin/mysql_install_db" ("--datadir=/Users/gilles/Pictures/.mysql.digikam/db_data", "--defaults-file=/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//digikam/database/mysql-global.conf")
digikam.databaseserver: Database server: "/opt/digikam/lib/mariadb/bin/mysqld" ("--defaults-file=/Users/gilles/Library/Application Support/digikam/digikam/mysql.conf", "--datadir=/Users/gilles/Pictures/.mysql.digikam/db_data", "--socket=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket")
digikam.databaseserver: Failed to use database "digikam"
digikam.databaseserver: Query error: "Unknown database 'digikam' QMYSQL: Unable to execute query"
digikam.databaseserver: Database error: " "
digikam.databaseserver: Trying to create database now
digikam.databaseserver: Failed to create database
digikam.databaseserver: Query error: "Can't create database 'digikam' (errno: 2) QMYSQL: Unable to execute query"
digikam.databaseserver: Database error: " "
digikam.databaseserver: Cannot start internal database server

Note : i cleaned all files previously created with failed init with internal server. So the configuration before this test is something about sqlite instancied while first run assistant.

Gilles
Comment 25 caulier.gilles 2018-05-21 12:53:31 UTC
Maik,

Now in fact the problem with mysql_install_db is fixed. Look like DB files are now created properly on user space :

# pwd
/Users/gilles/Pictures/.mysql.digikam
# ls -alR
total 0
drwxr-xr-x   3 gilles  staff   96 21 mai 14:52 .
drwx------+ 13 gilles  staff  416 21 mai 14:45 ..
drwxr-xr-x  16 gilles  staff  512 21 mai 14:46 db_data

./db_data:
total 301176
drwxr-xr-x  16 gilles  staff       512 21 mai 14:46 .
drwxr-xr-x   3 gilles  staff        96 21 mai 14:52 ..
-rw-rw----   1 gilles  staff     16384 21 mai 14:46 aria_log.00000001
-rw-rw----   1 gilles  staff        52 21 mai 14:46 aria_log_control
-rw-rw----   1 gilles  staff  67108864 21 mai 14:46 ib_logfile0
-rw-rw----   1 gilles  staff  67108864 21 mai 14:46 ib_logfile1
-rw-rw----   1 gilles  staff  18874368 21 mai 14:46 ibdata1
-rw-rw----   1 gilles  staff         5 21 mai 14:46 macbook-pro-de-gilles.pid
drwx------  74 gilles  staff      2368 21 mai 14:46 mysql
-rw-rw----   1 gilles  staff     30394 21 mai 14:46 mysql-bin.000001
-rw-rw----   1 gilles  staff   1038814 21 mai 14:46 mysql-bin.000002
-rw-rw----   1 gilles  staff       245 21 mai 14:46 mysql-bin.000003
-rw-rw----   1 gilles  staff        57 21 mai 14:46 mysql-bin.index
-rw-rw----   1 gilles  staff      1556 21 mai 14:46 mysql.err
drwx------  20 gilles  staff       640 21 mai 14:46 performance_schema
drwx------   2 gilles  staff        64 21 mai 14:46 test

./db_data/mysql:
total 2000
drwx------  74 gilles  staff    2368 21 mai 14:46 .
drwxr-xr-x  16 gilles  staff     512 21 mai 14:46 ..
-rw-rw----   1 gilles  staff       0 21 mai 14:46 columns_priv.MYD
-rw-rw----   1 gilles  staff    4096 21 mai 14:46 columns_priv.MYI
-rw-rw----   1 gilles  staff    8820 21 mai 14:46 columns_priv.frm
-rw-rw----   1 gilles  staff     880 21 mai 14:46 db.MYD
-rw-rw----   1 gilles  staff    5120 21 mai 14:46 db.MYI
-rw-rw----   1 gilles  staff    9582 21 mai 14:46 db.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 event.MYD
-rw-rw----   1 gilles  staff    2048 21 mai 14:46 event.MYI
-rw-rw----   1 gilles  staff   10239 21 mai 14:46 event.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 func.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 func.MYI
-rw-rw----   1 gilles  staff    8665 21 mai 14:46 func.frm
-rw-rw----   1 gilles  staff      35 21 mai 14:46 general_log.CSM
-rw-rw----   1 gilles  staff       0 21 mai 14:46 general_log.CSV
-rw-rw----   1 gilles  staff    8776 21 mai 14:46 general_log.frm
-rw-rw----   1 gilles  staff    1092 21 mai 14:46 help_category.MYD
-rw-rw----   1 gilles  staff    3072 21 mai 14:46 help_category.MYI
-rw-rw----   1 gilles  staff    8700 21 mai 14:46 help_category.frm
-rw-rw----   1 gilles  staff   91408 21 mai 14:46 help_keyword.MYD
-rw-rw----   1 gilles  staff   16384 21 mai 14:46 help_keyword.MYI
-rw-rw----   1 gilles  staff    8612 21 mai 14:46 help_keyword.frm
-rw-rw----   1 gilles  staff    9252 21 mai 14:46 help_relation.MYD
-rw-rw----   1 gilles  staff   19456 21 mai 14:46 help_relation.MYI
-rw-rw----   1 gilles  staff    8630 21 mai 14:46 help_relation.frm
-rw-rw----   1 gilles  staff  450388 21 mai 14:46 help_topic.MYD
-rw-rw----   1 gilles  staff   20480 21 mai 14:46 help_topic.MYI
-rw-rw----   1 gilles  staff    8770 21 mai 14:46 help_topic.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 host.MYD
-rw-rw----   1 gilles  staff    2048 21 mai 14:46 host.MYI
-rw-rw----   1 gilles  staff    9510 21 mai 14:46 host.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 ndb_binlog_index.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 ndb_binlog_index.MYI
-rw-rw----   1 gilles  staff    8778 21 mai 14:46 ndb_binlog_index.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 plugin.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 plugin.MYI
-rw-rw----   1 gilles  staff    8586 21 mai 14:46 plugin.frm
-rw-rw----   1 gilles  staff     288 21 mai 14:46 proc.MYD
-rw-rw----   1 gilles  staff    4096 21 mai 14:46 proc.MYI
-rw-rw----   1 gilles  staff   10012 21 mai 14:46 proc.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 procs_priv.MYD
-rw-rw----   1 gilles  staff    4096 21 mai 14:46 procs_priv.MYI
-rw-rw----   1 gilles  staff    8875 21 mai 14:46 procs_priv.frm
-rw-rw----   1 gilles  staff    1386 21 mai 14:46 proxies_priv.MYD
-rw-rw----   1 gilles  staff    5120 21 mai 14:46 proxies_priv.MYI
-rw-rw----   1 gilles  staff    8800 21 mai 14:46 proxies_priv.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 servers.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 servers.MYI
-rw-rw----   1 gilles  staff    8838 21 mai 14:46 servers.frm
-rw-rw----   1 gilles  staff      35 21 mai 14:46 slow_log.CSM
-rw-rw----   1 gilles  staff       0 21 mai 14:46 slow_log.CSV
-rw-rw----   1 gilles  staff    8976 21 mai 14:46 slow_log.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 tables_priv.MYD
-rw-rw----   1 gilles  staff    4096 21 mai 14:46 tables_priv.MYI
-rw-rw----   1 gilles  staff    8955 21 mai 14:46 tables_priv.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 time_zone.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 time_zone.MYI
-rw-rw----   1 gilles  staff    8636 21 mai 14:46 time_zone.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 time_zone_leap_second.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 time_zone_leap_second.MYI
-rw-rw----   1 gilles  staff    8624 21 mai 14:46 time_zone_leap_second.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 time_zone_name.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 time_zone_name.MYI
-rw-rw----   1 gilles  staff    8606 21 mai 14:46 time_zone_name.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 time_zone_transition.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 time_zone_transition.MYI
-rw-rw----   1 gilles  staff    8686 21 mai 14:46 time_zone_transition.frm
-rw-rw----   1 gilles  staff       0 21 mai 14:46 time_zone_transition_type.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 14:46 time_zone_transition_type.MYI
-rw-rw----   1 gilles  staff    8748 21 mai 14:46 time_zone_transition_type.frm
-rw-rw----   1 gilles  staff     340 21 mai 14:46 user.MYD
-rw-rw----   1 gilles  staff    2048 21 mai 14:46 user.MYI
-rw-rw----   1 gilles  staff   10630 21 mai 14:46 user.frm

./db_data/performance_schema:
total 416
drwx------  20 gilles  staff   640 21 mai 14:46 .
drwxr-xr-x  16 gilles  staff   512 21 mai 14:46 ..
-rw-rw----   1 gilles  staff  8624 21 mai 14:46 cond_instances.frm
-rw-rw----   1 gilles  staff    61 21 mai 14:46 db.opt
-rw-rw----   1 gilles  staff  9220 21 mai 14:46 events_waits_current.frm
-rw-rw----   1 gilles  staff  9220 21 mai 14:46 events_waits_history.frm
-rw-rw----   1 gilles  staff  9220 21 mai 14:46 events_waits_history_long.frm
-rw-rw----   1 gilles  staff  8878 21 mai 14:46 events_waits_summary_by_instance.frm
-rw-rw----   1 gilles  staff  8854 21 mai 14:46 events_waits_summary_by_thread_by_event_name.frm
-rw-rw----   1 gilles  staff  8814 21 mai 14:46 events_waits_summary_global_by_event_name.frm
-rw-rw----   1 gilles  staff  8654 21 mai 14:46 file_instances.frm
-rw-rw----   1 gilles  staff  8800 21 mai 14:46 file_summary_by_event_name.frm
-rw-rw----   1 gilles  staff  8840 21 mai 14:46 file_summary_by_instance.frm
-rw-rw----   1 gilles  staff  8684 21 mai 14:46 mutex_instances.frm
-rw-rw----   1 gilles  staff  8776 21 mai 14:46 performance_timers.frm
-rw-rw----   1 gilles  staff  8758 21 mai 14:46 rwlock_instances.frm
-rw-rw----   1 gilles  staff  8605 21 mai 14:46 setup_consumers.frm
-rw-rw----   1 gilles  staff  8637 21 mai 14:46 setup_instruments.frm
-rw-rw----   1 gilles  staff  8650 21 mai 14:46 setup_timers.frm
-rw-rw----   1 gilles  staff  8650 21 mai 14:46 threads.frm

./db_data/test:
total 0
drwx------   2 gilles  staff   64 21 mai 14:46 .
drwxr-xr-x  16 gilles  staff  512 21 mai 14:46 ..

Gilles
Comment 26 caulier.gilles 2018-05-21 12:56:25 UTC
The problem is the next stage to start internal server :

macbook-pro-de-gilles:~ gilles$ /opt/digikam/lib/mariadb/bin/mysqld --defaults-file=/Users/gilles/Library/Application Support/digikam/digikam/mysql.conf --datadir=/Users/gilles/Pictures/.mysql.digikam/db_data --socket=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket
Could not open required defaults file: /Users/gilles/Library/Application
Fatal error in defaults handling. Program aborted
macbook-pro-de-gilles:~ gilles$ ls -al /opt/digikam/lib/mariadb/bin/mysqld
-rwxr-xr-x  1 root  wheel  11104340  2 mai 15:15 /opt/digikam/lib/mariadb/bin/mysqld
macbook-pro-de-gilles:~ gilles$ file /opt/digikam/lib/mariadb/bin/mysqld
/opt/digikam/lib/mariadb/bin/mysqld: Mach-O 64-bit executable x86_64

As you can see, mysqld is a binary file, not a script
Comment 27 caulier.gilles 2018-05-21 12:57:52 UTC
Maik,

Using doube quote over path passed as argument for mysqld is the solution :

macbook-pro-de-gilles:~ gilles$ /opt/digikam/lib/mariadb/bin/mysqld --defaults-file="/Users/gilles/Library/Application Support/digikam/digikam/mysql.conf" --datadir="/Users/gilles/Pictures/.mysql.digikam/db_data" --socket="/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket"
180521 14:57:07 [Warning] options --log-slow-admin-statements, --log-queries-not-using-indexes and --log-slow-slave-statements have no effect if --log_slow_queries is not set
180521 14:57:07 [Note] /opt/digikam/lib/mariadb/bin/mysqld (mysqld 5.5.57-MariaDB) starting as process 8450 ...
180521 14:57:07 [Warning] Setting lower_case_table_names=2 because file system for /Users/gilles/Pictures/.mysql.digikam/db_data/ is case insensitive


Gilles
Comment 28 Maik Qualmann 2018-05-21 13:01:07 UTC
...
> digikam.databaseserver: Failed to use database "digikam"
> digikam.databaseserver: Query error: "Unknown database 'digikam' QMYSQL:
> Unable to execute query"
> digikam.databaseserver: Database error: " "
> digikam.databaseserver: Trying to create database now

Until everything is correct, now an error occurs. Why can not the digiKam database be created?

> digikam.databaseserver: Failed to create database
> digikam.databaseserver: Query error: "Can't create database 'digikam'
> (errno: 2) QMYSQL: Unable to execute query"
> digikam.databaseserver: Database error: " "
> digikam.databaseserver: Cannot start internal database server

Maik
Comment 29 caulier.gilles 2018-05-21 13:05:22 UTC
Look my comment #27 (:=)))... This is the reason. It's always a path with space problem.

Gilles
Comment 30 Maik Qualmann 2018-05-21 13:08:50 UTC
Gilles, QProcess with the arguments use internally quotes. The mysqld is already started, the database can not be created, strange.

Maik
Comment 31 testa 2018-05-21 15:06:23 UTC
Hi
In terminal mode it actually happened.
To follow, I will test thoroughly, but in any case thank you for considering the problem.
It is a good application that allows to quickly view his photos, I used a lot but digikam I like it.
Congratulations to the team and good luck.

Guy Audebert

> Le 20 mai 2018 à 20:39, <bugzilla_noreply@kde.org> <bugzilla_noreply@kde.org> a écrit :
> 
> https://bugs.kde.org/show_bug.cgi?id=394434
> 
> --- Comment #21 from caulier.gilles@gmail.com ---
> Comment on attachment 112779 [details]
>  --> https://bugs.kde.org/attachment.cgi?id=112779
> new error message
> 
> ok.
> 
> Open a terminal, and run :
> 
> /opt/digikam/Applications/KF5/digikam.app/Contents/MacOS/digikam
> 
> The application will print debug statement on the console. Re-configure mysql
> internal server and look the terminal output.
> 
> Gilles Caulier
> 
> -- 
> You are receiving this mail because:
> You reported the bug.
Comment 32 Maik Qualmann 2018-05-21 17:03:34 UTC
Gilles,

I think the MySQL server can not access the data directory. Is it possible that a mysql user needs to be created in MacOS?

Maik
Comment 33 caulier.gilles 2018-05-21 18:37:24 UTC
No idea. I take a look.

Gilles
Comment 34 caulier.gilles 2018-05-21 18:47:52 UTC
I cleaned again all DK data files (config, DB), and startup again :

macbook-pro-de-gilles:~ gilles$ /opt/digikam/Applications/KF5/digikam.app/Contents/MacOS/digikam 
digikam.widgets: Breeze icons resource file found
digikam.general: AlbumWatch use QFileSystemWatcher
digikam.general: Database Parameters:
   Type:                     "QMYSQL"
   DB Core Name:             "digikam"
   DB Thumbs Name:           "digikam"
   DB Face Name:             "digikam"
   DB Similyritiy Name:      "digikam"
   Connect Options:          "UNIX_SOCKET=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket"
   Host Name:                ""
   Host port:                -1
   Internal Server:          true
   Internal Server Path:     "/Users/gilles/Pictures/"
   Internal Server Serv Cmd: "/opt/digikam/lib/mariadb/bin/mysqld"
   Internal Server Init Cmd: "/opt/digikam/lib/mariadb/bin/mysql_install_db"
   Username:                 "root"
   Password:                 ""

digikam.databaseserver: Database Parameters:
   Type:                     "QMYSQL"
   DB Core Name:             "digikam"
   DB Thumbs Name:           "digikam"
   DB Face Name:             "digikam"
   DB Similyritiy Name:      "digikam"
   Connect Options:          "UNIX_SOCKET=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket"
   Host Name:                ""
   Host port:                -1
   Internal Server:          true
   Internal Server Path:     "/Users/gilles/Pictures/"
   Internal Server Serv Cmd: "/opt/digikam/lib/mariadb/bin/mysqld"
   Internal Server Init Cmd: "/opt/digikam/lib/mariadb/bin/mysql_install_db"
   Username:                 "root"
   Password:                 ""

digikam.databaseserver: Internal Server data path: "/Users/gilles/Pictures/.mysql.digikam/db_data"
digikam.databaseserver: The mysql configuration is outdated, "/Users/gilles/Library/Application Support/digikam/digikam/mysql.conf" will be updated.
digikam.databaseserver: Updated mysql configuration with "/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//digikam/database/mysql-global.conf"
digikam.databaseserver: Fixed permissions of mysql configuration file.
digikam.databaseserver: Database initializer: "/opt/digikam/lib/mariadb/bin/mysql_install_db" ("--datadir=/Users/gilles/Pictures/.mysql.digikam/db_data", "--defaults-file=/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//digikam/database/mysql-global.conf")
digikam.databaseserver: Database server: "/opt/digikam/lib/mariadb/bin/mysqld" ("--defaults-file=/Users/gilles/Library/Application Support/digikam/digikam/mysql.conf", "--datadir=/Users/gilles/Pictures/.mysql.digikam/db_data", "--socket=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket")
digikam.databaseserver: Failed to use database "digikam"
digikam.databaseserver: Query error: "Unknown database 'digikam' QMYSQL: Unable to execute query"
digikam.databaseserver: Database error: "Can't connect to local MySQL server through socket '/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket' (2) QMYSQL: Unable to connect"
digikam.databaseserver: Trying to create database now
digikam.databaseserver: Database was successfully created
digikam.databaseserver: Internal database server started
digikam.databaseserver: Running 0 seconds...
digikam.dbengine: Loading SQL code from config file "/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//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: no database file available
KMemoryInfo: Platform identified :  "Unknown"
KMemoryInfo: TotalRam:  -1
digikam.general: Allowing a cache size of 60 MB
digikam.general: No locale found in database
digikam.general: No locale found in config file
digikam.general: Testing  "mysql_install_db" ...
digikam.general: Testing  "mysqld" ...
digikam.general: Testing  "mysql_install_db" ...
digikam.general: Testing  "mysqld" ...
digikam.general: Testing  "/opt/local/bin/mysql_install_db" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/local/bin/mysqld" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/local/sbin/mysql_install_db" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/local/sbin/mysqld" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/local/lib/mariadb/bin/mysql_install_db" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/local/lib/mariadb/bin/mysqld" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/digikam/bin/mysql_install_db" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/digikam/bin/mysqld" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/digikam/sbin/mysql_install_db" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/digikam/sbin/mysqld" ...
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/digikam/lib/mariadb/bin/mysql_install_db" ...
digikam.general: Found  "/opt/digikam/lib/mariadb/bin/mysql_install_db"
digikam.general: All Binaries Found :  false
digikam.general: Testing  "/opt/digikam/lib/mariadb/bin/mysqld" ...
digikam.general: Found  "/opt/digikam/lib/mariadb/bin/mysqld"
digikam.general: All Binaries Found :  true
digikam.general: Switch to widget style:  "Fusion"
digikam.general: Testing  "/opt/digikam/lib/mariadb/bin/mysql_install_db/mysql_install_db" ...
digikam.general: All Binaries Found :  true
digikam.general: Testing  "/opt/digikam/lib/mariadb/bin/mysqld/mysqld" ...
digikam.general: All Binaries Found :  true
digikam.dimg: "/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//digikam/data/sample-aix.png"  : PNG file identified
digikam.dimg: ("/System/Library/ColorSync/Profiles", "/Library/ColorSync/Profiles")
digikam.dimg: The original Adobe RGB (1998) profile has been found at "/System/Library/ColorSync/Profiles/AdobeRGB1998.icc"
digikam.general: new search text settings:  "" : hasResult =  false , validRows =  0
digikam.databaseserver: Running 30 seconds...

The collection config dialog appear.

The DB files are re-created from scratch :

bash-3.2$ pwd
/Users/gilles/Pictures/.mysql.digikam

bash-3.2$ ls -alR
total 0
drwxr-xr-x   3 gilles  staff   96 21 mai 20:43 .
drwx------+ 13 gilles  staff  416 21 mai 20:43 ..
drwxr-xr-x  16 gilles  staff  512 21 mai 20:44 db_data

./db_data:
total 301240
drwxr-xr-x  16 gilles  staff       512 21 mai 20:44 .
drwxr-xr-x   3 gilles  staff        96 21 mai 20:43 ..
-rw-rw----   1 gilles  staff     16384 21 mai 20:44 aria_log.00000001
-rw-rw----   1 gilles  staff        52 21 mai 20:44 aria_log_control
drwx------  70 gilles  staff      2240 21 mai 20:44 digikam
-rw-rw----   1 gilles  staff  67108864 21 mai 20:44 ib_logfile0
-rw-rw----   1 gilles  staff  67108864 21 mai 20:43 ib_logfile1
-rw-rw----   1 gilles  staff  18874368 21 mai 20:44 ibdata1
drwx------  74 gilles  staff      2368 21 mai 20:43 mysql
-rw-rw----   1 gilles  staff     30394 21 mai 20:43 mysql-bin.000001
-rw-rw----   1 gilles  staff   1038814 21 mai 20:43 mysql-bin.000002
-rw-rw----   1 gilles  staff     37625 21 mai 20:44 mysql-bin.000003
-rw-rw----   1 gilles  staff        57 21 mai 20:43 mysql-bin.index
-rw-rw----   1 gilles  staff      1892 21 mai 20:44 mysql.err
drwx------  20 gilles  staff       640 21 mai 20:43 performance_schema
drwx------   2 gilles  staff        64 21 mai 20:43 test

./db_data/digikam:
total 8584
drwx------  70 gilles  staff    2240 21 mai 20:44 .
drwxr-xr-x  16 gilles  staff     512 21 mai 20:44 ..
-rw-rw----   1 gilles  staff    8740 21 mai 20:43 AlbumRoots.frm
-rw-rw----   1 gilles  staff    8780 21 mai 20:43 Albums.frm
-rw-rw----   1 gilles  staff    8608 21 mai 20:44 CustomIdentifiers.frm
-rw-rw----   1 gilles  staff    8712 21 mai 20:43 DownloadHistory.frm
-rw-rw----   1 gilles  staff    8786 21 mai 20:44 FaceMatrices.frm
-rw-rw----   1 gilles  staff    8598 21 mai 20:44 FaceSettings.frm
-rw-rw----   1 gilles  staff    8596 21 mai 20:44 FilePaths.frm
-rw-rw----   1 gilles  staff    8586 21 mai 20:44 Identities.frm
-rw-rw----   1 gilles  staff    8658 21 mai 20:44 IdentityAttributes.frm
-rw-rw----   1 gilles  staff    8760 21 mai 20:43 ImageComments.frm
-rw-rw----   1 gilles  staff    8704 21 mai 20:43 ImageCopyright.frm
-rw-rw----   1 gilles  staff    8696 21 mai 20:44 ImageHaarMatrix.frm
-rw-rw----   1 gilles  staff    8632 21 mai 20:43 ImageHistory.frm
-rw-rw----   1 gilles  staff    8928 21 mai 20:43 ImageInformation.frm
-rw-rw----   1 gilles  staff    9298 21 mai 20:43 ImageMetadata.frm
-rw-rw----   1 gilles  staff    8970 21 mai 20:43 ImagePositions.frm
-rw-rw----   1 gilles  staff    8636 21 mai 20:43 ImageProperties.frm
-rw-rw----   1 gilles  staff    8630 21 mai 20:43 ImageRelations.frm
-rw-rw----   1 gilles  staff    8678 21 mai 20:44 ImageSimilarity.frm
-rw-rw----   1 gilles  staff    8668 21 mai 20:43 ImageTagProperties.frm
-rw-rw----   1 gilles  staff    8598 21 mai 20:43 ImageTags.frm
-rw-rw----   1 gilles  staff    8824 21 mai 20:43 Images.frm
-rw-rw----   1 gilles  staff    8734 21 mai 20:44 OpenCVLBPHRecognizer.frm
-rw-rw----   1 gilles  staff    8796 21 mai 20:44 OpenCVLBPHistograms.frm
-rw-rw----   1 gilles  staff    8648 21 mai 20:43 Searches.frm
-rw-rw----   1 gilles  staff    8598 21 mai 20:43 Settings.frm
-rw-rw----   1 gilles  staff    8598 21 mai 20:44 SimilaritySettings.frm
-rw-rw----   1 gilles  staff    8632 21 mai 20:43 TagProperties.frm
-rw-rw----   1 gilles  staff    8736 21 mai 20:43 Tags.frm
-rw-rw----   1 gilles  staff    8598 21 mai 20:44 ThumbSettings.frm
-rw-rw----   1 gilles  staff    8722 21 mai 20:44 Thumbnails.frm
-rw-rw----   1 gilles  staff    8646 21 mai 20:44 UniqueHashes.frm
-rw-rw----   1 gilles  staff    8934 21 mai 20:43 VideoMetadata.frm
-rw-rw----   1 gilles  staff  114688 21 mai 20:43 albumroots.ibd
-rw-rw----   1 gilles  staff  131072 21 mai 20:43 albums.ibd
-rw-rw----   1 gilles  staff  147456 21 mai 20:44 customidentifiers.ibd
-rw-rw----   1 gilles  staff      61 21 mai 20:43 db.opt
-rw-rw----   1 gilles  staff  114688 21 mai 20:43 downloadhistory.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:44 facematrices.ibd
-rw-rw----   1 gilles  staff  114688 21 mai 20:44 facesettings.ibd
-rw-rw----   1 gilles  staff  147456 21 mai 20:44 filepaths.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:44 identities.ibd
-rw-rw----   1 gilles  staff  131072 21 mai 20:44 identityattributes.ibd
-rw-rw----   1 gilles  staff  131072 21 mai 20:43 imagecomments.ibd
-rw-rw----   1 gilles  staff  131072 21 mai 20:43 imagecopyright.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:44 imagehaarmatrix.ibd
-rw-rw----   1 gilles  staff  114688 21 mai 20:43 imagehistory.ibd
-rw-rw----   1 gilles  staff  114688 21 mai 20:43 imageinformation.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:43 imagemetadata.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:43 imagepositions.ibd
-rw-rw----   1 gilles  staff  114688 21 mai 20:43 imageproperties.ibd
-rw-rw----   1 gilles  staff  163840 21 mai 20:43 imagerelations.ibd
-rw-rw----   1 gilles  staff  163840 21 mai 20:43 images.ibd
-rw-rw----   1 gilles  staff  114688 21 mai 20:44 imagesimilarity.ibd
-rw-rw----   1 gilles  staff  163840 21 mai 20:43 imagetagproperties.ibd
-rw-rw----   1 gilles  staff  131072 21 mai 20:43 imagetags.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:44 opencvlbphistograms.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:44 opencvlbphrecognizer.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:43 searches.ibd
-rw-rw----   1 gilles  staff  114688 21 mai 20:44 settings.ibd
-rw-rw----   1 gilles  staff  114688 21 mai 20:44 similaritysettings.ibd
-rw-rw----   1 gilles  staff  131072 21 mai 20:44 tagproperties.ibd
-rw-rw----   1 gilles  staff  131072 21 mai 20:44 tags.ibd
-rw-rw----   1 gilles  staff     516 21 mai 20:43 tagstree.frm
-rw-rw----   1 gilles  staff   98304 21 mai 20:44 thumbnails.ibd
-rw-rw----   1 gilles  staff  114688 21 mai 20:44 thumbsettings.ibd
-rw-rw----   1 gilles  staff  147456 21 mai 20:44 uniquehashes.ibd
-rw-rw----   1 gilles  staff   98304 21 mai 20:43 videometadata.ibd

./db_data/mysql:
total 2000
drwx------  74 gilles  staff    2368 21 mai 20:43 .
drwxr-xr-x  16 gilles  staff     512 21 mai 20:44 ..
-rw-rw----   1 gilles  staff       0 21 mai 20:43 columns_priv.MYD
-rw-rw----   1 gilles  staff    4096 21 mai 20:43 columns_priv.MYI
-rw-rw----   1 gilles  staff    8820 21 mai 20:43 columns_priv.frm
-rw-rw----   1 gilles  staff     880 21 mai 20:43 db.MYD
-rw-rw----   1 gilles  staff    5120 21 mai 20:43 db.MYI
-rw-rw----   1 gilles  staff    9582 21 mai 20:43 db.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 event.MYD
-rw-rw----   1 gilles  staff    2048 21 mai 20:43 event.MYI
-rw-rw----   1 gilles  staff   10239 21 mai 20:43 event.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 func.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 func.MYI
-rw-rw----   1 gilles  staff    8665 21 mai 20:43 func.frm
-rw-rw----   1 gilles  staff      35 21 mai 20:43 general_log.CSM
-rw-rw----   1 gilles  staff       0 21 mai 20:43 general_log.CSV
-rw-rw----   1 gilles  staff    8776 21 mai 20:43 general_log.frm
-rw-rw----   1 gilles  staff    1092 21 mai 20:43 help_category.MYD
-rw-rw----   1 gilles  staff    3072 21 mai 20:43 help_category.MYI
-rw-rw----   1 gilles  staff    8700 21 mai 20:43 help_category.frm
-rw-rw----   1 gilles  staff   91408 21 mai 20:43 help_keyword.MYD
-rw-rw----   1 gilles  staff   16384 21 mai 20:43 help_keyword.MYI
-rw-rw----   1 gilles  staff    8612 21 mai 20:43 help_keyword.frm
-rw-rw----   1 gilles  staff    9252 21 mai 20:43 help_relation.MYD
-rw-rw----   1 gilles  staff   19456 21 mai 20:43 help_relation.MYI
-rw-rw----   1 gilles  staff    8630 21 mai 20:43 help_relation.frm
-rw-rw----   1 gilles  staff  450388 21 mai 20:43 help_topic.MYD
-rw-rw----   1 gilles  staff   20480 21 mai 20:43 help_topic.MYI
-rw-rw----   1 gilles  staff    8770 21 mai 20:43 help_topic.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 host.MYD
-rw-rw----   1 gilles  staff    2048 21 mai 20:43 host.MYI
-rw-rw----   1 gilles  staff    9510 21 mai 20:43 host.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 ndb_binlog_index.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 ndb_binlog_index.MYI
-rw-rw----   1 gilles  staff    8778 21 mai 20:43 ndb_binlog_index.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 plugin.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 plugin.MYI
-rw-rw----   1 gilles  staff    8586 21 mai 20:43 plugin.frm
-rw-rw----   1 gilles  staff    2712 21 mai 20:44 proc.MYD
-rw-rw----   1 gilles  staff    4096 21 mai 20:44 proc.MYI
-rw-rw----   1 gilles  staff   10012 21 mai 20:43 proc.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 procs_priv.MYD
-rw-rw----   1 gilles  staff    4096 21 mai 20:43 procs_priv.MYI
-rw-rw----   1 gilles  staff    8875 21 mai 20:43 procs_priv.frm
-rw-rw----   1 gilles  staff    1386 21 mai 20:43 proxies_priv.MYD
-rw-rw----   1 gilles  staff    5120 21 mai 20:43 proxies_priv.MYI
-rw-rw----   1 gilles  staff    8800 21 mai 20:43 proxies_priv.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 servers.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 servers.MYI
-rw-rw----   1 gilles  staff    8838 21 mai 20:43 servers.frm
-rw-rw----   1 gilles  staff      35 21 mai 20:43 slow_log.CSM
-rw-rw----   1 gilles  staff       0 21 mai 20:43 slow_log.CSV
-rw-rw----   1 gilles  staff    8976 21 mai 20:43 slow_log.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 tables_priv.MYD
-rw-rw----   1 gilles  staff    4096 21 mai 20:43 tables_priv.MYI
-rw-rw----   1 gilles  staff    8955 21 mai 20:43 tables_priv.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 time_zone.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 time_zone.MYI
-rw-rw----   1 gilles  staff    8636 21 mai 20:43 time_zone.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 time_zone_leap_second.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 time_zone_leap_second.MYI
-rw-rw----   1 gilles  staff    8624 21 mai 20:43 time_zone_leap_second.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 time_zone_name.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 time_zone_name.MYI
-rw-rw----   1 gilles  staff    8606 21 mai 20:43 time_zone_name.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 time_zone_transition.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 time_zone_transition.MYI
-rw-rw----   1 gilles  staff    8686 21 mai 20:43 time_zone_transition.frm
-rw-rw----   1 gilles  staff       0 21 mai 20:43 time_zone_transition_type.MYD
-rw-rw----   1 gilles  staff    1024 21 mai 20:43 time_zone_transition_type.MYI
-rw-rw----   1 gilles  staff    8748 21 mai 20:43 time_zone_transition_type.frm
-rw-rw----   1 gilles  staff     340 21 mai 20:43 user.MYD
-rw-rw----   1 gilles  staff    2048 21 mai 20:43 user.MYI
-rw-rw----   1 gilles  staff   10630 21 mai 20:43 user.frm

./db_data/performance_schema:
total 416
drwx------  20 gilles  staff   640 21 mai 20:43 .
drwxr-xr-x  16 gilles  staff   512 21 mai 20:44 ..
-rw-rw----   1 gilles  staff  8624 21 mai 20:43 cond_instances.frm
-rw-rw----   1 gilles  staff    61 21 mai 20:43 db.opt
-rw-rw----   1 gilles  staff  9220 21 mai 20:43 events_waits_current.frm
-rw-rw----   1 gilles  staff  9220 21 mai 20:43 events_waits_history.frm
-rw-rw----   1 gilles  staff  9220 21 mai 20:43 events_waits_history_long.frm
-rw-rw----   1 gilles  staff  8878 21 mai 20:43 events_waits_summary_by_instance.frm
-rw-rw----   1 gilles  staff  8854 21 mai 20:43 events_waits_summary_by_thread_by_event_name.frm
-rw-rw----   1 gilles  staff  8814 21 mai 20:43 events_waits_summary_global_by_event_name.frm
-rw-rw----   1 gilles  staff  8654 21 mai 20:43 file_instances.frm
-rw-rw----   1 gilles  staff  8800 21 mai 20:43 file_summary_by_event_name.frm
-rw-rw----   1 gilles  staff  8840 21 mai 20:43 file_summary_by_instance.frm
-rw-rw----   1 gilles  staff  8684 21 mai 20:43 mutex_instances.frm
-rw-rw----   1 gilles  staff  8776 21 mai 20:43 performance_timers.frm
-rw-rw----   1 gilles  staff  8758 21 mai 20:43 rwlock_instances.frm
-rw-rw----   1 gilles  staff  8605 21 mai 20:43 setup_consumers.frm
-rw-rw----   1 gilles  staff  8637 21 mai 20:43 setup_instruments.frm
-rw-rw----   1 gilles  staff  8650 21 mai 20:43 setup_timers.frm
-rw-rw----   1 gilles  staff  8650 21 mai 20:43 threads.frm

./db_data/test:
total 0
drwx------   2 gilles  staff   64 21 mai 20:43 .
drwxr-xr-x  16 gilles  staff  512 21 mai 20:44 ..

bash-3.2$ 

Gilles
Comment 35 caulier.gilles 2018-05-21 18:50:35 UTC
Maik,

Remember me, which SQL query is used to create the digikam databases in internal server ? how i can reproduce this task on CLI ?

Gilles
Comment 36 caulier.gilles 2018-05-21 18:56:52 UTC
Maik,

Mysql give a log from internal server :

bash-3.2$ cat mysql.err 
180521 20:43:30 InnoDB: The InnoDB memory heap is disabled
180521 20:43:30 InnoDB: Mutexes and rw_locks use GCC atomic builtins
180521 20:43:30 InnoDB: Compressed tables use zlib 1.2.11
180521 20:43:30 InnoDB: Initializing buffer pool, size = 80.0M
180521 20:43:30 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
180521 20:43:30  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
180521 20:43:30  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 64 MB
InnoDB: Database physically writes the file full: wait...
180521 20:43:30  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 64 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: 127 rollback segment(s) active.
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
180521 20:43:31  InnoDB: Waiting for the background threads to start
180521 20:43:32 Percona XtraDB (http://www.percona.com) 5.5.55-MariaDB-38.8 started; log sequence number 0
180521 20:43:32 [Note] /opt/digikam/lib/mariadb/bin/mysqld: ready for connections.
Version: '5.5.57-MariaDB'  socket: '/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket'  port: 0  Source distribution
180521 20:44:42 [Note] /opt/digikam/lib/mariadb/bin/mysqld: Normal shutdown

180521 20:44:43  InnoDB: Starting shutdown...
180521 20:44:43  InnoDB: Waiting for 180 pages to be flushed
180521 20:44:46  InnoDB: Shutdown completed; log sequence number 1918333
180521 20:44:46 [Note] /opt/digikam/lib/mariadb/bin/mysqld: Shutdown complete

bash-3.2$ pwd
/Users/gilles/Pictures/.mysql.digikam/db_data

Nothing special here...
Comment 37 caulier.gilles 2018-05-21 18:59:53 UTC
Maik,

For the socket connection,

/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket

at least /Users/gilles/Library/Application Support/digikam/digikam/db_misc/ directory do not exist.

Gilles
Comment 38 caulier.gilles 2018-05-21 19:05:11 UTC
No wrong alert. socket file is well created.This is not the problem.

I restart digiKam and setup a local collection. Scan is started. At end DK said that it cannot add the collection to DB.

Gilles
Comment 39 caulier.gilles 2018-05-21 19:08:38 UTC
Created attachment 112794 [details]
DK screenshot after first scan with mysql internal server and a local collection set
Comment 40 caulier.gilles 2018-05-21 19:09:46 UTC
Look like the collection after first scan completed is available and ready to use. Look like the local collection has moved as a removable one. Why ?

Gilles
Comment 41 caulier.gilles 2018-05-21 19:11:34 UTC
Created attachment 112795 [details]
mysql internal servel log file after local collection add and scan completed.
Comment 42 Maik Qualmann 2018-05-21 19:41:52 UTC
Access from the console (digiKam must be started, internal server started):

mysql -u root --socket=Path_to_socket_file

CREATE DATABASE digikamtest;

USE digikamtest;

CREATE TABLE Test (Name varchar(255));

SHOW TABLES;

Maik
Comment 43 caulier.gilles 2018-05-21 21:40:13 UTC
bash-3.2$ /opt/digikam/lib/mariadb/bin/mysql -u root --socket="/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket"
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 20
Server version: 5.5.57-MariaDB Source distribution

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE digikamtest;
Query OK, 1 row affected (0.02 sec)

MariaDB [(none)]> USE digikamtest;
Database changed
MariaDB [digikamtest]> CREATE TABLE Test (Name varchar(255));
Query OK, 0 rows affected (0.03 sec)

MariaDB [digikamtest]> SHOW TABLES;
+-----------------------+
| Tables_in_digikamtest |
+-----------------------+
| Test                  |
+-----------------------+
1 row in set (0.00 sec)

MariaDB [digikamtest]> 

So it work, but... to obtain this good result, i was need to fix a broken dependency with ncurse to execute mysql executable.

So i think the problem come from a missing mysql parse of binaries files when PKG is built at end. I will fix it.

Note : so no need a special account to create database under MacOS.

Gilles
Comment 44 caulier.gilles 2018-05-21 22:31:40 UTC
testa,

6.0.0 PKG installer is updated at usual place with ore mariadb binaries compatibilities

Please try again

Gilles Caulier
Comment 45 caulier.gilles 2018-05-22 05:07:59 UTC
Created attachment 112803 [details]
DK 6.0.0 trace from scratch with Mysql internal server

Maik,

I tried my last PKG with all Mariadb binaries fixes, and now all work as expected.

See my trace for details, from the start to the end of first run session. All settings removed, and previous database deleted.

Gilles Caulier
Comment 46 caulier.gilles 2018-05-22 05:17:07 UTC
Testa,

To be able to start DK with last PKG installer, please remove the following files :

- _your_home_directory_/Library/Application Support/digikam
- _your_home_directory_/Library/Preferences/digikamrc
- _your_path_to_your_database_/.mysql.digikam

Mine :

- /Users/gilles/Library/Application Support/digikam
- /Users/gilles/Library/Preferences/digikamrc
- /Users/gilles/Pictures/.mysql.digikam

The last one is typically the place of the first collection registered to to your database setup. For me, it's a local directory from my home dir.

For me the problem is now fixed. All work as expected.

Note : i will rebuild the PKG today with the last code from git, but the current uploaded PKG must work fine on your computer.

Gilles Caulier
Comment 47 caulier.gilles 2018-05-22 05:53:45 UTC
Testa,

The new PKG installer is now online with last code from git/master repository.

I'm waiting for your feedback, but for me this file can be closed soon.

Best

Gilles Caulier
Comment 48 testa 2018-05-22 06:50:31 UTC
Sorry, but the last package still causes the error as an attachment.
The launch is very very long.
Comment 49 testa 2018-05-22 06:51:11 UTC
Created attachment 112805 [details]
error message
Comment 50 caulier.gilles 2018-05-22 07:47:48 UTC
The error message is relevant of mysql_install_db which still use the DB conf file copied on user space instead to use one from /opt/digikam/... internal space.

This is abnormal, as the code have been changed by Maik and it work as expected on my Macbook pro.

So i suspect that you don't install the right PKG installer from this repository :

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

Note the date of PKG : 22 may ! It have been build this morning.

Gilles Caulier
Comment 51 testa 2018-05-22 09:18:01 UTC
Hi
I followed your indications to know how to do the cleaning of: -
- ~ / Library / Application Support / digikam
- ~ / Library / Preferences / digikamrc
- ~ / Pictures / .mysql.digikam
as well as / opt / digikam
I used the package of 22/05 5h49 either: digiKam-6.0.0-git-20180522T074156-MacOS-x86-64.pkg
When launching the app in normal mode, it shoots for a long time before having the error message. I made several inconclusive tests.
The penultimate package had resulted in an import of my photos in internal sql after relaunching the application twice in terminal mode.


Guy Audebert


> Le 22 mai 2018 à 09:47, <bugzilla_noreply@kde.org> <bugzilla_noreply@kde.org> a écrit :
> 
> https://bugs.kde.org/show_bug.cgi?id=394434
> 
> --- Comment #50 from caulier.gilles@gmail.com ---
> The error message is relevant of mysql_install_db which still use the DB conf
> file copied on user space instead to use one from /opt/digikam/... internal
> space.
> 
> This is abnormal, as the code have been changed by Maik and it work as expected
> on my Macbook pro.
> 
> So i suspect that you don't install the right PKG installer from this
> repository :
> 
> https://files.kde.org/digikam/
> 
> Note the date of PKG : 22 may ! It have been build this morning.
> 
> Gilles Caulier
> 
> -- 
> You are receiving this mail because:
> You reported the bug.
Comment 52 caulier.gilles 2018-05-22 10:02:45 UTC
The first scan can be long, this depend of collection size and number of items to populate in database. 

In my case, i setup a small collection to test (less than  images). I recommend to do the same in first.

For the error reported previously, i insist : it's abnormal to see mysql_install_db using conf file from user space instead DK bundle one (from /opt/digikam/...).

At init you must to see someting like this on the console :

digikam.databaseserver: Database initializer: "/opt/digikam/lib/mariadb/bin/mysql_install_db" ("--datadir=/Users/gilles/Pictures/.mysql.digikam/db_data", "--defaults-file=/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//digikam/database/mysql-global.conf")

This line come from my debug trace. Look the path to mysql-global.conf. It come from /opt/digikam/..., not my user space (/Users/gilles/...).

This is mandatory as the shell script from mysql/mariadb is bugous and do not accept space in path).

After that, creating mysql server instance in memory, using the binary file mysqld which is not a sheel script, can use a path with space. From my debug trace :

digikam.databaseserver: Database server: "/opt/digikam/lib/mariadb/bin/mysqld" ("--defaults-file=/Users/gilles/Library/Application Support/digikam/digikam/mysql.conf", "--datadir=/Users/gilles/Pictures/.mysql.digikam/db_data", "--socket=/Users/gilles/Library/Application Support/digikam/digikam/db_misc/mysql.socket")

This one use conf file from user space, as the temporary socket file used to communicate with the internal server from DK, through localhost.

Gilles
Comment 53 testa 2018-05-22 11:03:08 UTC
I confirm that in normal mode the direct launch fails. As for the long time I wanted to talk about the time taken for the app to request information.

By cons I launched digikam in terminal mode: /opt/digikam/Applications/KF5/digikam.app/Contents/MacOS/digikam 1> / tmp / rendering 2> & 1
and actually it works, the import of my test collection went well and if I restart digikam always in terminal mode the app opens correctly but if I run it in normal mode the error message appears .


Guy audebert


> Le 22 mai 2018 à 12:02, <bugzilla_noreply@kde.org> <bugzilla_noreply@kde.org> a écrit :
> 
> https://bugs.kde.org/show_bug.cgi?id=394434
> 
> --- Comment #52 from caulier.gilles@gmail.com ---
> The first scan can be long, this depend of collection size and number of items
> to populate in database. 
> 
> In my case, i setup a small collection to test (less than  images). I recommend
> to do the same in first.
> 
> For the error reported previously, i insist : it's abnormal to see
> mysql_install_db using conf file from user space instead DK bundle one (from
> /opt/digikam/...).
> 
> At init you must to see someting like this on the console :
> 
> digikam.databaseserver: Database initializer:
> "/opt/digikam/lib/mariadb/bin/mysql_install_db"
> ("--datadir=/Users/gilles/Pictures/.mysql.digikam/db_data",
> "--defaults-file=/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//digikam/database/mysql-global.conf")
> 
> This line come from my debug trace. Look the path to mysql-global.conf. It come
> from /opt/digikam/..., not my user space (/Users/gilles/...).
> 
> This is mandatory as the shell script from mysql/mariadb is bugous and do not
> accept space in path).
> 
> After that, creating mysql server instance in memory, using the binary file
> mysqld which is not a sheel script, can use a path with space. From my debug
> trace :
> 
> digikam.databaseserver: Database server: "/opt/digikam/lib/mariadb/bin/mysqld"
> ("--defaults-file=/Users/gilles/Library/Application
> Support/digikam/digikam/mysql.conf",
> "--datadir=/Users/gilles/Pictures/.mysql.digikam/db_data",
> "--socket=/Users/gilles/Library/Application
> Support/digikam/digikam/db_misc/mysql.socket")
> 
> This one use conf file from user space, as the temporary socket file used to
> communicate with the internal server from DK, through localhost.
> 
> Gilles
> 
> -- 
> You are receiving this mail because:
> You reported the bug.
Comment 54 caulier.gilles 2018-05-22 13:15:54 UTC
So, if the problem appear with a large collection, we will need a full debug trace from the console with all collection scan stages, until the failure event.

You need to reset the database before, of course, to be sure to not mix previous data.

Gilles Caulier
Comment 55 testa 2018-05-22 17:28:56 UTC
I had tested with a very small collection.
I can trace in terminal mode but it is this mode that works.
How can I trace in normal application mode, except to modify the appropriate script.

Guy 

> Le 22 mai 2018 à 15:15, <bugzilla_noreply@kde.org> <bugzilla_noreply@kde.org> a écrit :
> 
> https://bugs.kde.org/show_bug.cgi?id=394434
> 
> --- Comment #54 from caulier.gilles@gmail.com ---
> So, if the problem appear with a large collection, we will need a full debug
> trace from the console with all collection scan stages, until the failure
> event.
> 
> You need to reset the database before, of course, to be sure to not mix
> previous data.
> 
> Gilles Caulier
> 
> -- 
> You are receiving this mail because:
> You reported the bug.
Comment 56 caulier.gilles 2018-05-22 21:55:34 UTC
Testa,

Under MacOS, start the "Terminal" application. run digiKam directly from the console with this command ;

/opt/digikam/Applications/KF5/digikam.app/Contents/MacOS/digikam

All the trace will be printed on the console when the large collection will be scanned. That all. If something abnormal appear, we will see it. 

When digiKam is closed, just copy and paste all the console contents to a text editor by ;

CMD+A ; CMD+C ; CMD+V.

For editor just save the text to a new file, and attach it to this bugzilla entry.

Very simple.

Gilles Caulier
Comment 57 caulier.gilles 2018-05-22 21:58:22 UTC
Q : what do you mean by "How can I trace in normal application mode ?"

Do you mean to trace debug statement on the console without to run digiKam in the terminal ?

Do you mean that starting digiKam from the MacOS icons launcher do not give the same collection scan result than starting digiKam from a console ?

Gilles Caulier
Comment 58 testa 2018-05-23 06:22:40 UTC
> Q : what do you mean by "How can I trace in normal application mode ?"
> Do you mean to trace debug statement on the console without to run digiKam in
> the terminal ?

Yes that's it. Using a debug option in the app.

> Do you mean that starting digiKam from the MacOS icons launcher do not give the
> same collection scan result than starting digiKam from a console ?

Exactly the behavior is not the same.
In terminal mode it's ok, from the launchpad, no.
Maybe environment variables, a different PATH. It's curious.

I had a good result 2 days ago but the cleaning was not done entirely.

Guy Audebert
Comment 59 caulier.gilles 2018-05-23 20:25:48 UTC
Testa, Maik,

Sorry for my late response. I'm not at home, and i'm busy until next Sunday.

I can confirm that i can reproduce the problem when i start digiKam directly from OSX desktop icon. Running under OS console work perfectly.

And yes it sound like a wrong path somewhere. As we don't have any console feedback under OSX in this case, it's difficult to investiguate.

There is a tool under OSX to show events and log from application. It's limited but instructive. The tool is located in Launchpad/Others/Console (log). It's not a terminal, it's a log files viewer very well done.

Gilles Caulier
Comment 60 caulier.gilles 2018-05-23 20:27:17 UTC
Created attachment 112840 [details]
MacOS log files viewer with digiKam reports while starting from lauchpad
Comment 61 caulier.gilles 2018-05-23 20:37:40 UTC
This is the resume of the 4 crashes which appear when i start digiKam from Launchpad :

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_malloc.dylib        	0x00007fff783dc910 nano_force_unlock + 45
1   libsystem_malloc.dylib        	0x00007fff783db610 _malloc_fork_child + 284
2   libSystem.B.dylib             	0x00007fff75ec6afa libSystem_atfork_child + 24
3   libsystem_c.dylib             	0x00007fff78280683 fork + 47
4   org.qt-project.QtCore         	0x000000010c30e5d1 0x10c185000 + 1611217
5   org.qt-project.QtCore         	0x000000010c30b34b 0x10c185000 + 1598283
6   org.qt-project.QtCore         	0x000000010c2bae0f 0x10c185000 + 1269263
7   libdigikamcore.6.0.0.dylib    	0x0000000103ef71fd Digikam::DBinaryIface::checkDir(QString const&) + 509
8   libdigikamcore.6.0.0.dylib    	0x0000000103ef6e6f Digikam::DBinaryIface::setup(QString const&) + 319
9   libdigikamgui.6.0.0.dylib     	0x00000001027e2b90 Digikam::MysqlInitBinary::MysqlInitBinary() + 400
10  libdigikamgui.6.0.0.dylib     	0x00000001027e2975 Digikam::MysqlInitBinary::MysqlInitBinary() + 21
11  libdigikamgui.6.0.0.dylib     	0x00000001027e2819 Digikam::DatabaseSettingsWidget::Private::Private() + 41
12  libdigikamgui.6.0.0.dylib     	0x00000001027d9ea5 Digikam::DatabaseSettingsWidget::Private::Private() + 21
13  libdigikamgui.6.0.0.dylib     	0x00000001027d9e03 Digikam::DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget*) + 147
14  libdigikamgui.6.0.0.dylib     	0x00000001027ddc8d Digikam::DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget*) + 29
15  libdigikamgui.6.0.0.dylib     	0x0000000102d41eae Digikam::DatabasePage::DatabasePage(QWizard*) + 238
16  libdigikamgui.6.0.0.dylib     	0x0000000102d4201d Digikam::DatabasePage::DatabasePage(QWizard*) + 29
17  libdigikamgui.6.0.0.dylib     	0x0000000102d3c956 Digikam::FirstRunDlg::FirstRunDlg(QWidget*) + 838
18  libdigikamgui.6.0.0.dylib     	0x0000000102d3ce2d Digikam::FirstRunDlg::FirstRunDlg(QWidget*) + 29
19  digikam                       	0x00000001027b074a main + 7994
20  libdyld.dylib                 	0x00007fff78221015 start + 1

-------------------

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_malloc.dylib        	0x00007fff783dc910 nano_force_unlock + 45
1   libsystem_malloc.dylib        	0x00007fff783db610 _malloc_fork_child + 284
2   libSystem.B.dylib             	0x00007fff75ec6afa libSystem_atfork_child + 24
3   libsystem_c.dylib             	0x00007fff78280683 fork + 47
4   org.qt-project.QtCore         	0x000000010c30e5d1 0x10c185000 + 1611217
5   org.qt-project.QtCore         	0x000000010c30b34b 0x10c185000 + 1598283
6   org.qt-project.QtCore         	0x000000010c2bae0f 0x10c185000 + 1269263
7   libdigikamcore.6.0.0.dylib    	0x0000000103ef71fd Digikam::DBinaryIface::checkDir(QString const&) + 509
8   libdigikamcore.6.0.0.dylib    	0x0000000103ef6e6f Digikam::DBinaryIface::setup(QString const&) + 319
9   libdigikamgui.6.0.0.dylib     	0x00000001027e2fb0 Digikam::MysqlServBinary::MysqlServBinary() + 400
10  libdigikamgui.6.0.0.dylib     	0x00000001027e2995 Digikam::MysqlServBinary::MysqlServBinary() + 21
11  libdigikamgui.6.0.0.dylib     	0x00000001027e282f Digikam::DatabaseSettingsWidget::Private::Private() + 63
12  libdigikamgui.6.0.0.dylib     	0x00000001027d9ea5 Digikam::DatabaseSettingsWidget::Private::Private() + 21
13  libdigikamgui.6.0.0.dylib     	0x00000001027d9e03 Digikam::DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget*) + 147
14  libdigikamgui.6.0.0.dylib     	0x00000001027ddc8d Digikam::DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget*) + 29
15  libdigikamgui.6.0.0.dylib     	0x0000000102d41eae Digikam::DatabasePage::DatabasePage(QWizard*) + 238
16  libdigikamgui.6.0.0.dylib     	0x0000000102d4201d Digikam::DatabasePage::DatabasePage(QWizard*) + 29
17  libdigikamgui.6.0.0.dylib     	0x0000000102d3c956 Digikam::FirstRunDlg::FirstRunDlg(QWidget*) + 838
18  libdigikamgui.6.0.0.dylib     	0x0000000102d3ce2d Digikam::FirstRunDlg::FirstRunDlg(QWidget*) + 29
19  digikam                       	0x00000001027b074a main + 7994
20  libdyld.dylib                 	0x00007fff78221015 start + 1

---------------------

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_malloc.dylib        	0x00007fff783dc910 nano_force_unlock + 45
1   libsystem_malloc.dylib        	0x00007fff783db610 _malloc_fork_child + 284
2   libSystem.B.dylib             	0x00007fff75ec6afa libSystem_atfork_child + 24
3   libsystem_c.dylib             	0x00007fff78280683 fork + 47
4   org.qt-project.QtCore         	0x000000010c30e5d1 0x10c185000 + 1611217
5   org.qt-project.QtCore         	0x000000010c30b34b 0x10c185000 + 1598283
6   org.qt-project.QtCore         	0x000000010c2bae0f 0x10c185000 + 1269263
7   libdigikamcore.6.0.0.dylib    	0x0000000103ef71fd Digikam::DBinaryIface::checkDir(QString const&) + 509
8   libdigikamcore.6.0.0.dylib    	0x0000000103ef785f Digikam::DBinaryIface::recheckDirectories() + 223
9   libdigikamcore.6.0.0.dylib    	0x0000000103ef14a7 Digikam::DBinarySearch::addBinary(Digikam::DBinaryIface&) + 87
10  libdigikamgui.6.0.0.dylib     	0x00000001027da804 Digikam::DatabaseSettingsWidget::setupMainArea() + 2388
11  libdigikamgui.6.0.0.dylib     	0x00000001027d9e1c Digikam::DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget*) + 172
12  libdigikamgui.6.0.0.dylib     	0x00000001027ddc8d Digikam::DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget*) + 29
13  libdigikamgui.6.0.0.dylib     	0x0000000102d41eae Digikam::DatabasePage::DatabasePage(QWizard*) + 238
14  libdigikamgui.6.0.0.dylib     	0x0000000102d4201d Digikam::DatabasePage::DatabasePage(QWizard*) + 29
15  libdigikamgui.6.0.0.dylib     	0x0000000102d3c956 Digikam::FirstRunDlg::FirstRunDlg(QWidget*) + 838
16  libdigikamgui.6.0.0.dylib     	0x0000000102d3ce2d Digikam::FirstRunDlg::FirstRunDlg(QWidget*) + 29
17  digikam                       	0x00000001027b074a main + 7994
18  libdyld.dylib                 	0x00007fff78221015 start + 1

--------------------------------

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_malloc.dylib        	0x00007fff783dc910 nano_force_unlock + 45
1   libsystem_malloc.dylib        	0x00007fff783db610 _malloc_fork_child + 284
2   libSystem.B.dylib             	0x00007fff75ec6afa libSystem_atfork_child + 24
3   libsystem_c.dylib             	0x00007fff78280683 fork + 47
4   org.qt-project.QtCore         	0x000000010c30e5d1 0x10c185000 + 1611217
5   org.qt-project.QtCore         	0x000000010c30b34b 0x10c185000 + 1598283
6   org.qt-project.QtCore         	0x000000010c2bae0f 0x10c185000 + 1269263
7   libdigikamcore.6.0.0.dylib    	0x0000000103ef71fd Digikam::DBinaryIface::checkDir(QString const&) + 509
8   libdigikamcore.6.0.0.dylib    	0x0000000103ef6472 Digikam::DBinaryIface::slotAddPossibleSearchDirectory(QString const&) + 98
9   libdigikamcore.6.0.0.dylib    	0x0000000103f1ee20 Digikam::DBinaryIface::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 176
10  org.qt-project.QtCore         	0x000000010c39b74b QMetaObject::activate(QObject*, int, int, void**) + 2923
11  libdigikamcore.6.0.0.dylib    	0x0000000103f1f4bd Digikam::DBinarySearch::signalAddPossibleDirectory(QString const&) + 77
12  libdigikamcore.6.0.0.dylib    	0x0000000103ef22dd Digikam::DBinarySearch::addDirectory(QString const&) + 29
13  libdigikamgui.6.0.0.dylib     	0x00000001027da869 Digikam::DatabaseSettingsWidget::setupMainArea() + 2489
14  libdigikamgui.6.0.0.dylib     	0x00000001027d9e1c Digikam::DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget*) + 172
15  libdigikamgui.6.0.0.dylib     	0x00000001027ddc8d Digikam::DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget*) + 29
16  libdigikamgui.6.0.0.dylib     	0x0000000102d41eae Digikam::DatabasePage::DatabasePage(QWizard*) + 238
17  libdigikamgui.6.0.0.dylib     	0x0000000102d4201d Digikam::DatabasePage::DatabasePage(QWizard*) + 29
18  libdigikamgui.6.0.0.dylib     	0x0000000102d3c956 Digikam::FirstRunDlg::FirstRunDlg(QWidget*) + 838
19  libdigikamgui.6.0.0.dylib     	0x0000000102d3ce2d Digikam::FirstRunDlg::FirstRunDlg(QWidget*) + 29
20  digikam                       	0x00000001027b074a main + 7994
21  libdyld.dylib                 	0x00007fff78221015 start + 1
Comment 62 caulier.gilles 2018-05-23 20:40:00 UTC
In time, these crashes appear just before to see the First Run assistant.

This one populate the Database page with runtime dependecies detected at startup up.

It's fun to see these thread crashed without to crash the application.

Gilles Caulier
Comment 63 caulier.gilles 2018-08-18 12:17:53 UTC
Ok, 

I'm back to this issue with some progress.

Typically, as explained well in this page :

http://www.qtcentre.org/threads/38730-Calling-external-programs-via-QProcess-on-Mac-OS

The MACOS world is wonderfull. Stating the digikam.app bundle executable from MAcOS launcher do not inherit than full shell env. from the system. This ahev huge side effect.

This is why all work fine from a terminal but not from application icon.

Weird :

"On OS X, Finder.app is a child of your launchd session, which is a child of the root launchd session, which is process 0. There's no shell anywhere. And when you double-click an app, it asks LaunchServices to run the app. So, your app doesn't inherit anything from Finder, and even if it did, Finder hasn't inherited anything from your login shell."

There is certainly a solution. The crash revelated by Logfile MacOS application are all relevant of QProcess::start(). This is exactly the same problem than all listed in QtCentre entry.

So investiguation are required...

Gilles Caulier
Comment 64 caulier.gilles 2018-08-21 19:27:38 UTC
Testa,

Good news... After all, the last problem in this entry is solved.

The crash relevant of QProcess calls disapear after to recompile the whole digiKam bundle from scratch. Probably a mix of different build from shared libs through Macports was the origin of the problem. This is a tradition under Macports : rebuild all to be sure. This take some hours but the result is always better.

Please test with the last bundle that is just uploaded here :

https://files.kde.org/digikam/digiKam-6.0.0-beta1-20180821T182536-MacOS-x86-64.pkg.mirrorlist

It work perfectly here.

Thanks in advance for your feedback

Gilles Caulier
Comment 65 caulier.gilles 2018-08-22 21:59:06 UTC
I can confirm myself that all problem with internal mysql support under MacOS are fixed now :

https://www.flickr.com/photos/digikam/42397816780/in/dateposted/

Gilles Caulier