Skip to content

Jicofo does not recover after oom-kill #1145

@maxfloden

Description

@maxfloden

Description

I was using stress to provoke out of memory. JVB recovered fine (auto-restarted) but not Jicofo. Not sure if this is a bug or a feature request, but to have Jicofo recover after OOM would be good.

Current behavior

ubuntu@jitsi:~$ service jicofo status
× jicofo.service - LSB: Jitsi conference Focus
     Loaded: loaded (/etc/init.d/jicofo; generated)
     Active: failed (Result: oom-kill) since Sat 2024-03-30 01:31:29 UTC; 9min ago
       Docs: man:systemd-sysv-generator(8)
    Process: 354 ExecStart=/etc/init.d/jicofo start (code=exited, status=0/SUCCESS)
    Process: 6441 ExecStop=/etc/init.d/jicofo stop (code=exited, status=0/SUCCESS)
        CPU: 1min 6.406s

Mar 29 16:22:26 jitsi.xxx.nu systemd[1]: Starting LSB: Jitsi conference Focus...
Mar 29 16:22:27 jitsi.xxx.nu jicofo[354]: Starting jicofo: jicofo started.
Mar 29 16:22:27 jitsi.xxx.nu systemd[1]: Started LSB: Jitsi conference Focus.
Mar 30 01:31:27 jitsi.xxx.nu systemd[1]: jicofo.service: A process of this unit has been killed by the OOM killer.
Mar 30 01:31:29 jitsi.xxx.nu systemd[1]: jicofo.service: Failed with result 'oom-kill'.
Mar 30 01:31:30 jitsi.xxx.nu jicofo[6441]: Stopping jicofo: /etc/init.d/jicofo: 46: kill: No such process
Mar 30 01:31:30 jitsi.xxx.nu jicofo[6441]: jicofo stopped.
Mar 30 01:31:29 jitsi.xxx.nu systemd[1]: jicofo.service: Consumed 1min 6.406s CPU time.

Expected Behavior

Jifoco should recover from OOM

Possible Solution

I posted in the community and got this reply from emrah:

Looks like jitsi-videobridge has a systemd unit with restart on-failure (/lib/systemd/system/jitsi-videobridge2.service) but jicofo hasn’t…
IIUC, jicofo still uses old-style initd script.

https://community.jitsi.org/t/optimize-server-for-perfomance-vs-quality-to-run-on-cheap-hardware/130843/6?u=maxf

Steps to reproduce

Use stress to provoke OOM

Environment details

Ubuntu 22
Jitsi-meet 2.0.9364

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