Permission error upon starting V5

Hello all,

I’ve had an unexpected PC shutdown due to a high file load on a raid disk ( unrelated to cryosparc)

and since then i cant restart my cryosparc session.

here is the error message.

[image redacted]

i’m very confused as to why it referes to a file from a different software in a different user home dir.

Cryosparc was working fine before.

have a good day

Thanks @Yannlefrancois for your post.
Is it possible that

  1. you switched Linux user context from emmanuel to cryosparc_user?
  2. some user emmanuel’s user-specific environment was inherited during the context switch?
  3. cryosparc_user doesn’t have read access to
    /home/emmanuel/Software/ccp4-9/etc/cacert.pem
    

If that’s the case, you may want to choose a method that logs you in as cryosparc_user, but isolates you from emmanuel’s environment.
[I redacted one of the image files you posted because it revealed confidential information. Please do not post confidential information, such as your CryoSPARC license ID, on the forum,]

Hi
thank you for your answer,

I am switching user using su cryosparc_user i was unware there is no reason to my knowledge that it would inherit anything.
i tried logging of completly and logging in from the PC itself without switching user in terminal and it worked.

this is wierd any idea as to what might have caused it and how to fix it ?

sorry about the picture i’ll be more carefull nexttime

The environment may be controlled using su command options.

I have fix the issue in the main time.

if i connect to the user in this manner

su - user

instead of

su user

i do not have the problem

1 Like

I have a similar error. I can live with my workaround, but this info might help you debug.

When I log in with my user and then su to the cryosparc user, I get similar errors for any cryosparcm command (see example below). I do not get errors when I cd from the other users home to the cryosparc user home before running cryosparcm.

This occured first after the update to cryosparc 5.

$ cryosparcm status
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CryoSPARC System master node installed at
/usr/local/cryosparc/cryosparc_master
Current CryoSPARC version: v5.0.0
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

