linuxserver / docker-jellyfin

GNU General Public License v3.0
642 stars 97 forks source link

[BUG] Latest Docker image fails to start - Failed to create CoreCLR, HRESULT: 0x80070008 #178

Closed Aterfax closed 1 year ago

Aterfax commented 1 year ago

Is there an existing issue for this?

Current Behavior

Latest docker image fails to start.

sha256:2bf40f286d4da70f81a70755ffa21bdd7f1ba2e5b83e66548568016a40740b8a:

Failed to create CoreCLR, HRESULT: 0x80070008

Reverting to the last major version (linuxserver/jellyfin:10.8.7) fixes the issue (for me.)

Saw https://docs.linuxserver.io/faq#jammy but since my docker version is greater than 20.10.10 it is probably not that.

Expected Behavior

Jellyfin should start normally.

Steps To Reproduce

Update your container to the latest version of the image.

Environment

PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy

Docker version 20.10.14, build a224086
getenforce Disabled
Virtual machine in Promxox (latest) host.

CPU architecture

x86-64

Docker creation

N/A - made with portainer a long time ago.

See inspect info below:

[
    {
        "Image": "sha256:2bf40f286d4da70f81a70755ffa21bdd7f1ba2e5b83e66548568016a40740b8a",
        "ResolvConfPath": "/var/lib/docker/containers/X/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/X/hostname",
        "HostsPath": "/var/lib/docker/containers/X/hosts",
        "LogPath": "/var/lib/docker/containers/X/X-json.log",
        "Name": "/jellyfin",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/my-path/books:/books",
                "/my-path/JellyFin/config:/config",
                "/my-path/transcoding/jellyfin:/config/data/transcodes",
                "/my-path/movies:/movies",
                "/my-path/music:/music",
                "/my-path/swag/config/etc/letsencrypt:/ssl",
                "/my-path/tv_shows:/tv",
                "/my-path/JellyFin/config.json:/usr/share/jellyfin/web/config.json"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "bridge",
            "PortBindings": {
                "8096/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8096"
                    }
                ],
                "8920/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8920"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "always",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": [
                "AUDIT_WRITE",
                "CHOWN",
                "DAC_OVERRIDE",
                "FOWNER",
                "FSETID",
                "KILL",
                "MKNOD",
                "NET_BIND_SERVICE",
                "NET_RAW",
                "SETFCAP",
                "SETGID",
                "SETPCAP",
                "SETUID",
                "SYS_CHROOT"
            ],
            "CapDrop": [
                "AUDIT_CONTROL",
                "BLOCK_SUSPEND",
                "DAC_READ_SEARCH",
                "IPC_LOCK",
                "IPC_OWNER",
                "LEASE",
                "LINUX_IMMUTABLE",
                "MAC_ADMIN",
                "MAC_OVERRIDE",
                "NET_ADMIN",
                "NET_BROADCAST",
                "SYSLOG",
                "SYS_ADMIN",
                "SYS_BOOT",
                "SYS_MODULE",
                "SYS_NICE",
                "SYS_PACCT",
                "SYS_PTRACE",
                "SYS_RAWIO",
                "SYS_RESOURCE",
                "SYS_TIME",
                "SYS_TTY_CONFIG",
                "WAKE_ALARM"
            ],
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "nvidia",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/X-init/diff:/var/lib/docker/overlay2/1c33b8803091da387b5abd6faec82f259a61e6f52a97b2aa700e47d0d5ee8333/diff:/var/lib/docker/overlay2/292c278b577f8c8b2158c7a0e25f2eff33d98a1f148c82a36435bc2fdbcd760c/diff:/var/lib/docker/overlay2/428a11c46cd51158f45cce1195282bbc567783efb3bd0d7e09ac406fe4e04da3/diff:/var/lib/docker/overlay2/3675cb1ee0eea8be6b43b9bca17123d6ee93448f2c7c722b838fb26d6aa3d8bf/diff:/var/lib/docker/overlay2/516a6626dc69a87aa904a3d7546955afb5726f2c9605fb66b1d8eb15fb1962bb/diff:/var/lib/docker/overlay2/ac9a13009b1868085c8773d985bd0159491123ff9640b85024069b8c4084613c/diff:/var/lib/docker/overlay2/3aac0eed2dfbc0bd3176234b870006d2e311e8d5dfafda2e13c8c60b7333d34f/diff",
                "MergedDir": "/var/lib/docker/overlay2/X/merged",
                "UpperDir": "/var/lib/docker/overlay2/X/diff",
                "WorkDir": "/var/lib/docker/overlay2/X/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/my-path/swag/config/etc/letsencrypt",
                "Destination": "/ssl",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/my-path/tv_shows",
                "Destination": "/tv",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/my-path/JellyFin/config.json",
                "Destination": "/usr/share/jellyfin/web/config.json",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/my-path/books",
                "Destination": "/books",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/my-path/JellyFin/config",
                "Destination": "/config",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/my-path/transcoding/jellyfin",
                "Destination": "/config/data/transcodes",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/my-path/movies",
                "Destination": "/movies",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/my-path/music",
                "Destination": "/music",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "X",
            "Domainname": "X",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "8096/tcp": {},
                "8920/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PGID=1000",
                "TZ=Europe/London",
                "HOST_OS=Ubuntu 20.04",
                "PUID=1000",
                "NVIDIA_VISIBLE_DEVICES=GPU-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "HOME=/root",
                "LANGUAGE=en_US.UTF-8",
                "LANG=en_US.UTF-8",
                "TERM=xterm",
                "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0",
                "S6_VERBOSITY=1",
                "S6_STAGE2_HOOK=/docker-mods",
                "NVIDIA_DRIVER_CAPABILITIES=compute,video,utility"
            ],
            "Cmd": null,
            "Image": "linuxserver/jellyfin:latest",
            "Volumes": {
                "/books": {},
                "/config": {},
                "/config/data/transcodes": {},
                "/movies": {},
                "/music": {},
                "/ssl": {},
                "/tv": {},
                "/usr/share/jellyfin/web/config.json": {}
            },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "X",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "8096/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8096"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "8096"
                    }
                ],
                "8920/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8920"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "8920"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/8c6785a4ef58",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "X",
            "Gateway": "x.x.x.x",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "x.x.x.x",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:XX:ac:XX:00:XX",
            "Networks": {
                "bridge": {
                    "IPAMConfig": {},
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "X",
                    "EndpointID": "X",
                    "Gateway": "x.x.x.x",
                    "IPAddress": "x.x.x.x",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:XX:ac:XX:00:XX",
                    "DriverOpts": null
                },
                "swarm_proxynet": {
                    "IPAMConfig": {
                        "IPv4Address": "x.x.x.x"
                    },
                    "Links": null,
                    "Aliases": [
                        "aecf922b55e8",
                        "79d533464a2a",
                        "85af2b589f99",
                        "8f0958395a41",
                        "972d7ee7a030",
                        "b6aba63f82d5",
                        "10f8839c5ece",
                        "623a14e92f45",
                        "307cb780408e"
                    ],
                    "NetworkID": "XXXX",
                    "EndpointID": "XXXXX",
                    "Gateway": "",
                    "IPAddress": "x.x.x.x",
                    "IPPrefixLen": 24,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:XX:ac:XX:00:XX",
                    "DriverOpts": null
                }
            }
        }
    }
]

