Micromamba crash issue during installation

Hi, we are trying to install the latest cryosparc on our cluster but running into issues. Please see below. We are installing as usual, any advice would be appreciated.

######################################################################

DURING INSTALLATION WE GET THIS ERROR

To activate this environment, use:

micromamba activate /(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda

Or to execute a single command in this environment, use:

micromamba run -p /(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda mycommand

installation finished.

------------------------------------------------------------------------

Done.

anaconda python installation successful.

------------------------------------------------------------------------

Extracting all conda packages...

------------------------------------------------------------------------

.................................................................................................Traceback (most recent call last):

File "/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/bin/conda", line 12, in <module>

from conda.cli import main

ModuleNotFoundError: No module named 'conda'

[check_install_deps.sh](https://check_install_deps.sh/): 66: ERROR: installing python failed.

############################################################################

WHEN WE TRY TO START CRYOSPARC

Starting CryoSPARC System master process...

CryoSPARC is not already running.

Traceback (most recent call last):

File "/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/bin/conda", line 12, in <module>

from conda.cli import main

ModuleNotFoundError: No module named 'conda'

Warning: Could not activate conda environment; this indicates that a cryoSPARC installation is either incomplete or in progress

configuring database...

Traceback (most recent call last):

File "<string>", line 1, in <module>

File "/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/cryosparc_compute/database_management.py", line 35, in configure_mongo

mongod = subprocess.Popen(command, stdout=output, stderr=output)

File "/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/subprocess.py", line 971, in *init*

self._execute_child(args, executable, preexec_fn, close_fds,

File "/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/subprocess.py", line 1863, in _execute_child

raise child_exception_type(errno_num, err_msg, err_filename)

FileNotFoundError: [Errno 2] No such file or directory: 'mongod'

[2024-11-22T11:45:18+01:00] Error configuring database. Most recent database log lines:

(/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT5700

thanks in advance

Jesse

@orangeboomerang Please can you post the actual command you entered into the terminal before eventually seeing this error?

hi,

it is our IT dept installing. Here is what they told me they used as a command:

./install.sh --license ${LICENSE_ID} \
--worker_path ${root_dir}/cryosparc_worker \
--ssdpath ${name_ssd_path} \
--port ${PORTN}

Is this path prefix literal, or has it been altered for anonymization?

This command corresponds to a single workstation (combined master & worker) CryoSPARC instance, where installation automatically performs multiple steps:

  1. cryosparc_master/install.sh
  2. cryosparc_worker/install.sh
  3. cryosparc_worker/bin/cryosparcw connect

If I interpret information from the first post, where comments seem to be interleaved with actual screen output, correctly, the first of the above steps has failed. The IT dept may want to test running the first step, aka Master Node Only installation and collect

  1. output of the command env before running the installation command
  2. output of the commands
    ./install.sh --license ${LICENSE_ID} --port ${PORTN}
    

for troubleshooting.

  Hi

we are running the first step

cryosparc_master/install.sh

Those are the instructions we run

module load micromamba/20241106
eval "$(micromamba shell hook --shell bash)"

./install.sh    --license ${LICENSE_ID} \
                --worker_path ${root_dir}/cryosparc_worker \
                --ssdpath ${name_ssd_path} \
                --port ${PORTN}

######################################################################

DURING INSTALLATION WE GET THIS ERROR

To activate this environment, use:

micromamba activate /(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda

Or to execute a single command in this environment, use:

micromamba run -p /(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda mycommand

installation finished.


Done.

anaconda python installation successful.


Extracting all conda packages…


…Traceback (most recent call last):

File “/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/bin/conda”, line 12, in

from conda.cli import main

ModuleNotFoundError: No module named ‘conda’

check_install_deps.sh: 66: ERROR: installing python failed.

############################################################################

WHEN WE TRY TO START CRYOSPARC

Starting CryoSPARC System master process…

CryoSPARC is not already running.

Traceback (most recent call last):

File “/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/bin/conda”, line 12, in

from conda.cli import main

ModuleNotFoundError: No module named ‘conda’

Warning: Could not activate conda environment; this indicates that a cryoSPARC installation is either incomplete or in progress

configuring database…

Traceback (most recent call last):

File “”, line 1, in

File “/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/cryosparc_compute/database_management.py”, line 35, in configure_mongo

mongod = subprocess.Popen(command, stdout=output, stderr=output)

File “/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/subprocess.py”, line 971, in init

self._execute_child(args, executable, preexec_fn, close_fds,

File “/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/subprocess.py”, line 1863, in _execute_child

raise child_exception_type(errno_num, err_msg, err_filename)

FileNotFoundError: [Errno 2] No such file or directory: ‘mongod’

[2024-11-22T11:45:18+01:00] Error configuring database. Most recent database log lines:

(/(path)/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT5700

These commands should not typically be needed before running
cryosparc_master/install.sh
I do not know their effect on the subsequent ./install.sh command.

Also, I missed earlier that

may be invalid or incomplete. Is the installation of a “single workstation” (combined master and worker, details) intended? If so, additional parameters are needed. If not,
--ssdpath and --worker_path should not be used.

If you continue to experience problems during installation, please try in a clean environment (no modules or conda environments loaded) inside a freshly unpacked cryosparc_master/ directory and post the outputs:

env | grep -v LICENSE_ID
PORTN=99999 # replace with actual port
LICENSE_ID="xxxxx" # replace with actual license ID 
./install.sh --license ${LICENSE_ID} --port ${PORTN}

and post the outputs. For this test, you may additionally use the
--dbpath parameter, but omit the --worker_path and --ssdpath parameters.
Please post the outputs:

  • concealing the license ID
  • clearly distinguishing between
    • commands entered
    • comments added by you
    • actual screen outputs
  • indicating alterations to actual screen outputs

(formatting guide)

As you suggested I tried with a clean environment,
this is what I get, it does not find conda …
that’s why in the previous installation I loaded micromamba

Transaction finished

To activate this environment, use:

micromamba activate /nfs/scistore23/schurgrp/cryoschurgrp/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda

Or to execute a single command in this environment, use:

micromamba run -p /nfs/scistore23/schurgrp/cryoschurgrp/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda mycommand

installation finished.

Done.
anaconda python installation successful.

Extracting all conda packages…

…Traceback (most recent call last):
File “/nfs/scistore23/schurgrp/cryoschurgrp/cryosparc_v4.6.2_gpu136Master_gpu136Worker_PORT57000_LIC_38df2812/cryosparc_master/deps/anaconda/bin/conda”, line 12, in
from conda.cli import main
ModuleNotFoundError: No module named ‘conda’
check_install_deps.sh: 66: ERROR: installing python failed.

WARNING
We need to starting cryosparc manually
cryosparcm start

@selefant1 Please can you post the output of this command

run on the CryoSPARC master host, under the Linux account that “owns” the CryoSPARC installation.

Dear Wtempel,

Thank you very much for your help and for trying to get CryoSPARC up and running.

Could you please let us know what specific information you would need from the output of the command:

$ env | grep -v LICENSE_ID

For security reasons, we’d prefer not to share the entire setup. We apologize for any inconvenience this may cause and appreciate your understanding.

Best regards,

Understood!
How about
env | grep PATH
?

MANPATH=/mnt/nfs/clustersw/Debian/bookworm/lmod/8.6.12/share/man:
MODULEPATH_ROOT=/mnt/nfs/clustersw/Debian/bookworm/modulefiles
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
MODULEPATH=/mnt/nfs/clustersw/Debian/bookworm/modulefiles/Linux:/mnt/nfs/clustersw/Debian/bookworm/modulefiles/Core:/mnt/nfs/clustersw/Debian/bookworm/lmod/8.6.12/modulefiles/Core

@selefant1 You may want to try the following

  1. Navigate to the directory where you wish to install CryoSPARC
  2. Remove the cryosparc_master/ directory from a previous failed installation, if it exists.
  3. Extract cryosparc_master.tar.gz
  4. Then run
    conda deactivate # just in case
    PORTN=99999 # replace with actual port
    LICENSE_ID="xxxxx" # replace with actual license ID 
    env -i ./install.sh --license ${LICENSE_ID} --port ${PORTN} 2>&1 | tee install_master.out
    

If this does not work:

  1. Remove the cryosparc_master/ directory from the failed installation.
  2. Again extract cryosparc_master.tar.gz.
  3. From the lower half of the file
    cryosparc_master/deps_bundle_hashes/python/install_python.sh
    
    remove the lines
    source ${CRYOSPARC_ROOT_DIR}/deps/anaconda/etc/profile.d/conda.sh
    conda config --file "$conda_config_file" --set auto_update_conda False
    conda config --file "$conda_config_file" --set pip_interop_enabled True
    conda config --file "$conda_config_file" --set channel_priority flexible
    
  4. Run the commands
    conda deactivate # just in case
    PORTN=99999 # replace with actual port
    LICENSE_ID="xxxxx" # replace with actual license ID 
    env -i ./install.sh --license ${LICENSE_ID} --port ${PORTN} 2>&1 | tee install_master2.out
    

Any luck?
The purpose of the tee commands is to preserve the outputs for analysis in case neither approach works.