Bug 292393 - (PSQL) the server doesn't start if ServerPath is empty
Summary: (PSQL) the server doesn't start if ServerPath is empty
Status: RESOLVED WORKSFORME
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: server (show other bugs)
Version: unspecified
Platform: Debian unstable Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-25 13:14 UTC by Martin Steigerwald
Modified: 2012-08-14 16:23 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Steigerwald 2012-01-25 13:14:55 UTC
Version:           unspecified (using KDE 4.7.4) 
OS:                Linux

I tried setting Akonadi-Server to start the database server itself.

Currently I do use a central PostgreSQL server that works fine. But to have the Akonadi data in my home directory or central backup of all user data and to have akonadictl stop all whats being needed to make Akonadi data consistent in that it also stops the PostgreSQL server, I tried setting it to Startserver=true like.

But then Akonadi fails to start the PostgreSQL server since it tries with an outdated version thats not installed.

Reproducible: Always

Steps to Reproduce:
Try above akonadi configuration with PostgreSQL 9.1:

[QPSQL]
Name=
Host=
Options=
StartServer=true


Actual Results:  
The output of akonadictl start:

martin@merkaba:~/.config/akonadi> akonadictl start  
Starting Akonadi Server...
   done.
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
martin@merkaba:~/.config/akonadi> search paths:  ("~/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/lib/postgresql/8.4/bin") 
Could not start database server!
executable: ""
arguments: ("-w", "-t10", "start", "-D/home/martin/.local/share/akonadi/db_data")
process error: "No such file or directory"
"[
0: akonadiserver() [0x417c44]
1: akonadiserver() [0x417fce]
2: /lib/x86_64-linux-gnu/libc.so.6(+0x32480) [0x7f00908e4480]
3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f00908e4405]
4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7f00908e7680]
5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x111) [0x7f00925b4871]
6: akonadiserver() [0x419642]
7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7f009265070f]
8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ecc2) [0x7f009265bcc2]
9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f0092664b59]
10: akonadiserver() [0x413856]
11: akonadiserver() [0x4a1e75]
12: akonadiserver() [0x419ac2]
13: akonadiserver() [0x41b28c]
14: akonadiserver() [0x41c8c7]
15: akonadiserver() [0x412e52]
16: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f00908d0ead]
17: akonadiserver() [0x4136e1]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("~/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/lib/postgresql/8.4/bin") 
Could not start database server!
executable: ""
arguments: ("-w", "-t10", "start", "-D/home/martin/.local/share/akonadi/db_data")
process error: "No such file or directory"
"[
0: akonadiserver() [0x417c44]
1: akonadiserver() [0x417fce]
2: /lib/x86_64-linux-gnu/libc.so.6(+0x32480) [0x7f7ce213f480]
3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f7ce213f405]
4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7f7ce2142680]
5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x111) [0x7f7ce3e0f871]
6: akonadiserver() [0x419642]
7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7f7ce3eab70f]
8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ecc2) [0x7f7ce3eb6cc2]
9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f7ce3ebfb59]
10: akonadiserver() [0x413856]
11: akonadiserver() [0x4a1e75]
12: akonadiserver() [0x419ac2]
13: akonadiserver() [0x41b28c]
14: akonadiserver() [0x41c8c7]
15: akonadiserver() [0x412e52]
16: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f7ce212bead]
17: akonadiserver() [0x4136e1]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("~/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/lib/postgresql/8.4/bin") 
Could not start database server!
executable: ""
arguments: ("-w", "-t10", "start", "-D/home/martin/.local/share/akonadi/db_data")
process error: "No such file or directory"
"[
0: akonadiserver() [0x417c44]
1: akonadiserver() [0x417fce]
2: /lib/x86_64-linux-gnu/libc.so.6(+0x32480) [0x7f63855f3480]
3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f63855f3405]
4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7f63855f6680]
5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x111) [0x7f63872c3871]
6: akonadiserver() [0x419642]
7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7f638735f70f]
8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ecc2) [0x7f638736acc2]
9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f6387373b59]
10: akonadiserver() [0x413856]
11: akonadiserver() [0x4a1e75]
12: akonadiserver() [0x419ac2]
13: akonadiserver() [0x41b28c]
14: akonadiserver() [0x41c8c7]
15: akonadiserver() [0x412e52]
16: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f63855dfead]
17: akonadiserver() [0x4136e1]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("~/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/lib/postgresql/8.4/bin") 
Could not start database server!
executable: ""
arguments: ("-w", "-t10", "start", "-D/home/martin/.local/share/akonadi/db_data")
process error: "No such file or directory"
"[
0: akonadiserver() [0x417c44]
1: akonadiserver() [0x417fce]
2: /lib/x86_64-linux-gnu/libc.so.6(+0x32480) [0x7f1e3c735480]
3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f1e3c735405]
4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7f1e3c738680]
5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x111) [0x7f1e3e405871]
6: akonadiserver() [0x419642]
7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7f1e3e4a170f]
8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ecc2) [0x7f1e3e4accc2]
9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f1e3e4b5b59]
10: akonadiserver() [0x413856]
11: akonadiserver() [0x4a1e75]
12: akonadiserver() [0x419ac2]
13: akonadiserver() [0x41b28c]
14: akonadiserver() [0x41c8c7]
15: akonadiserver() [0x412e52]
16: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f1e3c721ead]
17: akonadiserver() [0x4136e1]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
"akonadiserver" crashed too often and will not be restarted! 