### Container logs

```bash
[custom-init] No custom services found, skipping...
[migrations] started
[migrations] no migrations found

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

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

To support the app dev(s) visit:
Jellyfin: https://opencollective.com/jellyfin

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

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

[custom-init] No custom files found, skipping...
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
Failed to create CoreCLR, HRESULT: 0x80070008
github-actions[bot] commented 1 year ago

Thanks for opening your first issue here! Be sure to follow the bug or feature issue templates!

Roxedus commented 1 year ago

Google claims you have run out of space https://social.msdn.microsoft.com/Forums/en-US/12666856-a40e-4e6b-9243-3d3ebd992971/not-enough-storage-is-available-to-process-this-command

Aterfax commented 1 year ago

Not on any of my filesystems/disks/mounts that I see using df. Likewise plenty of RAM free. Since the previous major version is working, I expect this is not a problem with the filesystems being bind mounted, suggests that the container processes are trying to write somewhere they cannot?

Meanwhile, updating docker to version 20.10.21 has also not resolved the issue.

WX9yMOXWId commented 1 year ago

I ran into the same issue on ubuntu focal and docker 19. After upgrading my docker to version 20.10.21 everything seems to work again.

thespad commented 1 year ago

https://docs.linuxserver.io/faq#jammy

Aterfax commented 1 year ago

Meanwhile, updating docker to version 20.10.21 has also not resolved the issue.

As previous mentioned. I tried that and it has not resolved the issue.

aptalca commented 1 year ago

That's not the only reason/solution mentioned. Add the security opt

thespad commented 1 year ago

You've redacted all the useful information from your config, but my guess is that you're running /config on a remote mount or some kind of union fs and it's causing a problem with the dotnet CLR, probably related to the new syscalls.

Aterfax commented 1 year ago

You've redacted all the useful information from your config, but my guess is that you're running /config on a remote mount or some kind of union fs and it's causing a problem with the dotnet CLR, probably related to the new syscalls.

Config is on a normal disk based FS mount (for a VM) as are all the mounts.

I need to give the security opt a go but not at a terminal at the mo to give it a go.

I'm expecting it's related to the rebase on jammy for the container but not exactly sure what is causing it.

Are there any filesystems that cause a problem? Btrfs?

thespad commented 1 year ago

Remote filesystems (NFS, SMB) are not supported for /config.

Union filesystems (e.g. mergerfs) can cause issues for some containers in certain configurations.

USB-mounted filesystems can cause issues due to default permissions.

FueledbyJordan commented 1 year ago

I was running into this issue, but the securityopt cleared it up for me. Thanks!

Aterfax commented 1 year ago
    security_opt:
      - seccomp=unconfined

Has solved the issue on my VM but this seems a bit questionable as a long term solution.

thespad commented 1 year ago

The long term solution is update your docker engine and update your host.

Any version of Docker released this year supports the necessary syscalls and, in most cases, is sufficient to fix the issue. In some cases if you have an old kernel that doesn't support the syscall properly either than you still need the seccomp options set.

If you have both an up to date docker install and a recent kernel then you'll have to look into other possible causes because we haven't seen any other reported issues.

Aterfax commented 1 year ago

Beats me, as far as I know this is the most up to date Ubuntu 22.04.1 LTS can be.

docker --version

Docker version 20.10.22, build 3a2c30b
uname -a

Linux hostname 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Ran another apt update and reboot with no fix (kernel 5.15.0-53 --> 5.15.0-56).

Worked up a new docker-compose.yml and the issue appears to have vanished. Wonder if some part retained configuration via Portainer left something incompatible which has been cleared out by the new compose file /container.

Others may also resolve their future issues by fully tearing down their config and fully remaking their configuration.

Not entirely sure what the issue was being caused by (I don't believe this was kernel or docker versions given my first post), that said, closing as resolved.