Newer mariadb releases, including the version included in f27 introduced a behavior change that adversely affects QtSql driver and akonadi. In particular, it now fails spectacularly. :-/ See also: https://bugs.kde.org/show_bug.cgi?id=383991 https://jira.mariadb.org/browse/CONC-277 https://bugreports.qt.io/browse/QTBUG-63108 Need to get this sorted out prior to f27 release.
Proposed as a Blocker and Freeze Exception for 27-beta by Fedora user rdieter using the blocker tracking app because: Newer mariadb releases, including the version included in f27 introduced a behavior change that adversely affects QtSql driver and akonadi. In particular, it now fails spectacularly. This greately affects kde spin, and many pim-related applications, including kmail and workspace calendering. Definitely fixable post-release (freeze exception), but it would look "really bad"(tm) releasing anything this crashy.
Well, we quite specifically include application functionality in the Final criteria and do *not* include them in the Beta criteria...
OK, final is fine indeed, sorry I checked the wrong box
OK, changing to FinalBlocker (but still BetaFreezeException).
Discussed at blocker review meeting [1]: AcceptedFreezeException punt (final blocker) - This bug seems to be important for KDE spin functionality but we need more information for making this final blocker. [1] https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2017-09-18 Rex, please specify what exactly the problem is with the apps - e.g. they don't start at all, some functionality is missing, etc.
Adding more details - as I just stumbled across this in F27 testing... KMail refuses to operate and complains that the Akonadi Server is not running. Any attempt to start the akonadi server fails with: $ akonadictl start Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) akonadi.collectionattributetable OK akonadi.collectionmimetyperelation OK akonadi.collectionpimitemrelation OK akonadi.collectiontable OK akonadi.flagtable OK akonadi.mimetypetable OK akonadi.parttable OK akonadi.parttypetable OK akonadi.pimitemflagrelation OK akonadi.pimitemtable OK akonadi.pimitemtagrelation OK akonadi.relationtable OK akonadi.relationtypetable OK akonadi.resourcetable OK akonadi.schemaversiontable OK akonadi.tagattributetable OK akonadi.tagremoteidresourcerelationtable OK akonadi.tagtable OK akonadi.tagtypetable OK org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open org.kde.pim.akonadiserver: Unable to open database "Plugin pvio_socket could not be loaded: not initialized QMYSQL: Unable to connect" org.kde.pim.akonadicontrol: Application 'akonadiserver' exited normally... There is a patch that apparently fixes this now at: https://cgit.kde.org/akonadi.git/commit/?id=b145f47f000978b9d39edc1882849ec7f6b3ef79 Assuming this patch does indeed fix problems without introducing regressions, then all will be well. I do agree that this should be tagged as a final blocker to ensure this doesn't slip through the cracks.
That patch is just a hack, this must be fixed in Qt.
Digging deeper, this may be the correct fix in QT instead of the KDE workaround. https://codereview.qt-project.org/#/c/205874/
qt5-qtbase-5.9.1-6.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a
(In reply to Fedora Update System from comment #9) > qt5-qtbase-5.9.1-6.fc27 has been submitted as an update to Fedora 27. > https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a Tried this update on F27 - Still breaks on start with same error. $ rpm -qa | grep qtbase qt5-qtbase-gui-5.9.1-6.fc27.x86_64 qt5-qtbase-common-5.9.1-6.fc27.noarch qt5-qtbase-mysql-5.9.1-6.fc27.x86_64 qt5-qtbase-5.9.1-6.fc27.x86_64 Does this need a rebuild of the kde pim packages with the KDE patch also?
Looks like I'd botched actually applying the patch to our qtbase packaging, spinning new builds new.
qt5-qtbase-5.9.1-6.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a
qt5-qtbase-5.9.1-7.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a
For documentation purposes, -6 and -7 don't resolve the issue. Investigations ongoing between I believe rdieter and dvratil...
Talking with Andy Shaw from in #qt-labs re the problem. He provided this for testing: https://codereview.qt-project.org/#/c/206850/ Extend the MariaDB define check to cover the later versions too Change-Id: Ide89b4e07feb116bf152cbf3f5630d313e8ba0f1
With the above patch in place (scratch build 5.9.1-8), this still doesn't work... I did notice however that akonadictl will pass through the --verbose flag to akonadiserver... That gives the following output: $ akonadictl start --verbose Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) org.kde.pim.akonadiprivate: search paths: ("/usr/lib64/qt-3.3/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/local/sbin", "/usr/sbin", "/home/netwiz/.local/bin", "/home/netwiz/bin", "/usr/bin", "/usr/sbin", "/usr/local/sbin", "/usr/local/libexec", "/usr/libexec", "/opt/mysql/libexec", "/opt/local/lib/mysql5/bin", "/opt/mysql/sbin") org.kde.pim.akonadiserver: Found mysql_install_db: "/usr/bin/mysql_install_db" org.kde.pim.akonadiserver: Found mysqlcheck: "/usr/bin/mysqlcheck" org.kde.pim.akonadiserver: Using mysqld: "/usr/libexec/mysqld" org.kde.pim.akonadiserver: mysqld reports version 10.2.8 (MariaDB) org.kde.pim.akonadiserver: Executing: "/usr/libexec/mysqld" "--defaults-file=/home/netwiz/.local/share/akonadi/mysql.conf --datadir=/home/netwiz/.local/share/akonadi/db_data/ --socket=/tmp/akonadi-netwiz.0rLBhG/mysql.socket --pid-file=/tmp/akonadi-netwiz.0rLBhG/mysql.pid" org.kde.pim.akonadiserver: Executing: "/usr/bin/mysqlcheck" "--defaults-file=/home/netwiz/.local/share/akonadi/mysql.conf --check-upgrade --auto-repair --socket=/tmp/akonadi-netwiz.0rLBhG/mysql.socket akonadi" akonadi.collectionattributetable OK akonadi.collectionmimetyperelation OK akonadi.collectionpimitemrelation OK akonadi.collectiontable OK akonadi.flagtable OK akonadi.mimetypetable OK akonadi.parttable OK akonadi.parttypetable OK akonadi.pimitemflagrelation OK akonadi.pimitemtable OK akonadi.pimitemtagrelation OK akonadi.relationtable OK akonadi.relationtypetable OK akonadi.resourcetable OK akonadi.schemaversiontable OK akonadi.tagattributetable OK akonadi.tagremoteidresourcerelationtable OK akonadi.tagtable OK akonadi.tagtypetable OK org.kde.pim.akonadiserver: MySQL version OK (required "5.1" , available "10.2" ) org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open org.kde.pim.akonadiserver: Unable to open database "Plugin pvio_socket could not be loaded: not initialized QMYSQL: Unable to connect" org.kde.pim.akonadiserver: terminating connection threads org.kde.pim.akonadiserver: terminating service threads org.kde.pim.akonadiserver: Shutting down "NotificationManager" ... org.kde.pim.akonadiserver: stopping db process org.kde.pim.akonadiserver: Shutting down AkonadiServer... org.kde.pim.akonadicontrol: Application 'akonadiserver' exited normally... Not exactly a smoking gun though.....
qt5-qtbase-5.9.1-7.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a
qt5-qtbase-5.9.1-9.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a
I can confirm that qt5-qtbase-5.9.1-9.fc27 fixes this issue - and akonadiserver launches correctly now.
qt5-qtbase-5.9.1-9.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a
qt5-qtbase-5.9.1-9.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.
Same failure messages encountered with qt5-qtbase-5.9.2-1.fc27.x86_64 but recovery was successful by restarting akonadiserver. Journal was filled with these errors for two days (while I was away from machine). After akonadictl restart, the errors ceased and kmail updated inbox and all looked good. This failure mode is probably a bad idea. Maybe akonadiserver should just exit on these errors instead of continuously flooding the journal with the same errors thousands of times. org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open QSqlQuery::prepare: database not open org.kde.pim.akonadiserver: Database error: Cannot open database. org.kde.pim.akonadiserver: Last driver error: "QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Last database error: "Plugin pvio_socket could not be loaded: not initialized" QSqlQuery::exec: database not open org.kde.pim.akonadiserver: DATABASE ERROR: org.kde.pim.akonadiserver: Error code: "" org.kde.pim.akonadiserver: DB error: "" org.kde.pim.akonadiserver: Error text: " " org.kde.pim.akonadiserver: Query: "SELECT CollectionTable.id, CollectionTable.remoteId, CollectionTable.remoteRevision, CollectionTable.name, CollectionTable.parentId, CollectionTable.resourceId, CollectionTable.enabled, CollectionTable.syncPref, CollectionTable.displayPref, CollectionTable.indexPref, CollectionTable.referenced, CollectionTable.cachePolicyInherit, CollectionTable.cachePolicyCheckInterval, CollectionTable.cachePolicyCacheTimeout, CollectionTable.cachePolicySyncOnDemand, CollectionTable.cachePolicyLocalParts, CollectionTable.queryString, CollectionTable.queryAttributes, CollectionTable.queryCollections, CollectionTable.isVirtual FROM CollectionTable WHERE ( CollectionTable.id = :0 )" org.kde.pim.akonadiagentbase: Failed to fetch collection for collection sync: "Unable to retrieve collection for listing"