google/nsjail

mnt:mountPt fails with invalid argument

stijn-ucrowds opened this issue · 1 comments

Using nsjail inside a docker container leads to an error. The odd thing is that this occurs only on one machine, but not on others.

bool mnt::mountPt(mount_t*, const char*, const char*)():217 mount(''/' flags: type:'overlay' options:'lowerdir=/home/terr/.zerg/lib/fsmap/.tmpMtRFD1:/tmp/nsjail.999.root,upperdir=/tmp/zergos-999/overlayfs-workspaces/user_pid=127.0.0.1.18003.0Ebvvlk/overlayfs-rw,workdir=/tmp/zergos-999/overlayfs-workspaces/user_pid=127.0.0.1.18003.0Ebvvlk/overlayfs-tmp' dir:true') src:'none' dstpath:'/tmp/nsjail.999.root//' failed: Invalid argument

The docker image gets launched with

docker run --rm -it --privileged --cap-add=SYS_PTRACE -p 8881:8881 --security-opt seccomp=unconfined -v ${PWD}:/src c842960c237a

The double slash in /tmp/nsjail.999.root// looks suspicious. Could this be the issue?

Windows 11 build 22621
Docker 4.16.1 using WSL2

We figured out that it occurs on Windows 10 and 11 when the WSL kernel is verson 5.15. Reverting back to kernel version 5.10 resolves the issue.