Bug 248929 - databases/akonadi: Fails to start with MySQL errors
Summary: databases/akonadi: Fails to start with MySQL errors
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-kde (Team)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-26 12:26 UTC by Adam Jimerson
Modified: 2020-10-11 02:36 UTC (History)
1 user (show)

See Also:
tcberner: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Jimerson 2020-08-26 12:26:35 UTC
Since the akonadi-20.08.0 update akonadi fails to start with `akonadictl start` with the following errors:

> org.kde.pim.akonadictl: Starting Akonadi Server...
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-vendion'
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-vendion'
> org.kde.pim.akonadictl:    done.
> Connecting to deprecated signal 
> QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
> org.kde.pim.akonadiserver: Starting up the Akonadi Server...                                                                                                                                                                  
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-vendion'
> org.kde.pim.akonadiserver: Did not find MySQL server default configuration (mysql-global.conf)
> org.kde.pim.akonadiserver: Failed to remove runtime connection config file
> org.kde.pim.akonadiserver: Shutting down AkonadiServer...
> org.kde.pim.akonadicontrol: Application '/usr/local/bin/akonadiserver' exited normally..

During this time the /tmp/runtime-vendion/akonadi/ directory gets created, but is empty, there isn't even a socket file created my the MySQL server in ~/.config/akonadi/akonadiserverrc suggests.

The mysql-global.conf file does exist on my system in /usr/local/etc/xdg/akonadi/mysql-global.conf and there is a mysql.conf file in ~/.local/share/akonadi/mysql.conf.

There is an Akonadi.error file in ~/.local/share/akonadi with the following (echoing the output from `akonadictl start`):

> 2020-08-26T08:13:53 [INFO ] org.kde.pim.akonadiserver: Starting up the Akonadi Server...
> 2020-08-26T08:13:53 [WARN ] default: QStandardPaths2020-08-26T08:13:53 [INFO ] org.kde.pim.akonadicontrol: Application '/usr/local/bin/akonadiserver' exited normally...
> er: Did not find MySQL server default configuration (mysql-global.conf)
> 2020-08-26T08:13:53 [CRITICAL] org.kde.pim.akonadiserver: Failed to remove runtime connection config file
> 2020-08-26T08:13:53 [INFO ] org.kde.pim.akonadiserver: Shutting down AkonadiServer...
Comment 1 Adam Jimerson 2020-09-18 22:51:39 UTC
Note: I have tried following these directions to have Akodoni do a clean start and I still get the same error. https://docs.kde.org/trunk5/en/pim/kmail2/clean-start-after-a-failed-migration.html
Comment 2 Tobias C. Berner freebsd_committer 2020-09-26 14:36:18 UTC
Moin moin 

Sorry for not getting back to you sooner.

Have you tried manually creating a
~/.config/akonadi/akonadiserverrc 
with the correct connection information (maybe you can connect via hostname isntead of socket)?


mfg Tobias
Comment 3 Adam Jimerson 2020-09-27 11:48:20 UTC
(In reply to Tobias C. Berner from comment #2)

I don't know if that will work out of the box as the default /usr/local/etc/xdg/akonadi/mysql-global.conf  has the "skip_networking" option enabled.

I did try updating my ~/.config/akonadi/akonadiserverrc with the following

> [Debug]
> Tracer=null
> 
> [%General]
> Driver=QMYSQL
> 
> [QMYSQL]
> Host=Heimdall
> Name=akonadi
> Options=""
> ServerPath=/usr/local/libexec/mysqld
> StartServer=true

> [Debug]
> Tracer=null
> 
> [%General]
> Driver=QMYSQL
> 
> [QMYSQL]
> Host=localhost
> Name=akonadi
> Options=""
> ServerPath=/usr/local/libexec/mysqld
> StartServer=true


When I ran akonadictl start --verbose with those I got the same error, and it updated my config file adding back in the "Options="UNIX_SOCKET=/tmp/runtime-vendion/akonadi/mysql.socket" options.

> org.kde.pim.akonadictl: Starting Akonadi Server...
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-vendion'
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-vendion'
> org.kde.pim.akonadictl:    done.
> Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
> [/u/h/vendion]─> org.kde.pim.akonadiserver: Starting up the Akonadi Server...                                                                                                                                                               
> org.kde.pim.akonadiserver: Found mysql_install_db:  "/usr/local/bin/mysql_install_db"
> org.kde.pim.akonadiserver: Found mysqlcheck:  "/usr/local/bin/mysqlcheck"
> org.kde.pim.akonadiserver: Using mysqld: "/usr/local/libexec/mysqld"
> org.kde.pim.akonadiserver: Did not find MySQL server default configuration (mysql-global.conf)
> org.kde.pim.akonadiserver: terminating connection threads
> org.kde.pim.akonadiserver: terminating service threads
> org.kde.pim.akonadiserver: stopping db process
> org.kde.pim.akonadiserver: Failed to remove runtime connection config file
> org.kde.pim.akonadiserver: Shutting down AkonadiServer...
> org.kde.pim.akonadicontrol: Application '/usr/local/bin/akonadiserver' exited normally...

To experiment I copied over /usr/local/etc/xdg/akonadi/mysql-global.conf to ~/.config/akonadi/mysql-local.conf as the file suggests and commented out the "skip_networking" option and tried with the same result.
Comment 4 Adam Jimerson 2020-10-11 02:36:49 UTC
In further testing I was able to create a system wide DB for Akonadi to use using mysql57 (already installed as a dependency for akonadi and a few other KDE packages) and everything seems to be working fine for now although this setup is less than ideal compaired to the default of letting akonadi start the DB server as needed on a per user bases.