Expected Results:  
Start the current or most uptodate PostgreSQL installation on the system.

Additionally Akonadiserver should not crash too often, well not even once.

I have:

merkaba:~> apt-show-versions | grep postgresql
akonadi-backend-postgresql/experimental uptodate 1.6.2-1
postgresql/wheezy uptodate 9.1+128
postgresql-9.1/sid uptodate 9.1.2-4
postgresql-client-9.1/sid uptodate 9.1.2-4
postgresql-client-common/wheezy uptodate 128
postgresql-common/wheezy uptodate 128
postgresql-contrib-9.1/sid uptodate 9.1.2-4
Comment 1 Martin Steigerwald 2012-01-26 10:06:51 UTC
[QPSQL]
StartServer=true
ServerPath=/usr/lib/postgresql/9.1/bin/pg_ctl
InitDbPath=/usr/lib/postgresql/9.1/bin/initdb
Name=akonadi
Host=/home/martin/.local/share/akonadi/socket-merkaba
Options=

works.

So it seems that auto-configuring of the postgresql directory does not work. This manual setup needs to be adapted on each major server upgrade, thus I am wondering whether I miss from distribution specific package, but did not found a clear candidate to install.

Name= and Host= were auto-filled. Thus not necessary to specify them.

postgres as ServerPath binary does not work, cause it doesn´t support option -w:

martin@merkaba:~/.config/akonadi> akonadictl start 
Starting Akonadi Server...
   done.
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
martin@merkaba:~/.config/akonadi> search paths:  ("~/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/lib/postgresql/8.4/bin") 
Die Dateien, die zu diesem Datenbanksystem gehören, werden dem Benutzer
»martin« gehören. Diesem Benutzer muss auch der Serverprozess gehören.

Der Datenbankcluster wird mit der Locale en_US.UTF-8 initialisiert werden.
Die Standarddatenbankkodierung wurde entsprechend auf UTF8 gesetzt.
Die Standardtextsuchekonfiguration wird auf »english« gesetzt.

berichtige Zugriffsrechte des bestehenden Verzeichnisses /home/martin/.local/share/akonadi/db_data ... ok
erzeuge Unterverzeichnisse ... ok
wähle Vorgabewert für max_connections ... 100
wähle Vorgabewert für shared_buffers ... 24MB
erzeuge Konfigurationsdateien ... ok
erzeuge Datenbank template1 in /home/martin/.local/share/akonadi/db_data/base/1 ... ok
initialisiere pg_authid ... ok
initialisiere Abhängigkeiten ... ok
erzeuge Systemsichten ... ok
lade Systemobjektbeschreibungen ... ok
erzeuge Sortierfolgen ... ok
erzeuge Konversionen ... ok
erzeuge Wörterbücher ... ok
setze Privilegien der eingebauten Objekte ... ok
erzeuge Informationsschema ... ok
lade Serversprache PL/pgSQL ... ok
führe Vacuum in Datenbank template1 durch ... ok
kopiere template1 nach template0 ... ok
kopiere template1 nach postgres ... ok

WARNUNG: Authentifizierung für lokale Verbindungen auf »trust« gesetzt
Sie können dies ändern, indem Sie pg_hba.conf bearbeiten oder beim
nächsten Aufruf von initdb die Option -A verwenden.

Erfolg. Sie können den Datenbankserver jetzt mit

    /usr/lib/postgresql/9.1/bin/postgres -D /home/martin/.local/share/akonadi/db_data
oder
    /usr/lib/postgresql/9.1/bin/pg_ctl -D /home/martin/.local/share/akonadi/db_data -l logdatei start

starten.

