miniwdl icon indicating copy to clipboard operation
miniwdl copied to clipboard

PermissionError when running miniwdl with Docker Desktop on Linux

Open stxue1 opened this issue 1 year ago • 3 comments

When running miniwdl run_self_test miniwdl fails to chmod the work directories

2023-06-07 12:36:11.862 wdl.w:hello_caller.download0.t:download-aria2c Traceback (most recent call last):
  File "/home/heaucques/Documents/toil/venv/lib/python3.10/site-packages/WDL/runtime/task.py", line 224, in run_local_task
    chmod_R_plus(run_dir, file_bits=0o660, dir_bits=0o770)
  File "/home/heaucques/Documents/toil/venv/lib/python3.10/site-packages/WDL/_util.py", line 677, in chmod_R_plus
    do1(os.path.join(root, dn), dir_bits)
  File "/home/heaucques/Documents/toil/venv/lib/python3.10/site-packages/WDL/_util.py", line 668, in do1
    os.chmod(path1, (os.stat(path1).st_mode & 0o7777) | bits)
PermissionError: [Errno 1] Operation not permitted: '/tmp/miniwdl_run_self_test_1ey4kejx/20230607_123607_hello_caller/download/0/work'

This might be due to how Docker Desktop on Linux delegates user IDs. The files/directoires that miniwdl tries to chmod is owned by UID 100999, but miniwdl is running as my user UID, which is 1000. This is after I already solved a file sharing problem previously mentioned at #404 where I changed the file sharing directory under the Docker Desktop settings to the root directory.

I'm doing this in the context of trying to get Toil's WDL conformance tests to work.

stxue1 avatar Jun 07 '23 19:06 stxue1