Skip to content

Deadlocks with rootless podman container #281

@Diniboy1123

Description

@Diniboy1123

linuxserver.io


Expected Behavior

Plex should work and its database wouldn't be locked forever.

Current Behavior

I use this container on a Fedora Server 34 x64 host and I am running the container as a rootless container under the containers user via podman. The following is my run command:

/usr/bin/podman run --rm -it --name=plex --hostname=plex --dns 1.1.1.1 --network slirp4netns:port_handler=slirp4netns -p 12000:32400 -e PUID=1000 -e PGID=1000 -e VERSION=latest -v /home/containers/data/Plex:/config -v /home/containers/mounts/media:/home/plex/media --security-opt label=disable ghcr.io/linuxserver/plex

It worked fine until a recent update of Plex. Since then the container still comes up as usual, but if I run something IO intensive such as a rescan or database optimization, my Plex server becomes immediately unresponsive. Then I tried to stop the container and remove it which seemed to be successful, however it seems like that there are some leftover zombie processes in these cases:

[containers@test ~]$ ps aux | grep defunct
100999    153378  0.3  0.0      0     0 ?        Zsl  Aug28  22:45 [Plex Media Serv] <defunct>
100999    875619  0.0  0.0      0     0 ?        Zl   Aug29   0:00 [Plex Media Scan] <defunct>
100999    876449  0.0  0.0      0     0 ?        Zl   Aug29   0:00 [Plex Media Scan] <defunct>
100999    876461  0.0  0.0      0     0 ?        Zl   Aug29   0:00 [Plex Media Scan] <defunct>

These are still locking the db of Plex and therefore if I launch a new container it won't be able to make modifications and I end up having more and more defunct processes all derivating from the PID 1 parent. I couldn't find a way to kill these without rebooting the box or running telinit u.

If I run Plex on the same machine with the same configuration, but bare metal it all works well.

Any ideas what could be wrong?

Steps to Reproduce

Environment

OS: Fedora Server 34
CPU architecture: x86_64
How docker service was installed: ghcr.io

Command used to create docker container (run/create/compose/screenshot)

/usr/bin/podman run --rm -it --name=plex --hostname=plex --dns 1.1.1.1 --network slirp4netns:port_handler=slirp4netns -p 12000:32400 -e PUID=1000 -e PGID=1000 -e VERSION=latest -v /home/containers/data/Plex:/config -v /home/containers/mounts/media:/home/plex/media --security-opt label=disable ghcr.io/linuxserver/plex

Docker logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing...
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing...

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 40-chown-files: executing...
[cont-init.d] 40-chown-files: exited 0.
[cont-init.d] 45-plex-claim: executing...
[cont-init.d] 45-plex-claim: exited 0.
[cont-init.d] 50-gid-video: executing...
[cont-init.d] 50-gid-video: exited 0.
[cont-init.d] 60-plex-update: executing...
Atempting to upgrade to: 1.24.2.4973-2b1b51db9
2021-09-01 15:49:29 URL:https://downloads.plex.tv/plex-media-server-new/1.24.2.4973-2b1b51db9/debian/plexmediaserver_1.24.2.4973-2b1b51db9_amd64.deb [86646728/86646728] -> "/tmp/plexmediaserver_1.24.2.4973-2b1b51db9_amd64.deb" [1]
(Reading database ... 10541 files and directories currently installed.)
Preparing to unpack .../plexmediaserver_1.24.2.4973-2b1b51db9_amd64.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Custom environment detected.  Skipping preinstallation validation.
Unpacking plexmediaserver (1.24.2.4973-2b1b51db9) over (1.24.1.4931-1a38e63c6) ...
Setting up plexmediaserver (1.24.2.4973-2b1b51db9) ...
PlexMediaServer install: Custom environment detected.  Skipping postinstallation tasks. Continuing.
[cont-init.d] 60-plex-update: exited 0.
[cont-init.d] 90-custom-folders: executing...
[cont-init.d] 90-custom-folders: exited 0.
[cont-init.d] 99-custom-scripts: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
Starting Plex Media Server.

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