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...
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
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
(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.
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.
I ran into a similar issue, except I noticed in the logs that mysql was failing to write to /var/db/mysql_tmpdir. I was able to fix it by doing: cp /usr/local/etc/xdg/akonadi/mysql-global.conf ~/.config/akonadi/mysql-local.conf Add tmpdir=~/.cache/mysql_tmpdir line to ~/.config/akonadi/mysql-local.conf mkdir ~/.cache/mysql_tmpdir delete contents of ~/.local/share/akonadi (since the database contains the tmpdir path, I think) akonadictl start Then it seemed to go away. Perhaps we need to set a tmpdir in /usr/local/etc/xdg/akonadi/mysql-global.conf?
Repairing Akonadi on FreeBSD | [bobulate] <https://euroquis.nl/kde/2021/07/12/akonadi.html> Is this bug 248929 still reproducible?
(In reply to Graham Perrin from comment #6) It is still broken for me. I checked as recently as ~3 days ago on a freshly installed system, starting from an empty home directory. I've had to lock mysql at version 5.7.33 as a work-around.
(In reply to Greg Rivers from comment #7) Moin moin Are you using the quarterly or the latest pkg-repository? mfg Tobias
A commit in branch 2021Q3 references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=5b49dd92f47ed462e9b60597bf2b179268927213 commit 5b49dd92f47ed462e9b60597bf2b179268927213 Author: Adriaan de Groot <adridg@FreeBSD.org> AuthorDate: 2021-07-11 15:52:29 +0000 Commit: Tobias C. Berner <tcberner@FreeBSD.org> CommitDate: 2021-08-27 15:18:24 +0000 databases/qt5-sqldrivers-mysql: fix against mysql 5.7.34 In mysql 5.7.34 binding a parameter to a 0-sized buffer triggers an assert() -- previously this was DBG_ASSERT. This triggers crashes in databases/akonadi in particular, which binds blobs of size 0. This patch allows akonadi with the default mysql to start (at all) again. The patch file previously held a Qt4-era patch which had long ago had a better patch applied upstream (the comment in the patch refers to that). The old stuff has been removed, leaving only the parameter-fix. PR: 248929 (cherry picked from commit e093f1162c353f3d62dce85e9e74053fc9a4743c) databases/qt5-sqldrivers-mysql/Makefile | 1 + ...ch-src_plugins_sqldrivers_mysql_qsql__mysql.cpp | 77 +++++----------------- 2 files changed, 16 insertions(+), 62 deletions(-)
(In reply to Tobias C. Berner from comment #8) I'm using the latest pkg repo. Sorry, I should have said so in the first place.
(In reply to Greg Rivers from comment #7) > … freshly installed system … Updated to 13.0-RELEASE-p4?
(In reply to Graham Perrin from comment #11) Yep, 13.0-RELEASE-p4.
After running `pkg upgrade` just now against the "latest" pkg repo, akonadi is working for me with mysql 5.7.35. Looks like Tobias' August 27 commit fixed the problem. Thanks!
Moin moin It looks like this issue is resolved -- please feel free to reopen it, if you still experience it. mfg Tobias