Comment 9 for bug 578357

Revision history for this message
GerhardGaußling (ggrubbish-web) wrote :

I got a similar issue with kontact/akonadi (No resource agents have been found).

$ sudo aa-complain mysqld
[sudo] password for gerhard:
Setting /usr/sbin/mysqld to complain mode.

$ sudo aa-complain mysqld-akonadi
Setting /etc/apparmor.d/usr.sbin.mysqld-akonadi to complain mode.

$ sudo /etc/init.d/apparmor reload
 * Reloading AppArmor profiles Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox-3.7
Warning: found usr.bin.freshclam in /etc/apparmor.d/force-complain, forcing complain mode
Warning: found usr.sbin.mysqld in /etc/apparmor.d/force-complain, forcing complain mode
Warning: found usr.sbin.ntpd in /etc/apparmor.d/force-complain, forcing complain mode

$ akonadictl restart
[...]
[akonadiserver] Found mysql_upgrade: "/usr/bin/mysql_upgrade"
"akonadiserver" [out] "Looking for 'mysql' as: /usr/bin/mysql
"
"akonadiserver" [out] "Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
"
"akonadiserver" [out] "Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock' '--socket=/home/gerhard/.local/share/akonadi/db_misc/mysql.socket'
"
[akonadiserver] /usr/bin/mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/home/gerhard/.local/share/akonadi/db_misc/mysql.socket' (2) when trying to connect
[akonadiserver] FATAL ERROR: Upgrade failed
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] DbInitializer::run()
[...]

$ mysqlcheck --port=3306 --socket=/var/run/mysqld/mysqld.sock --socket=/home/gerhard/.local/share/akonadi/db_misc/mysql.socket -g -a --auto-repair akonadi
akonadi.collectionattributetable OK
akonadi.collectionmimetyperelation OK
akonadi.collectionpimitemrelation OK
akonadi.collectiontable OK
akonadi.flagtable OK
akonadi.mimetypetable OK
akonadi.parttable OK
akonadi.pimitemflagrelation OK
akonadi.pimitemtable OK
akonadi.resourcetable OK
akonadi.schemaversiontable OK

$ cat $HOME/.local/share/akonadi/db_data/mysql.err
100717 13:59:35 [Note] Plugin 'FEDERATED' is disabled.
100717 13:59:36 InnoDB: Started; log sequence number 0 3093356
100717 13:59:36 [Note] /usr/sbin/mysqld-akonadi: ready for connections.
Version: '5.1.41-3ubuntu11-log' socket: '/home/gerhard/.local/share/akonadi/db_misc/mysql.socket' port: 0 (Ubuntu)

$ grep -i ERR $HOME/.local/share/akonadi/db_data/mysql.err.old|sort -u
100608 19:05:39 [ERROR] Aborting
100608 19:05:39 [ERROR] Plugin 'InnoDB' init function returned error.
100608 19:05:39 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
100608 19:05:39 [ERROR] Unknown/unsupported table type: innodb
100608 19:05:39 InnoDB: Operating system error number 11 in a file operation.
InnoDB: Error in opening ./ibdata1
InnoDB: Error number 11 means 'Resource temporarily unavailable'.
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/operating-system-error-codes.html
InnoDB: Some operating system error numbers are described at
InnoDB: Unable to lock ./ibdata1, error: 11

$ ls -l /home/gerhard/.local/share/akonadi/db_data/ibdata1
-rw-rw---- 1 gerhard gerhard 10485760 2010-07-17 13:59 /home/gerhard/.local/share/akonadi/db_data/ibdata1

$ file /home/gerhard/.local/share/akonadi/db_data/ibdata1
/home/gerhard/.local/share/akonadi/db_data/ibdata1: data

but these InnoDB errors are logged in mysql.err.old

After doing all this Stuff I'm able to open the kontact addressbook, but restarting aconadi gives still error 2002: Can't connect to local MySQL server through socket [akonadiserver] FATAL ERROR: Upgrade failed

The error still remain the same after moving the ib_logfiles:
$ mv $HOME/.local/share/akonadi/db_data/ib_logfile0 $HOME/.local/share/akonadi/db_data/_ib_logfile0
$ mv $HOME/.local/share/akonadi/db_data/ib_logfile1 $HOME/.local/share/akonadi/db_data/_ib_logfile1

What I didn't tried yet:
1. Stop akonadi and close kontact
2. mv .local/share/akonadi .local/share/akonadi.bak
3. sudo aa-complain mysqld-akonadi
4. start akonadi (akonadictl start)