Bug 277699

Summary: Akonadiserver crashes when MySQLd returns with failure
Product: [Frameworks and Libraries] Akonadi Reporter: Unknown <null>
Component: serverAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: null
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description Unknown 2011-07-13 14:52:33 UTC
Version:           unspecified (using Devel) 
OS:                Linux

When I execute "akonadictl start", it shows the following three times:

`akonadictl start`
Starting Akonadi Server...
   done.
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
aki@linux-suse:~> search paths:  ("/usr/local/gcc43", "/usr/local/gcc43", "/usr/local/gcc43", "/usr/lib64/mpi/gcc/openmpi/bin", "/home/aki/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/X11R6/bin", "/usr/games", "/opt/kde3/bin", "/usr/lib/mit/bin", "/usr/lib/mit/sbin", "/usr/local/cuda/bin", "/opt/intel/composerxe-2011.4.191/bin/intel64/", "/opt/intel/composerxe-2011.4.191/bin/intel64/", "/opt/intel/composerxe-2011.4.191/bin/intel64/", "/opt/intel/composerxe-2011.4.191/bin/intel64/", "/usr/sbin", "/usr/local/sbin", "/usr/local/libexec", "/usr/libexec", "/opt/mysql/libexec", "/opt/local/lib/mysql5/bin", "/opt/mysql/sbin") 
Found mysql_install_db:  "/usr/bin/mysql_install_db" 
Found mysqlcheck:  "/usr/bin/mysqlcheck" 
Database process exited unexpectedly during initial connection!
executable: "/usr/sbin/mysqld"
arguments: ("--defaults-file=/home/aki/.local/share/akonadi//mysql.conf", "--datadir=/home/aki/.local/share/akonadi/db_data/", "--socket=/home/aki/.local/share/akonadi/socket-linux-suse/mysql.socket")
stdout: ""
stderr: ""
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver(_Z11akBacktracev+0x37) [0x44ddc7]
1: akonadiserver() [0x44e1c2]
2: /lib64/libc.so.6(+0x32b30) [0x7f2f36173b30]
3: /lib64/libc.so.6(gsignal+0x35) [0x7f2f36173ab5]
4: /lib64/libc.so.6(abort+0x186) [0x7f2f36174fb6]
5: /usr/lib64/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x74) [0x7f2f37e56924]
6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xab) [0x45020b]
7: /usr/lib64/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x77) [0x7f2f37ee4747]
8: /usr/lib64/libQtCore.so.4(+0x106ac6) [0x7f2f37eecac6]
9: /usr/lib64/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3b) [0x7f2f37ef59ab]
10: akonadiserver(_ZN6QDebugD1Ev+0x4b) [0x44938b]
11: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x19a8) [0x4d5038]
12: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xd8) [0x450618]
13: akonadiserver() [0x453288]
14: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x35) [0x4548a5]
15: akonadiserver(main+0x21f) [0x44877f]
16: /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f2f3615fbfd]
17: akonadiserver() [0x448469]
]

Executing this immediately returns:
/usr/sbin/mysqld  --defaults-file=/home/aki/.local/share/akonadi//mysql.conf --datadir=/home/aki/.local/share/akonadi/db_data/ --socket=/home/aki/.local/share/akonadi/socket-linux-suse/mysql.socket

And this prints '1':
echo $?

For a good start to reproduce this, you should delete ~/.local/share/akonadi/ and let Akonadi to recreate that.

Currently, the content of my …/akonadi folder is:
akonadiserver.error
akonadiserver.error.old
db_data
db_misc
file_db_data
mysql.conf
socket-linux-suse

Reproducible: Always



Expected Results:  
 

OS: Linux (x86_64) release 2.6.37.6-0.5-desktop
Compiler: gcc
Comment 1 Christophe Marin 2011-07-13 14:58:35 UTC
the akonadiserver.error & akonadiserver.error.old might contain useful informations
Comment 2 Unknown 2011-07-13 14:59:20 UTC
The error message of that mysqld:
…
110713 16:53:49 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/home/aki/.local/share/akonadi/db_data/linux-suse.pid' (Errcode: 13)                                                                      
110713 16:53:49 [ERROR] Can't start server: can't create PID file: Permission denied

It turned out that the .pid file owns the permission of root only, that's why MySQLd could not start.
So it's a bit easier to reproduce this bug :)
Comment 3 Christophe Marin 2011-07-13 15:14:50 UTC
>It turned out that the .pid file owns the permission of root only, that's why
MySQLd could not start.

That shouldn't happen unless you previously tried to start akonadi using sudo 

delete this file and try to restart the Akonadi server.
Comment 4 Unknown 2011-07-13 15:32:05 UTC
Yes, I deleted that and it was started successfully.

But akonadictl said previously:
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
"akonadiserver" crashed too often and will not be restarted!

Maybe akonadiserver should exit gracefully, without crash, indicating there's some error with mysqld.
Comment 5 Denis Kurz 2016-09-24 20:41:58 UTC
This bug has only been reported for versions older than KDEPIM 4.14 (at most akonadi-1.3). Can anyone tell if this bug still present?

If noone confirms this bug for a recent version of akonadi (part of KDE Applications 15.08 or later), it gets closed in about three months.
Comment 6 Denis Kurz 2017-01-07 22:44:19 UTC
Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input.