We have moved to a new Sailfish OS Forum. Please start new discussions there.

Revision history [back]

click to hide/show revision 1
initial version

posted 2020-05-06 11:03:07 +0200

People app does not start (and how to fix it)

For some reasons, today my People App (jolla-contacts) did not start from GUI (tapping on the icon).

It did however launch successfully when started from terminal (/usr/bin/jolla-contacts).

In my case, I have been able to fix it the following way. YMMV.

From another thread: check that the contacts database is OK:

$ devel-su
# sqlite3 /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/contacts.db 
sqlite> pragma integrity_check;
ok
sqlite> ^D

Getting anything else than "ok" is NOT ok, and you need to find some way of fixing the database.

# cd /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/
# sqlite3 contacts.db .dump > /home/nemo/contacts_db_dump.sql-$(date -I)
# fuser *

here you get a list of PIDs back. Each of those has the database open. We will stop or close them, after finding out which processes they are with ps -ef | grep <<PID>> and various calls to systemctl status <<foo>>

# systemctl stop voicecall-ui-prestart.service --user
# systemctl stop  commhistoryd  --user
# systemctl stop  contactsd.service --user
# killall jolla-contacts
# fuser *

Now no processes should show up any more in the fuser call

# sqlite3 contacts.db 
sqlite> vacuum;
sqlite> ^D

Lets start everything again:

# systemctl start voicecall-ui-prestart.service --user
# systemctl start  commhistoryd  --user
# systemctl start  contactsd.service --user

From this point, People App started again.

People app does not start (and how to fix it)

For some reasons, today my People App (jolla-contacts) did not start from GUI (tapping on the icon).

It did however launch successfully when started from terminal (/usr/bin/jolla-contacts).

In my case, I have been able to fix it the following way. YMMV.

From another thread: check that the contacts database is OK:

$ devel-su
# sqlite3 /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/contacts.db 
sqlite> pragma integrity_check;
ok
sqlite> ^D

Getting anything else than "ok" is NOT ok, and you need to find some way of fixing the database.

# cd /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/
# sqlite3 contacts.db .dump > /home/nemo/contacts_db_dump.sql-$(date -I)
# fuser *

here you get a list of PIDs back. Each of those has the database open. We will stop or close them, after finding out which processes they are with ps -ef | grep <<PID>> and various calls to systemctl status <<foo>>

# systemctl stop voicecall-ui-prestart.service --user
# systemctl stop  commhistoryd  --user
# systemctl stop  contactsd.service --user
# killall jolla-contacts
# fuser *

Now no processes should show up any more in the fuser callcall.

Let's vacuum the database for good measure. This doesn't really do anything except make the disk usage smaller but it can't hurt.

# sqlite3 contacts.db 
sqlite> vacuum;
sqlite> ^D

Lets start everything again:

# systemctl start voicecall-ui-prestart.service --user
# systemctl start  commhistoryd  --user
# systemctl start  contactsd.service --user

From this point, People App started again.

People app does not start (and how to fix it)

For some reasons, today my People App (jolla-contacts) did not start from GUI (tapping on the icon).

It did however launch successfully when started from terminal (/usr/bin/jolla-contacts).

In my case, I have been able to fix it the following way. YMMV.

From another thread: check that the contacts database is OK:

$ devel-su
# sqlite3 /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/contacts.db 
sqlite> pragma integrity_check;
ok
sqlite> ^D

Getting anything else than "ok" is NOT ok, and you need to find some way of fixing the database.database. STOP HERE if you get errors here.

Now, we make a backup to be safe and see who is using the database:

# cd /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/
# sqlite3 contacts.db .dump > /home/nemo/contacts_db_dump.sql-$(date -I)
# fuser *

here you get a list of PIDs back. Each of those has the database open. We will stop or close them, after finding out which processes they are with ps -ef | grep <<PID>> and various calls to systemctl status <<foo>>

# systemctl stop  contactsd.service --user
# systemctl stop  commhistoryd  --user
# systemctl stop voicecall-ui-prestart.service --user
# systemctl stop  commhistoryd  --user
# systemctl stop  contactsd.service --user
# killall jolla-contacts
# fuser *

Now no processes should show up any more in the fuser call.

Let's vacuum the database for good measure. This doesn't really do anything except make the disk usage smaller but it can't hurt.

# sqlite3 contacts.db 
sqlite> vacuum;
sqlite> ^D

Lets start everything again:

# systemctl start voicecall-ui-prestart.service --user
# systemctl start  commhistoryd  --user
# systemctl start  contactsd.service --user

From this point, People App started again.

People app does not start (and how to fix it)

For some reasons, today my People App (jolla-contacts) did not start from GUI (tapping on the icon).