Database process exited unexpectedly during initial connection!
executable: "/usr/lib/postgresql/9.1/bin/postgres"
arguments: ("-w", "-t10", "start", "-D/home/martin/.local/share/akonadi/db_data")
stdout: ""
stderr: "/usr/lib/postgresql/9.1/bin/postgres: Ungültige Option -- w
Versuchen Sie »postgres --help« für weitere Informationen.
"
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver() [0x417c44]
1: akonadiserver() [0x417fce]
2: /lib/x86_64-linux-gnu/libc.so.6(+0x32480) [0x7f529ff98480]
3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f529ff98405]
4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7f529ff9b680]
5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x111) [0x7f52a1c68871]
6: akonadiserver() [0x419642]
7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7f52a1d0470f]
8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ecc2) [0x7f52a1d0fcc2]
9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f52a1d18b59]
10: akonadiserver() [0x4a27ab]
11: akonadiserver() [0x419ac2]
12: akonadiserver() [0x41b28c]
13: akonadiserver() [0x41c8c7]
14: akonadiserver() [0x412e52]
15: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f529ff84ead]
16: akonadiserver() [0x4136e1]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("~/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/lib/postgresql/8.4/bin") 
Database process exited unexpectedly during initial connection!
executable: "/usr/lib/postgresql/9.1/bin/postgres"
arguments: ("-w", "-t10", "start", "-D/home/martin/.local/share/akonadi/db_data")
stdout: ""
stderr: "/usr/lib/postgresql/9.1/bin/postgres: Ungültige Option -- w
Versuchen Sie »postgres --help« für weitere Informationen.
"
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver() [0x417c44]
1: akonadiserver() [0x417fce]
2: /lib/x86_64-linux-gnu/libc.so.6(+0x32480) [0x7f2566a08480]
3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f2566a08405]
4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7f2566a0b680]
5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x111) [0x7f25686d8871]
6: akonadiserver() [0x419642]
7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7f256877470f]
8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ecc2) [0x7f256877fcc2]
9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f2568788b59]
10: akonadiserver() [0x4a27ab]
11: akonadiserver() [0x419ac2]
12: akonadiserver() [0x41b28c]
13: akonadiserver() [0x41c8c7]
14: akonadiserver() [0x412e52]
15: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f25669f4ead]
16: akonadiserver() [0x4136e1]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("~/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/lib/postgresql/8.4/bin") 
Database process exited unexpectedly during initial connection!
executable: "/usr/lib/postgresql/9.1/bin/postgres"
arguments: ("-w", "-t10", "start", "-D/home/martin/.local/share/akonadi/db_data")
stdout: ""
stderr: "/usr/lib/postgresql/9.1/bin/postgres: Ungültige Option -- w
Versuchen Sie »postgres --help« für weitere Informationen.
"
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver() [0x417c44]
1: akonadiserver() [0x417fce]
2: /lib/x86_64-linux-gnu/libc.so.6(+0x32480) [0x7fabeb045480]
3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7fabeb045405]
4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7fabeb048680]
5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x111) [0x7fabecd15871]
6: akonadiserver() [0x419642]
7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7fabecdb170f]
8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ecc2) [0x7fabecdbccc2]
9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7fabecdc5b59]
10: akonadiserver() [0x4a27ab]
11: akonadiserver() [0x419ac2]
12: akonadiserver() [0x41b28c]
13: akonadiserver() [0x41c8c7]
14: akonadiserver() [0x412e52]
15: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7fabeb031ead]
16: akonadiserver() [0x4136e1]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("~/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/bin/X11", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/lib/postgresql/8.4/bin") 
Database process exited unexpectedly during initial connection!
executable: "/usr/lib/postgresql/9.1/bin/postgres"
arguments: ("-w", "-t10", "start", "-D/home/martin/.local/share/akonadi/db_data")
stdout: ""
stderr: "/usr/lib/postgresql/9.1/bin/postgres: Ungültige Option -- w
Versuchen Sie »postgres --help« für weitere Informationen.
"
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver() [0x417c44]
1: akonadiserver() [0x417fce]
2: /lib/x86_64-linux-gnu/libc.so.6(+0x32480) [0x7fdcf98f0480]
3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7fdcf98f0405]
4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [0x7fdcf98f3680]
5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x111) [0x7fdcfb5c0871]
6: akonadiserver() [0x419642]
7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7fdcfb65c70f]
8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ecc2) [0x7fdcfb667cc2]
9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7fdcfb670b59]
10: akonadiserver() [0x4a27ab]
11: akonadiserver() [0x419ac2]
12: akonadiserver() [0x41b28c]
13: akonadiserver() [0x41c8c7]
14: akonadiserver() [0x412e52]
15: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7fdcf98dcead]
16: akonadiserver() [0x4136e1]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
"akonadiserver" crashed too often and will not be restarted!
Comment 2 Christophe Marin 2012-02-04 10:25:07 UTC
I'll have a look.

Note that you only need 

[%General]
Driver=QPSQL

(and remove everything else)

to let Akonadi start its own instance.
Comment 3 Martin Steigerwald 2012-03-06 08:14:42 UTC
Christophe, do you mean that I do not need anything else right than the short snippet you mentioned right now - or after the issue I reported is fixed?
Comment 4 Christophe Marin 2012-04-02 20:41:24 UTC
(In reply to comment #3)
> Christophe, do you mean that I do not need anything else right than the
> short snippet you mentioned right now 

right now (sorry for the late reply)
Comment 5 Martin Steigerwald 2012-08-14 10:25:39 UTC
Hmmm, without anything, e.g. as:

[%General]
Driver=QPSQL

it indeed works. Thanks, Martin
Comment 6 Laurent Montel 2012-08-14 10:54:41 UTC
So we can close this bug no ?
Comment 7 Martin Steigerwald 2012-08-14 16:23:25 UTC
The original issue was that with:

[QPSQL]
Name=
Host=
Options=
StartServer=true

it didn´t find the right PostgreSQL server.

But I agree to close the bug, since it works without that configuration block. Thus closing, Thanks.