Closed snippetsBySam closed 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 | ✅ |
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.
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:
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 | ✅ |
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
Ahh, thank you, changing the docker storage driver to zfs fixed it without needing this PR
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 thekasmvnc.yaml.lsio
file. The fix was to change the command from movemv
to copycp
and then deleterm
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: