Skip to content
This repository was archived by the owner on Oct 6, 2026. It is now read-only.
This repository was archived by the owner on Oct 6, 2026. It is now read-only.

Running Migrations causes systemd service timeouts on low-end hardware  #66

Closed

Description

@arky

At the moment, kolibri runs all the migrations on first run of 'kolbiri start'. Now this causes systemd service timeouts on low-end devices such as Raspberry Pi's. It doesn't happen always but sometime it does fail. I will try to zero in on which migrations take the most resources.

Perhaps adding TimeoutStartSec to avoid the timeouts might work, but it is not a solution.
https://github.com/learningequality/kolibri-installer-debian/blob/master/debian/startup/kolibri.service#L13

Following the discussion on slack, I am filing this bug as a placeholder for exploring other alternatives esp. when upgrading a device with lot of content.

Refer downstream IIAB bugs: iiab/iiab#1158 iiab/iiab#1094

Activity

  1. jredrejo commented on Feb 19, 2019

    @jredrejo
    Contributor

    Hi @arky I would like to know why you say the TimeoutStartSec=infinity is not a solution. It will solve the systemd timeout problem. Are you thinking of a different daemon start mode?

    Btw, @benjaoming what do you think about changing KillMode=processto KillMode=mixed to ensure any child process is killed too when needed? As forking is used, it seems logical to use mixed

  2. benjaoming commented on Feb 19, 2019

    @benjaoming
    Contributor

    Now this causes systemd service timeouts on low-end devices such as Raspberry Pi's.

    Could you send the timeout error message as it appears in logs? It would likely appear with sudo journalctl -x -u kolibri.service but also worth looking in /var/log/syslog.

  3. holta commented on May 11, 2019

    @holta
    Contributor

    Is iiab/iiab#1648 (kolibri.service failing to start on certain Raspberry Pi's) possibly the very same issue ?

  4. benjaoming commented on May 12, 2019

    @benjaoming
    Contributor

    @holta @arky what other services are running on the particular RPI? Is it possible to stop these services all-together when installing or upgrading Kolibri? We don't have control from within Kolibri to free up memory that's held by other processes.

  5. rtibbles commented on Oct 4, 2026

    @rtibbles
    Member

    kolibri.service now sets TimeoutStartSec=infinity, so startup migrations no longer hit the systemd timeout. The package now lives in the Kolibri monorepo; please open a fresh issue on learningequality/kolibri if this still reproduces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions