Celedhrim / docker-kodi-server

Runs Kodi in headless mode with docker
MIT License
79 stars 20 forks source link

docker unable to start after shutdown #28

Closed thezoggy closed 1 year ago

thezoggy commented 3 years ago

I run this docker on unraid 6.8.3 (havent touched it in awhile).

At times if I stop the docker it doesnt shutdown cleanly and on tosses up the error about X server lock still existing. Then with --restart="on-failure" set on the docker it will get stuck in restart loop.

# cat X.log

Warning: running as root
(EE)
Fatal server error:
(EE) Server is already active for display 100
    If this server is no longer running, remove /tmp/.X100-lock
    and start again.
(EE)
(EE)
Please consult the The X.Org Foundation support
     at http://wiki.x.org
 for help.
(EE)
2021-05-07 16:01:28,952 Error: failed to connect to display :100
2021-05-07 16:01:28,952  could not connect to X server on display ':100' after 3 seconds
2021-05-07 16:01:28,952 killing xvfb with pid 25
2021-05-07 16:01:28,953 failed to kill xvfb process with pid 25:
2021-05-07 16:01:28,953  [Errno 3] No such process

I can edit the docker then start to 'fix' for that instance and it works fine. Which I'm guessing is pruning out the tmp lock..

Testing this in controlled manner to replicate, docker is running.. now stopping via cli:

root@husky:/mnt/cache/appdata/.kodi# docker container ls
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                                                      NAMES
dd149d354daf        celedhrim/kodi-server:matrix   "/bin/kodi-run-wrapp…"   4 minutes ago       Up 4 minutes        0.0.0.0:8089->8089/tcp, 0.0.0.0:9090->9090/tcp, 9777/udp   kodi-server
b167c36001cd        linuxserver/mariadb            "/init"                  12 days ago         Up 6 minutes        0.0.0.0:3306->3306/tcp                                     mariadb

root@husky:/mnt/cache/appdata/.kodi# docker stop dd149d354daf
dd149d354daf

root@husky:/mnt/cache/appdata/.kodi# docker container ls
CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS                    NAMES
b167c36001cd        linuxserver/mariadb     "/init"             12 days ago         Up 7 minutes        0.0.0.0:3306->3306/tcp   mariadb

Starting docker via unraid via unraid gui it shows 'started'. However looking at the cli I see its actually just in a restart loop:

root@husky:/mnt/cache/appdata/.kodi# docker container ls
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                  PORTS                                                      NAMES
dd149d354daf        celedhrim/kodi-server:matrix   "/bin/kodi-run-wrapp…"   5 minutes ago       Up Less than a second   0.0.0.0:8089->8089/tcp, 0.0.0.0:9090->9090/tcp, 9777/udp   kodi-server
b167c36001cd        linuxserver/mariadb            "/init"                  12 days ago         Up 7 minutes            0.0.0.0:3306->3306/tcp                                     mariadb

root@husky:/mnt/cache/appdata/.kodi# docker container ls
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                        PORTS                    NAMES
dd149d354daf        celedhrim/kodi-server:matrix   "/bin/kodi-run-wrapp…"   5 minutes ago       Restarting (1) 1 second ago                            kodi-server
b167c36001cd        linuxserver/mariadb            "/init"                  12 days ago         Up 7 minutes                  0.0.0.0:3306->3306/tcp   mariadb

...

root@husky:/mnt/cache/appdata/.kodi# docker container ls
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                          PORTS                    NAMES
dd149d354daf        celedhrim/kodi-server:matrix   "/bin/kodi-run-wrapp…"   11 minutes ago      Restarting (1) 45 seconds ago                            kodi-server
b167c36001cd        linuxserver/mariadb            "/init"                  12 days ago         Up 13 minutes                   0.0.0.0:3306->3306/tcp   mariadb

and logs just show:

root@husky:/mnt/cache/appdata/.kodi# docker logs dd149d354daf
W: [pulseaudio] main.c: Running in system mode, but --disallow-exit not set.
W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set.
N: [pulseaudio] main.c: Running in system mode, forcibly disabling SHM mode.
N: [pulseaudio] main.c: Running in system mode, forcibly disabling exit idle time.
W: [pulseaudio] main.c: Running in system mode, but --disallow-exit not set.
W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set.
N: [pulseaudio] main.c: Running in system mode, forcibly disabling SHM mode.
N: [pulseaudio] main.c: Running in system mode, forcibly disabling exit idle time.
E: [pulseaudio] main.c: Daemon startup failed.
W: [pulseaudio] main.c: Running in system mode, but --disallow-exit not set.
W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set.
N: [pulseaudio] main.c: Running in system mode, forcibly disabling SHM mode.
N: [pulseaudio] main.c: Running in system mode, forcibly disabling exit idle time.
E: [pulseaudio] main.c: Daemon startup failed.
W: [pulseaudio] main.c: Running in system mode, but --disallow-exit not set.
W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set.
N: [pulseaudio] main.c: Running in system mode, forcibly disabling SHM mode.
N: [pulseaudio] main.c: Running in system mode, forcibly disabling exit idle time.
E: [pulseaudio] main.c: Daemon startup failed.

and trying to connect to docker fails

root@husky:/mnt/cache/appdata/.kodi# docker exec dd149d354daf ps -A
Error response from daemon: Container dd149d354daf124a869a2ccbd63fb6b8651b0f01cd1ab3c38f0ac5a94523223e is restarting, wait until the container is running
Celedhrim commented 3 years ago

Have tou try to docker rm and they restart it ?

I mean start a new containers from the same image

thezoggy commented 3 years ago

it looks like when you 'edit' the docker in unraid it does just that.. remove old one to rebuild. which is why it works. but stopping the container then starting it doesnt work because it doesnt stop cleanly