[Digikam-devel] [digikam] [Bug 337737] New: Settings and installation windows freeze when valid mariadb/mysql db connection is available

Christian buitk14 at A1.net
Wed Jul 23 19:41:02 BST 2014


            Bug ID: 337737
           Summary: Settings and installation windows freeze when valid
                    mariadb/mysql db connection is available
           Product: digikam
           Version: 4.1.0
          Platform: openSUSE RPMs
                OS: Linux
            Status: UNCONFIRMED
          Severity: grave
          Priority: NOR
         Component: setup
          Assignee: digikam-devel at kde.org
          Reporter: buitk14 at A1.net

The digikam 4.x settings window and the collection setup window at installation
will freeze after apr. 3 seconds once a mariadb/mysql connection was setup
successfully with latest mariadb and mysql libs (at least in OpenSuse 12.3 and
13.1. - dont know about other distros)

Installed 64Bit Libraries:
digikam 4.1.0-11.8
kipi-plugins 4.1.0-11.8
kipi-plugins-lang 4.1.0-11.8
libgkgeomap-lang 4.1.0-11.8
libkipi11 4.11.5-298.1
mariadb 5.5.33-2.2
mariadb-client 5.5.33-2.2
libmysql18 5.5.33-2.2
libmysqlclient18 5.5.33-2.2
libmysqlcppconn 1.1.2-4.1.3
ibvsqlitepp 0.3.12-7.7

and more ...

from Standard OpenSuse 13.1 Repositorys and from:
http://download.opensuse.org/repositories/server:/database/openSUSE_13.1/ (only
for ibvsqlitepp 0.3.12-7.7) 

Rating of the Bug:

This bug is severe, because it blocks installation of digikam on top of a MySQl
database. MySQL is a must for large asset collections - so digikam 4.* cannot
be used for semiprofessional workflows (at least using OpenSuse).

The installation is blocked, because the wizard opens the collections setup
window once a mysql database was set up successfully. The collections setup
window will freeze after apr. 3 seconds. If you are quick enough you can finish
the setup - see 'workarounds" later on.


The freeze is not restricted to db settings and collections settings, any tab
of the settings windows will freeze after 3 seconds, once mysql was set up
successfully. There are workarounds to change settings without that windows -
see below.

Reproducable - see attachments:

1. Install OpenSuse 13.1 from online repository.

The latest digikam 4.1.0 build right now ist 11.8 for KDE 4.13, but the bug
blocks any 4.* release of digikam for OpenSuse.

2. Create user "benutzer1" in OpenSuse and login

Copy some images to folder /home/benutzer1/.

3. Test setup files in attachment, create MysqlDB :

a. settings-file "digikamrc_settingswork"

These are default settings, with the sqlite db in /home/benutzer1/. 

Rename the file to "digikamrc" and copy it to /home/benutzer1/.kde4/share/
Start digikam and everything works fine. Check the "settings"-window: it does
not freeze.

b. settings-file "digikamrc_settingsdonotwork"

This is exactly the same settings file - but the section [Database Settings]
was replaced with a connection to a valid mysql database "digikamdb" for user
"digikamuser" with password "**". A short description of mariadb/mysql setup is
given below.

Create the mysql db and user as described in the next section.
Rename the file to "digikamrc" and copy it to /home/benutzer1/.kde4/share/

Start digikam and the freeze of the "settings"-windows will block your further
installation when you are asked to define the filepath to the main collection.
Note: If you receive database errors, the db was not set up in the right way -
in this case the window might or might not freeze.

The settings-window will also freeze when you setup the database settings and
collections with the workarounds I will describe later on. You have to chance
all settings in the "digikamrc"file using a text editor (not that bad ...)

4. Set up mariadb/mysql for the test:

 a. set mariadb/mysql root password - it is empty

 #Check if service is running:
 >systemctl status  mysql.service
 # open mysql client on the console:
 >mysql --host= --user=root --port=3306

 and type:

use mysql;set password for root at localhost = password('rootpw');
flush privileges;

 b. change mariadb configuration for digikam before creating databases

  Adapt /etc/my.cnf  BEFORE you create the databases for digikam:


  Find a line that reads "log_bin" and remove or comment it as follows:
  #log_bin = ...
  # binlog_format=mixed

 c. restart mysql db, check server status and open mysql console:

   >systemctl restart mysql.service
   >systemctl status  mysql.service
   >mysql --host= --user=root --password=rootpw --port=3306

  On the mysql prompt type:

'digikamuser'@'localhost' IDENTIFIED BY '**'; FLUSH PRIVILEGES;
GRANT SUPER ON *.* TO 'digikamuser'@'localhost'; FLUSH PRIVILEGES;

5. Workaround for this bug till there is a fix:

This bug should not stop you working with digikam and mysql to manage a large
collection of media assets (that would kill Adobe Lightroom.)

After opening the window with digikam settings the digikam GUI will freeze
under KDE 4.* within 3 seconds after a mysql connection was setup successfully.
Without a valid mysql conncetion digikam settings window will NOT freeze.

Workaround to set default collection:
 There is no freeze of the settings windows at the first start.
 Choose any folder with no images, because it will be changed again.
 Then open Settings Windows and Select "MySQL" in the database section.

Workaround to set first mysql database settings and collection:  
  Dialog will not freeze during database setup, it will freeze later
  on when the collection path is chosen: Set default path before you
  start digikam in ~/.kde4/share/config/digikamrc:
   change section "[KFileDialog Settings]" Recent URLs, Recent Files
  Then be quick, just press return to select this path.

Workaround to add one ore more collections to the database:

Use mysql console or workbench to add new rows in table 'AlbumRoots':

USE digikamdb;
INSERT INTO `AlbumRoots`
(`id`,`label`,`status`,`type`,`identifier`,`specificPath`) VALUES
INSERT INTO `AlbumRoots`
(`id`,`label`,`status`,`type`,`identifier`,`specificPath`) VALUES

Workaround: to change mysql database settings, edit section in

[Database Settings]
Database Connectoptions=
Database Hostname=localhost
Database Name=digikamdb
Database Name Thumbnails=digikamdb
Database Password=**
Database Port=3306
Database Type=QMYSQL
Database Username=digikamuser
Internal Database Server=false

Workaround: to change other settings, edit the relate section in

Example for Color Profiles:

[Color Management]
WorkProfileFile[$e]=/usr/share/color/icc/Adobe ICC Profiles/RGB

You are receiving this mail because:
You are the assignee for the bug.

More information about the Digikam-devel mailing list