linuxserver / docker-baseimage-kasmvnc

Base Images for remote web based Linux desktops using KasmVNC for many popular distros.
GNU General Public License v3.0
297 stars 52 forks source link

fix: 'unable to start service init-kasmvnc-config' error on some file systems - notably ZFS #20

Closed snippetsBySam closed 1 year ago

snippetsBySam commented 1 year ago

linuxserver.io



Description:

There is an issue that occurs on some file systems which results in the following error message:

mv: cannot move '/usr/local/etc/kasmvnc/kasmvnc.yaml.lsio' to a subdirectory of itself, '/usr/local/etc/kasmvnc/kasmvnc.yaml' s6-rc: warning: unable to start service init-kasmvnc-config: command exited 1

And causes apps based on this base image to fail to run.

This is caused by usage of the move mv command to rename the kasmvnc.yaml.lsio file. The fix was to change the command from move mv to copy cp and then delete rm the original. This achieves the same goal while allowing the container to be used on these filesystems.

Benefits of this PR and context:

It fixes the following issues:

https://github.com/linuxserver/docker-calibre/issues/134

https://github.com/linuxserver/docker-calibre/issues/130 (was closed but the issue wasn't fixed)

How Has This Been Tested?

This was tested by first running the original image that gave the error, and they connecting to the shell, and running the copy/remove commands manually which then fixed the container and allowed the app to run.

Source / References:

LinuxServer-CI commented 1 year ago
I am a bot, here are the test results for this PR: https://ci-tests.linuxserver.io/lspipepr/kasmvnc-base/alpine318-b510ec11-pkg-b510ec11-dev-c085d0d7aa59d6e4559e5fd696759ad2e969642f-pr-20/index.html https://ci-tests.linuxserver.io/lspipepr/kasmvnc-base/alpine318-b510ec11-pkg-b510ec11-dev-c085d0d7aa59d6e4559e5fd696759ad2e969642f-pr-20/shellcheck-result.xml Tag Passed
amd64-alpine318-b510ec11-pkg-b510ec11-dev-c085d0d7aa59d6e4559e5fd696759ad2e969642f-pr-20
arm64v8-alpine318-b510ec11-pkg-b510ec11-dev-c085d0d7aa59d6e4559e5fd696759ad2e969642f-pr-20
aptalca commented 1 year ago

I personally don't think this is appropriate as it's a highly specific band-aid/workaround rather than a solution.

The container processes should be able to successfully move a file within the container filesystem when they are running as root. If they can't, it suggests something seriously wrong with the docker service. Our container init or the upstream apps should be able to do basic operations like a move as long as they have the proper permissions. I have not been able to reproduce this issue.

I would not want to play whack-a-mole with all these operations that may or may not work on some systems.

snippetsBySam commented 1 year ago

I understand why this might be seen as a band-fix but this is currently the limit of my abilities.

I've been able to reliably reproduce the issue on 2 systems (One Intel and one AMD based) by doing the following:

LinuxServer-CI commented 1 year ago
I am a bot, here are the test results for this PR: https://ci-tests.linuxserver.io/lspipepr/kasmvnc-base/alpine318-9b186ef8-pkg-9b186ef8-dev-dd9874fb281099814cd072d20461a02ba55d4725-pr-20/index.html https://ci-tests.linuxserver.io/lspipepr/kasmvnc-base/alpine318-9b186ef8-pkg-9b186ef8-dev-dd9874fb281099814cd072d20461a02ba55d4725-pr-20/shellcheck-result.xml Tag Passed
amd64-alpine318-9b186ef8-pkg-9b186ef8-dev-dd9874fb281099814cd072d20461a02ba55d4725-pr-20
arm64v8-alpine318-9b186ef8-pkg-9b186ef8-dev-dd9874fb281099814cd072d20461a02ba55d4725-pr-20
aptalca commented 1 year ago

See here for the underlying issue: https://forums.docker.com/t/unable-to-run-mv-when-building-any-image-all-mv-is-subdirectory-of-itself/137409

snippetsBySam commented 1 year ago

Ahh, thank you, changing the docker storage driver to zfs fixed it without needing this PR