╭───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────╮
│ /usr/local/cryosparc/cryosparc_master/cli/cryosparcm.py:280 in status                                               │
│                                                                                                                     │
│    277 │   version()                                                                                                │
│    278 │   out.log(DIVIDER)                                                                                         │
│    279 │   out.log()                                                                                                │
│ ❱  280 │   if status := check_supervisor_status():                                                                  │
│    281 │   │   out.log("CryoSPARC process status:")                                                                 │
│    282 │   │   out.log()                                                                                            │
│    283 │   │   out.out(status)                                                                                      │
│                                                                                                                     │
│ ╭────────────────────────────────────────────── locals ───────────────────────────────────────────────╮             │
│ │                   core = <core.core.Core object at 0x7ff75b682780>                                  │             │
│ │ SUPERVISOR_CONFIG_PATH = PosixPath('/usr/local/cryosparc/cryosparc_master/config/supervisord.conf') │             │
│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯             │
│                                                                                                                     │
│ /usr/local/cryosparc/cryosparc_master/cli/supervisor.py:101 in check_supervisor_status                              │
│                                                                                                                     │
│    98 │   """                                                                                                       │
│    99 │   check_hostname()                                                                                          │
│   100 │                                                                                                             │
│ ❱ 101 │   _, output = processing.exec(                                                                              │
│   102 │   │   "supervisorctl",                                                                                      │
│   103 │   │   "-c",                                                                                                 │
│   104 │   │   config,                                                                                               │
│                                                                                                                     │
│ ╭─────────────────────────────────────── locals ───────────────────────────────────────╮                            │
│ │  config = PosixPath('/usr/local/cryosparc/cryosparc_master/config/supervisord.conf') │                            │
│ │ service = None                                                                       │                            │
│ ╰──────────────────────────────────────────────────────────────────────────────────────╯                            │
│                                                                                                                     │
│ /usr/local/cryosparc/cryosparc_master/core/processing.py:273 in exec                                                │
│                                                                                                                     │
│   270 │   │   stdout = stderr = outfile  # IO object                                                                │
│   271 │   core.logger.debug(f"Executing command: {program} {shlex.join(map(str, args))}")                           │
│   272 │   cmd = [program, *args]                                                                                    │
│ ❱ 273 │   proc = subprocess.Popen(cmd, stdout=stdout, stderr=stderr, close_fds=True, cwd=cwd,                       │
│   274 │                                                                                                             │
│   275 │   if asynchronous:                                                                                          │
│   276 │   │   return proc.pid                                                                                       │
│                                                                                                                     │
│ ╭──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────╮ │
│ │           args = (                                                                                              │ │
│ │                  │   '-c',                                                                                      │ │
│ │                  │   PosixPath('/usr/local/cryosparc/cryosparc_master/config/supervisord.conf'),                │ │
│ │                  │   'status',                                                                                  │ │
│ │                  │   ''                                                                                         │ │
│ │                  )                                                                                              │ │
│ │   asynchronous = False                                                                                          │ │
│ │            cmd = [                                                                                              │ │
│ │                  │   'supervisorctl',                                                                           │ │
│ │                  │   '-c',                                                                                      │ │
│ │                  │   PosixPath('/usr/local/cryosparc/cryosparc_master/config/supervisord.conf'),                │ │
│ │                  │   'status',                                                                                  │ │
│ │                  │   ''                                                                                         │ │
│ │                  ]                                                                                              │ │
│ │ combine_stderr = True                                                                                           │ │
│ │            cwd = '.'                                                                                            │ │
│ │            env = {                                                                                              │ │
│ │                  │   'SHELL': '/bin/bash',                                                                      │ │
│ │                  │   'CRYOSPARC_MASTER_HOSTNAME': '192.168.1.9',                                                │ │
│ │                  │   'NUMEXPR_NUM_THREADS': '1',                                                                │ │
│ │                  │   'LC_ADDRESS': 'de_DE.UTF-8',                                                               │ │
│ │                  │   'LC_NAME': 'de_DE.UTF-8',                                                                  │ │
│ │                  │   'CRYOSPARC_INSECURE': 'false',                                                             │ │
│ │                  │   'LC_MONETARY': 'de_DE.UTF-8',                                                              │ │
│ │                  │   'EDITOR': 'emacs',                                                                         │ │
│ │                  │   'PWD': '/home2/it-admin',                                                                  │ │
│ │                  │   'LOGNAME': 'cryosparcuser',                                                                │ │
│ │                  │   ... +57                                                                                    │ │
│ │                  }                                                                                              │ │
│ │        outfile = None                                                                                           │ │
│ │        program = 'supervisorctl'                                                                                │ │
│ │         stderr = -2                                                                                             │ │
│ │         stdout = -1                                                                                             │ │
│ │        timeout = None                                                                                           │ │
│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                                     │
│ /usr/local/cryosparc/cryosparc_master/.pixi/envs/master/lib/python3.12/subprocess.py:1026 in __init__               │
│                                                                                                                     │
│   1023 │   │   │   │   │   self.stderr = io.TextIOWrapper(self.stderr,                                              │
│   1024 │   │   │   │   │   │   │   encoding=encoding, errors=errors)                                                │
│   1025 │   │   │                                                                                                    │
│ ❱ 1026 │   │   │   self._execute_child(args, executable, preexec_fn, close_fds,                                     │
│   1027 │   │   │   │   │   │   │   │   pass_fds, cwd, env,                                                          │
│   1028 │   │   │   │   │   │   │   │   startupinfo, creationflags, shell,                                           │
│   1029 │   │   │   │   │   │   │   │   p2cread, p2cwrite,                                                           │
│                                                                                                                     │
│ ╭─────────────────────────────────────────────── locals ────────────────────────────────────────────────╮           │
│ │               args = [                                                                                │           │
│ │                      │   'supervisorctl',                                                             │           │
│ │                      │   '-c',                                                                        │           │
│ │                      │   PosixPath('/usr/local/cryosparc/cryosparc_master/config/supervisord.conf'),  │           │
│ │                      │   'status',                                                                    │           │
│ │                      │   ''                                                                           │           │
│ │                      ]                                                                                │           │
│ │            bufsize = -1                                                                               │           │
│ │            c2pread = 4                                                                                │           │
│ │           c2pwrite = 5                                                                                │           │
│ │          close_fds = True                                                                             │           │
│ │      creationflags = 0                                                                                │           │
│ │                cwd = '.'                                                                              │           │
│ │           encoding = None                                                                             │           │
│ │                env = {                                                                                │           │
│ │                      │   'SHELL': '/bin/bash',                                                        │           │
│ │                      │   'CRYOSPARC_MASTER_HOSTNAME': '192.168.1.9',                                  │           │
│ │                      │   'NUMEXPR_NUM_THREADS': '1',                                                  │           │
│ │                      │   'LC_ADDRESS': 'de_DE.UTF-8',                                                 │           │
│ │                      │   'LC_NAME': 'de_DE.UTF-8',                                                    │           │
│ │                      │   'CRYOSPARC_INSECURE': 'false',                                               │           │
│ │                      │   'LC_MONETARY': 'de_DE.UTF-8',                                                │           │
│ │                      │   'EDITOR': 'emacs',                                                           │           │
│ │                      │   'PWD': '/home2/it-admin',                                                    │           │
│ │                      │   'LOGNAME': 'cryosparcuser',                                                  │           │
│ │                      │   ... +57                                                                      │           │
│ │                      }                                                                                │           │
│ │             errors = None                                                                             │           │
│ │            errread = -1                                                                               │           │
│ │           errwrite = 5                                                                                │           │
│ │         executable = None                                                                             │           │
│ │       extra_groups = None                                                                             │           │
│ │                  f = <_io.BufferedReader name=4>                                                      │           │
│ │                gid = None                                                                             │           │
│ │               gids = None                                                                             │           │
│ │              group = None                                                                             │           │
│ │            p2cread = -1                                                                               │           │
│ │           p2cwrite = -1                                                                               │           │
│ │           pass_fds = ()                                                                               │           │
│ │           pipesize = -1                                                                               │           │
│ │         preexec_fn = None                                                                             │           │
│ │      process_group = -1                                                                               │           │
│ │    restore_signals = True                                                                             │           │
│ │               self = <Popen: returncode: 255 args: ['supervisorctl', '-c', PosixPath('/usr/local/...> │           │
│ │              shell = False                                                                            │           │
│ │  start_new_session = False                                                                            │           │
│ │        startupinfo = None                                                                             │           │
│ │             stderr = -2                                                                               │           │
│ │              stdin = None                                                                             │           │
│ │             stdout = -1                                                                               │           │
│ │               text = None                                                                             │           │
│ │                uid = None                                                                             │           │
│ │              umask = -1                                                                               │           │
│ │ universal_newlines = None                                                                             │           │
│ │               user = None                                                                             │           │
│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯           │
│                                                                                                                     │
│ /usr/local/cryosparc/cryosparc_master/.pixi/envs/master/lib/python3.12/subprocess.py:1955 in _execute_child         │
│                                                                                                                     │
│   1952 │   │   │   │   │   if errno_num != 0:                                                                       │
│   1953 │   │   │   │   │   │   err_msg = os.strerror(errno_num)                                                     │
│   1954 │   │   │   │   │   if err_filename is not None:                                                             │
│ ❱ 1955 │   │   │   │   │   │   raise child_exception_type(errno_num, err_msg, err_filename)                         │
│   1956 │   │   │   │   │   else:                                                                                    │
│   1957 │   │   │   │   │   │   raise child_exception_type(errno_num, err_msg)                                       │
│   1958 │   │   │   │   raise child_exception_type(err_msg)                                                          │
│                                                                                                                     │
│ ╭───────────────────────────────────────────────── locals ──────────────────────────────────────────────────╮       │
│ │              args = [                                                                                     │       │
│ │                     │   'supervisorctl',                                                                  │       │
│ │                     │   '-c',                                                                             │       │
│ │                     │   PosixPath('/usr/local/cryosparc/cryosparc_master/config/supervisord.conf'),       │       │
│ │                     │   'status',                                                                         │       │
│ │                     │   ''                                                                                │       │
│ │                     ]                                                                                     │       │
│ │           c2pread = 4                                                                                     │       │
│ │          c2pwrite = 5                                                                                     │       │
│ │         close_fds = True                                                                                  │       │
│ │     creationflags = 0                                                                                     │       │
│ │               cwd = '.'                                                                                   │       │
│ │               env = {                                                                                     │       │
│ │                     │   'SHELL': '/bin/bash',                                                             │       │
│ │                     │   'CRYOSPARC_MASTER_HOSTNAME': '192.168.1.9',                                       │       │
│ │                     │   'NUMEXPR_NUM_THREADS': '1',                                                       │       │
│ │                     │   'LC_ADDRESS': 'de_DE.UTF-8',                                                      │       │
│ │                     │   'LC_NAME': 'de_DE.UTF-8',                                                         │       │
│ │                     │   'CRYOSPARC_INSECURE': 'false',                                                    │       │
│ │                     │   'LC_MONETARY': 'de_DE.UTF-8',                                                     │       │
│ │                     │   'EDITOR': 'emacs',                                                                │       │
│ │                     │   'PWD': '/home2/it-admin',                                                         │       │
│ │                     │   'LOGNAME': 'cryosparcuser',                                                       │       │
│ │                     │   ... +57                                                                           │       │
│ │                     }                                                                                     │       │
│ │          env_list = [                                                                                     │       │
│ │                     │   b'SHELL=/bin/bash',                                                               │       │
│ │                     │   b'CRYOSPARC_MASTER_HOSTNAME=192.168.1.9',                                         │       │
│ │                     │   b'NUMEXPR_NUM_THREADS=1',                                                         │       │
│ │                     │   b'LC_ADDRESS=de_DE.UTF-8',                                                        │       │
│ │                     │   b'LC_NAME=de_DE.UTF-8',                                                           │       │
│ │                     │   b'CRYOSPARC_INSECURE=false',                                                      │       │
│ │                     │   b'LC_MONETARY=de_DE.UTF-8',                                                       │       │
│ │                     │   b'EDITOR=emacs',                                                                  │       │
│ │                     │   b'PWD=/home2/it-admin',                                                           │       │
│ │                     │   b'LOGNAME=cryosparcuser',                                                         │       │
│ │                     │   ... +57                                                                           │       │
│ │                     ]                                                                                     │       │
│ │      err_filename = '.'                                                                                   │       │
│ │           err_msg = 'Permission denied'                                                                   │       │
│ │         errno_num = 13                                                                                    │       │
│ │      errpipe_data = bytearray(b'OSError:d:noexec:chdir')                                                  │       │
│ │      errpipe_read = 6                                                                                     │       │
│ │     errpipe_write = 7                                                                                     │       │
│ │           errread = -1                                                                                    │       │
│ │          errwrite = 5                                                                                     │       │
│ │    exception_name = bytearray(b'OSError')                                                                 │       │
│ │        executable = b'supervisorctl'                                                                      │       │
│ │   executable_list = (                                                                                     │       │
│ │                     │   b'/usr/local/cryosparc/cryosparc_master/deps/external/mongodb/bin/supervisorctl', │       │
│ │                     │   b'/usr/local/cryosparc/cryosparc_master/bin/supervisorctl',                       │       │
│ │                     │   b'/usr/local/cryosparc/cryosparc_master/.pixi/envs/master/bin/supervisorctl',     │       │
│ │                     │   b'/usr/local/cryosparc/WSem2/cryosparc_worker/deps/anaconda/bin/supervisorctl',   │       │
│ │                     │   b'/usr/local/cryosparc/cryosparc_master/bin/supervisorctl',                       │       │
│ │                     │   b'/usr/local/sbin/supervisorctl',                                                 │       │
│ │                     │   b'/usr/local/bin/supervisorctl',                                                  │       │
│ │                     │   b'/usr/sbin/supervisorctl',                                                       │       │
│ │                     │   b'/usr/bin/supervisorctl',                                                        │       │
│ │                     │   b'/sbin/supervisorctl',                                                           │       │
│ │                     │   ... +4                                                                            │       │
│ │                     )                                                                                     │       │
│ │       fds_to_keep = {7}                                                                                   │       │
│ │               gid = None                                                                                  │       │
│ │              gids = None                                                                                  │       │
│ │         hex_errno = bytearray(b'd')                                                                       │       │
│ │                 k = b'PYTHONWARNINGS'                                                                     │       │
│ │  low_fds_to_close = []                                                                                    │       │
│ │   orig_executable = 'supervisorctl'                                                                       │       │
│ │           p2cread = -1                                                                                    │       │
│ │          p2cwrite = -1                                                                                    │       │
│ │              part = b''                                                                                   │       │
│ │          pass_fds = ()                                                                                    │       │
│ │               pid = 964910                                                                                │       │
│ │        preexec_fn = None                                                                                  │       │
│ │     process_group = -1                                                                                    │       │
│ │   restore_signals = True                                                                                  │       │
│ │              self = <Popen: returncode: 255 args: ['supervisorctl', '-c', PosixPath('/usr/local/...>      │       │
│ │             shell = False                                                                                 │       │
│ │ start_new_session = False                                                                                 │       │
│ │       startupinfo = None                                                                                  │       │
│ │               sts = 65280                                                                                 │       │
│ │               uid = None                                                                                  │       │
│ │             umask = -1                                                                                    │       │
│ │                 v = 'ignore'                                                                              │       │
│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯       │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
PermissionError: [Errno 13] Permission denied: '.'

@niklas Please can you post the output of the command

namei -l /usr/local/cryosparc/cryosparc_master/.pixi/envs/master/bin/supervisorctl

here you go :slight_smile:

$ namei -l /usr/local/cryosparc/cryosparc_master/.pixi/envs/master/bin/supervisorctl
f: /usr/local/cryosparc/cryosparc_master/.pixi/envs/master/bin/supervisorctl
drwxr-xr-x root          root  /
drwxr-xr-x root          root  usr
drwxr-xr-x root          root  local
drwxr-xr-x cryosparcuser users cryosparc
drwxr-xr-x cryosparcuser users cryosparc_master
drwxr-xr-x cryosparcuser users .pixi
drwxr-xr-x cryosparcuser users envs
drwxr-xr-x cryosparcuser users master
drwxr-xr-x cryosparcuser users bin
-rwxr-xr-x cryosparcuser users supervisorctl

Hi @niklas @Yannlefrancois , this should be fixed as of the latest v5.0.3 update, please let us know if you see any similar errors. You may have to cd into your CryoSPARC installation directory to proceed with the update to avoid this error until the update is installed.