Kolibri status/start/stop errors and issues

Observed behaviour

If we run ‘kolibri status’ it immediately does a migration. Once this migration completes, if we run ‘kolibri start’, it launches a setup wizard, even though the facility was operating beforehand:

If we then run ‘kolibri stop’ and ‘kolibri start’ in order to restart the service, we end up with the following errors:

root@tsp:~# service kolibri start
Job for kolibri.service failed because the control process exited with error code. See “systemctl status kolibri.service” and “journalctl -xe” for details.
root@tsp:~#
##The systemctl status kolibri.service output### below:

root@tsp:~# nano systemctl status kolibri.service
root@tsp:~# systemctl status kolibri.service
? kolibri.service - LSB: kolibri daemon, an offline education platform
Loaded: loaded (/etc/init.d/kolibri; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2018-05-14 09:02:44 SAST; 1min 57s ago
Process: 1575 ExecStart=/etc/init.d/kolibri start (code=exited, status=1/FAILURE)

May 14 09:02:44 tsp kolibri[1575]: ERROR
May 14 09:02:44 tsp kolibri[1575]: Your database is corrupted. This is a known issue that is usually fixed by running this command:
May 14 09:02:44 tsp kolibri[1575]: sqlite3 /var/kolibri/.kolibri/db.sqlite3 .dump | sqlite3 fixed.db
May 14 09:02:44 tsp kolibri[1575]: cp fixed.db /var/kolibri/.kolibri/db.sqlite3
May 14 09:02:44 tsp kolibri[1575]: Notice that you need the ‘sqlite3’ command available on your system prior to running this.
May 14 09:02:44 tsp kolibri[1575]:
May 14 09:02:44 tsp systemd[1]: kolibri.service: Control process exited, code=exited status=1
May 14 09:02:44 tsp systemd[1]: Failed to start LSB: kolibri daemon, an offline education platform.
May 14 09:02:44 tsp systemd[1]: kolibri.service: Unit entered failed state.
May 14 09:02:44 tsp systemd[1]: kolibri.service: Failed with result ‘exit-code’.

Running the sqlite3 command doesn’t seem to solve the problem.

The following services are the ones which have failed:

root@tsp:~# systemctl list-dependencies kolibri.service
kolibri.service
● ├─system.slice
● ├─network-online.target
● │ └─networking.service
● └─sysinit.target
● ├─apparmor.service
● ├─console-setup.service
● ├─dev-hugepages.mount
● ├─dev-mqueue.mount
● ├─friendly-recovery.service
● ├─iscsid.service
● ├─keyboard-setup.service
● ├─kmod-static-nodes.service
● ├─lvm2-lvmetad.socket
● ├─lvm2-lvmpolld.socket
● ├─lvm2-monitor.service
● ├─open-iscsi.service
● ├─plymouth-read-write.service –failed
● ├─plymouth-start.service –failed
● ├─proc-sys-fs-binfmt_misc.automount
● ├─resolvconf.service
● ├─setvtrgb.service
● ├─sys-fs-fuse-connections.mount
● ├─sys-kernel-config.mount –failed
● ├─sys-kernel-debug.mount
● ├─systemd-ask-password-console.path
● ├─systemd-binfmt.service –failed
● ├─systemd-hwdb-update.service –failed
● ├─systemd-journal-flush.service
● ├─systemd-journald.service
● ├─systemd-machine-id-commit.service –failed
● ├─systemd-modules-load.service
● ├─systemd-random-seed.service
● ├─systemd-sysctl.service
● ├─systemd-timesyncd.service
● ├─systemd-tmpfiles-setup-dev.service
● ├─systemd-tmpfiles-setup.service
● ├─systemd-udev-trigger.service
● ├─systemd-udevd.service
● ├─systemd-update-utmp.service
● ├─cryptsetup.target
● ├─local-fs.target
● │ ├─-.mount
● │ ├─boot-efi.mount
● │ ├─systemd-fsck-root.service –failed
● │ └─systemd-remount-fs.service
● └─swap.target
● ├─dev-disk-by\x2duuid-9e6b6205\x2dbe77\x2d4091\x2daf13\x2dc214d30edd10.swap
● └─dev-sda3.swap

User-facing consequences

The educational centres we are managing are remote. If we can’t check the status without wiping the centre info or restart the service without it corrupting the database, it’s really hard for us to troubleshoot.

Context

Kolibri version 0.9.1
Ubuntu 16.04.4

We aren’t able to set up any new centres due to this issue so it is quite serious for us. We would really appreciate any assistance we can get!

Hi @Jason_Tame,

When installing Kolibri from our PPA, we create a user kolibri for you to start the Kolibri service and put the Kolibri data to the folder /var/kolibri/.kolibri. But when you run kolibri status and kolibri start by the root user, what happened is that it launches the Kolibri application by the root user and then put the Kolibri data to the folder ~/.kolibri.

So if you need to run Kolibri manually, except sudo service kolibri start/status, you can try sudo su kolibri and then kolibri start/status as the kolibri user. Thank you!

Regards,
Lingyi