It did however launch successfully when started from terminal (/usr/bin/jolla-contacts).

In my case, I have been able to fix it the following way. YMMV.

From another thread: check that the contacts database is OK:

$ devel-su
# sqlite3 /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/contacts.db 
sqlite> pragma integrity_check;
ok
sqlite> ^D

Getting anything else than "ok" is NOT ok, and you need to find some way of fixing the database. STOP HERE if you get errors here.

Now, we make a backup to be safe and see who is using the database:

# cd /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/
# sqlite3 contacts.db .dump > /home/nemo/contacts_db_dump.sql-$(date -I)
# fuser *

here you get a list of PIDs back. Each of those has the database open. We will stop or close them, after finding out which processes they are with ps -ef | grep <<PID>> and various calls to systemctl status <<foo>>

# systemctl stop  contactsd.service --user
# systemctl stop  commhistoryd  --user
# systemctl stop voicecall-ui-prestart.service --user
# killall jolla-contacts
# fuser *

Now no processes should show up any more in the fuser call.

Let's Now, PROBABLY just restarting the services will be enough. But while we're here, let's vacuum the database for good measure. This doesn't really do anything except make the disk usage smaller but it can't hurt.

# sqlite3 contacts.db 
sqlite> vacuum;
sqlite> ^D

Lets start everything again:

# systemctl start voicecall-ui-prestart.service --user
# systemctl start  commhistoryd  --user
# systemctl start  contactsd.service --user

From this point, People App started again.

People app does not start (and how to fix it)

For some reasons, today my People App (jolla-contacts) did not start from GUI (tapping on the icon).

It did however launch successfully when started from terminal (/usr/bin/jolla-contacts).

In my case, I have been able to fix it the following way. YMMV.

From another thread: check that the contacts database is OK:

$ devel-su
# sqlite3 /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/contacts.db 
sqlite> pragma integrity_check;
ok
sqlite> ^D

Getting anything else than "ok" is NOT ok, and you need to find some way of fixing the database. STOP HERE if you get errors here.

Now, we make a backup to be safe and see who is using the database:

# cd /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/
# sqlite3 contacts.db .dump > /home/nemo/contacts_db_dump.sql-$(date -I)
# fuser *

here you get a list of PIDs back. Each of those has the database open. We will stop or close them, after finding out which processes they are with ps -ef | grep <<PID>> and various calls to systemctl status <<foo>>

# systemctl stop  contactsd.service --user
# systemctl stop  commhistoryd  --user
# systemctl stop voicecall-ui-prestart.service --user
# killall jolla-contacts
# fuser *

Now no processes should show up any more in the fuser call.

Now, PROBABLY just restarting the services will be enough. But while we're here, let's vacuum the database for good measure. This doesn't really do anything except make the disk usage smaller but it can't hurt.

# sqlite3 contacts.db 
sqlite> vacuum;
sqlite> ^D

Lets start everything again:

# systemctl start voicecall-ui-prestart.service --user
# systemctl start commhistoryd  --user
# systemctl start contactsd.service --user

From this point, People App started again.

People app does not start (and how to fix it)

For some reasons, today my People App (jolla-contacts) did not start from GUI (tapping on the icon).

It did however launch successfully when started from terminal (/usr/bin/jolla-contacts).

In my case, I have been able to fix it the following way. YMMV.

From another thread: check that the contacts database is OK:

$ devel-su
# sqlite3 /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/contacts.db 
sqlite> pragma integrity_check;
ok
sqlite> ^D

Getting anything else than "ok" is NOT ok, and you need to find some way of fixing the database. STOP HERE if you get errors here.

Now, we make a backup to be safe and see who is using the database:

# cd /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite/
# sqlite3 contacts.db .dump > /home/nemo/contacts_db_dump.sql-$(date -I)
# fuser *

here you get a list of PIDs back. Each of those has the database open. We will stop or close them, after finding out which processes they are with ps -ef | grep <<PID>> and various calls to systemctl status <<foo>>

# systemctl stop contactsd.service --user
# systemctl stop commhistoryd  --user
# systemctl stop voicecall-ui-prestart.service --user
# killall jolla-contacts
# fuser *

Now no processes should show up any more in the fuser call.

Now, PROBABLY just restarting the services will be enough. But while we're here, let's vacuum the database for good measure. This doesn't really do anything except make the disk usage smaller but it can't hurt.

# sqlite3 contacts.db 
sqlite> vacuum;
sqlite> ^D

Lets start everything again:

# systemctl start voicecall-ui-prestart.service --user
# systemctl start commhistoryd  --user
# systemctl start contactsd.service --user

From this point, People App started again.