Bug 1491316 - akonadi: Plugin pvio_socket could not be loaded: not initialized
Summary: akonadi: Plugin pvio_socket could not be loaded: not initialized
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kf5-akonadi-server
Version: 27
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: F27BetaFreezeException F27FinalBlocker
TreeView+ depends on / blocked
 
Reported: 2017-09-13 13:53 UTC by Rex Dieter
Modified: 2017-10-19 03:24 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-10-01 18:18:13 UTC
Type: Bug


Attachments (Terms of Use)

Description Rex Dieter 2017-09-13 13:53:06 UTC
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.

Comment 1 Fedora Blocker Bugs Application 2017-09-13 13:56:49 UTC
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.

Comment 2 Adam Williamson 2017-09-13 16:29:13 UTC
Well, we quite specifically include application functionality in the Final criteria and do *not* include them in the Beta criteria...

Comment 3 Rex Dieter 2017-09-13 16:31:37 UTC
OK, final is fine indeed, sorry I checked the wrong box

Comment 4 Adam Williamson 2017-09-13 16:32:55 UTC
OK, changing to FinalBlocker (but still BetaFreezeException).

Comment 5 Kamil Páral 2017-09-18 17:31:40 UTC
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.

Comment 6 Steven Haigh 2017-09-25 08:26:42 UTC
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.

Comment 7 Kevin Kofler 2017-09-25 10:16:28 UTC
That patch is just a hack, this must be fixed in Qt.

Comment 8 Steven Haigh 2017-09-25 10:53:50 UTC
Digging deeper, this may be the correct fix in QT instead of the KDE workaround.

https://codereview.qt-project.org/#/c/205874/

Comment 9 Fedora Update System 2017-09-25 16:58:51 UTC
qt5-qtbase-5.9.1-6.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a

Comment 10 Steven Haigh 2017-09-26 01:33:49 UTC
(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?

Comment 11 Rex Dieter 2017-09-26 13:10:31 UTC
Looks like I'd botched actually applying the patch to our qtbase packaging, spinning new builds new.

Comment 12 Fedora Update System 2017-09-26 17:55:11 UTC
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

Comment 13 Fedora Update System 2017-09-26 18:07:44 UTC
qt5-qtbase-5.9.1-7.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a

Comment 14 Steven Haigh 2017-09-27 06:20:22 UTC
For documentation purposes, -6 and -7 don't resolve the issue.

Investigations ongoing between I believe rdieter and dvratil...

Comment 15 Steven Haigh 2017-09-27 07:26:38 UTC
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

Comment 16 Steven Haigh 2017-09-27 15:34:02 UTC
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.....

Comment 17 Fedora Update System 2017-09-27 15:53:01 UTC
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

Comment 18 Fedora Update System 2017-09-27 18:07:48 UTC
qt5-qtbase-5.9.1-9.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-373b7d360a

Comment 19 Steven Haigh 2017-09-27 21:45:59 UTC
I can confirm that qt5-qtbase-5.9.1-9.fc27 fixes this issue - and akonadiserver launches correctly now.

Comment 20 Fedora Update System 2017-09-28 16:28:55 UTC
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

Comment 21 Fedora Update System 2017-10-01 18:18:13 UTC
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.

Comment 22 Garry T. Williams 2017-10-19 03:24:05 UTC
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"


Note You need to log in before you can comment on or make changes to this bug.