Project directory is not writable

Hi All,
I’m encountering an issue while attempting to create a new project directory in CryoSPARC v3. An error message states that the project directory is not writable, even though I’ve verified that the permissions for each directory in the path allow both read and write access. I don’t know why this error is occurring. My CryoSPARC installed on a server accessible via SSH.

I would greatly appreciate your assistance in resolving this problem.

Full error message:

ServerError: Traceback (most recent call last): File “/data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/cryosparc_command/command_core/”, line 150, in wrapper res = func(*args, **kwargs) File “/data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/cryosparc_command/command_core/”, line 3012, in create_empty_project project_dir = create_and_return_new_project_dir(project_container_dir, new_uid) File “/data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/cryosparc_command/command_core/”, line 2954, in create_and_return_new_project_dir new_project_dir = os.path.join(check_project_dir(project_container_dir), str(project_uid)) File “/data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/cryosparc_command/command_core/”, line 2987, in check_project_dir assert os.access(full_project_dir, os.W_OK), “Project directory is not writable.” AssertionError: Project directory is not writable.

Welcome to the forum @sanze-kumar.

Please can you provide some additional details:

  1. In which log did you observe the error, during which activity did you observe the error?
  2. If the error occurred while trying to create a new project, what is the output of these commands
    stat -f /path/where/you/create/new/project
    ls -ld /path/where/you/create/new/project
    ls -l /data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/bin/cryosparcm
    ls -l /tmp/*sock

[Edited: file path]


Maybe you also need all the directories in the path to have execute permission for the cryosparcuser? For directories, execute permission means permission to list the contents (which cryosparc probably needs).

Thanks for prompt reply.

I’m facing problem in the first step where i need to create a new project.
here are the outputs of given commands:

[skumar@node002 skumar]$ stat -f /data1/skumar/spark/
File: “/data1/skumar/spark/”
ID: 0 Namelen: 255 Type: nfs
Block size: 32768 Fundamental block size: 32768
Blocks: Total: 5361283432 Free: 204038880 Available: 204038880
Inodes: Total: 13119383765 Free: 13058488522

[skumar@node002 skumar]$ ls -ld /data1/skumar/spark/
drwxrwxr-x 3 skumar skumar 3 Sep 12 09:42 /data1/skumar/spark/

[skumar@node002 skumar]$ ls -l /data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/bin/cryosparc_master
ls: cannot access ‘/data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/bin/cryosparc_master’: No such file or directory

[skumar@node002 skumar]$ ls -l /tmp/*sock
ls: cannot access ‘/tmp/*sock’: No such file or directory

Please note: I’m accessing server based cryosparc

Ooops. I mistyped the path. Please can you instead run:

ls -l /data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/bin/cryosparcm

Please provide more details on how your CryoSPARC instance is configured and how you access CryoSPARC:

  1. The URL you type in your web browser to access the CryoSPARC user interface
  2. The name and user id of Linux account that runs cryosparc_master processes. That Linux account must have write access to the directory where you wish to create CryoSPARC projects and will own CryoSPARC project directories.
  3. The output of the command
    /data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/bin/cryosparcm status | grep -v LICENSE
    on the computer that runs cryosparc_master processes (if you have permission to run that command)

[skumar@node002 skumar]$ ls -l /data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/bin/cryosparcm
-rwxrwxr-x 1 cryosparc_user cryosparc_user 58488 Apr 8 2022 /data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/bin/cryosparcm

Admin created user account for me and given me username and password.
i have to just given this command on terminal and it open cryosparc on mozilla browser.
ssh -N -f -L localhost:40000:localhost:40000 skumar@xxx.xx.xx.xx
URL: http://localhost:40000

I’m not a superuser of the server, so i can’t access this directory: ```
/data1/cryosparc_user/cryosparc_excelsior/v3/cryosparc_master/bin/cryosparcm status | grep -v LICENSE

Thanks for providing these details.

This presumably means that the cryosparc_user account would need permission to create the project directory (and later write processing output to the project directory) in the “container” directory that you specify during project creation. Together with the admin, you may want to carefully decide on the path, ownership and permissions of the container directory. PleasesSee the guide for a discussion.

I’ll discuss with my admin about this solution.