cryoSPARC fails to create a new directory for SSD cache

Hi @team

I probably made the mistake by not supplying --sshstring and or --worker parameter while trying to update the SSD path. I say a mistake because on the output it was written

Attempting to register worker R2D2 to command R2D2:39002

which I did not expect to see.

Anyway, updating the SSD path (/media/angr5008/Samsung SSD/cryosparc_cache) was successful, but when I tried to run a job, it seems that cryoSPARC is trying to create a folder inside /cryosparc_cache:

[CPU: 554.3 MB] Traceback (most recent call last):
File “cryosparc_worker/cryosparc_compute/run.py”, line 85, in cryosparc_compute.run.main
File “cryosparc_worker/cryosparc_compute/jobs/refine/newrun.py”, line 125, in cryosparc_compute.jobs.refine.newrun.run_homo_refine
File “/home/angr5008/Software/cryosparc/cryosparc_worker/cryosparc_compute/particles.py”, line 88, in read_blobs
u_blob_paths = cache.download_and_return_cache_paths(u_rel_paths)
File “/home/angr5008/Software/cryosparc/cryosparc_worker/cryosparc_compute/jobs/cache.py”, line 113, in download_and_return_cache_paths
used_mb = sync_hits(worker_hostname, ssd_cache_path, instance_id)
File “/home/angr5008/Software/cryosparc/cryosparc_worker/cryosparc_compute/jobs/cache.py”, line 195, in sync_hits
os.makedirs(this_instance_cache_path, exist_ok=True)
File “/home/angr5008/Software/cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/os.py”, line 223, in makedirs
mkdir(name, mode)
OSError: [Errno 22] Invalid argument: ‘/media/angr5008/Samsung SSD/cryosparc_cache/instance_R2D2:39001’

  • I can only think that the mkdir operation is not working because this is a exFAT disk (which is supposed to be a portable and temporary SSD cache solution).
  • How can I revert my mistake?

Any help is appreciated.
Thanks!
André

André,
The space in the cache path appears problematic. Would it be possible to update the worker using an ssdpath value that doesn’t include a space (perhaps a symbolic link?) or (untested) where the space is “escaped” with \?

1 Like

Hello @AndreGraca ,

what I do to test the SSD is writable is “cd” to the folder as the “cryosparc onwer” (the one who runs cryosparc), then mkdir test. If that works, the the rest is OK.
Let us know if you managed
 :slightly_smiling_face:

@wtempel @jucastil thank you for your quick replies and will to help =)

Definitely this is not as easy as one may think

I succeed creating directory inside the cryosparc_cache directory, but not if they contain : column character. This is something I tested before my initial post.

I have also manage to rename the directory ‘Samsung SSD’ to SamsungSSD, but the problem persists.

So I get back to my initial question: isn’t it that the the mkdir operation is not working because this is a exFAT disk and therefore does not support ‘:’ characters?

Is there anyone out there using an exFAT formatted disk as cryoSPARC cache?

Have a great weekend,
Andre

Hi @team, no clues about this happening?

Okay, I got the problem solved.

  1. Formatted the HDD to Ext4 (I don’t know if this was required)
  2. sudo chown $USER:$USER -R /path/to/partition (this surely was key)

It seems that this particular SSD needed a reassignment of ownership from root to my user.

Reading this particular thread helped me solve the problem: [SOLVED] Can't create folder without being root - Linux Mint Forums

1 Like