CryoSPARC update breaking database?

Trying to update CryoSPARC on one system to 4.6.2 yielded the following:

Starting CryoSPARC System master process...
CryoSPARC is not already running.
configuring database...
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/cryosparcer/bin/cryosparc_master/cryosparc_compute/database_management.py", line 47, in configure_mongo
    initialize_replica_set()
  File "/home/cryosparcer/bin/cryosparc_master/cryosparc_compute/database_management.py", line 84, in initialize_replica_set
    admin_db = try_get_pymongo_db(mongo_client)
  File "/home/cryosparcer/bin/cryosparc_master/cryosparc_compute/database_management.py", line 251, in try_get_pymongo_db
    admin_db.command(({'serverStatus': 1}))
  File "/home/cryosparcer/bin/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/_csot.py", line 108, in csot_wrapper
    return func(self, *args, **kwargs)
  File "/home/cryosparcer/bin/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/database.py", line 897, in command
    return self._command(
  File "/home/cryosparcer/bin/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/database.py", line 737, in _command
    return conn.command(
  File "/home/cryosparcer/bin/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/helpers.py", line 342, in inner
    return func(*args, **kwargs)
  File "/home/cryosparcer/bin/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/pool.py", line 989, in command
    return command(
  File "/home/cryosparcer/bin/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/network.py", line 212, in command
    helpers._check_command_response(
  File "/home/cryosparcer/bin/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/helpers.py", line 248, in _check_command_response
    raise OperationFailure(errmsg, code, response, max_wire_version)
pymongo.errors.OperationFailure: there are no users authenticated, full error: {'operationTime': Timestamp(1734682890, 1), 'ok': 0.0, 'errmsg': 'there are no users authenticated', 'code': 13, 'codeName': 'Unauthorized', '$clusterTime': {'clusterTime': Timestamp(1734682890, 1), 'signature': {'hash': b'\xe9\xa6,\x8as\xa2\xd1\xd3\xcc\x18\xaa\x99p\x1e\xc2\x8c\xfa\xb1\xd4i', 'keyId': 7428868497960075266}}}
Warning: Could not get database status (attempt 1/3)
Warning: Could not get database status (attempt 2/3)
Warning: Could not get database status (attempt 3/3)
[2024-12-20T17:21:40+09:00] Error configuring database. Most recent database log lines:
2024-12-20T17:21:26.546+0900 I STORAGE  [initandlisten] exception in initAndListen: DBPathInUse: Unable to lock the lock file: /home/cryosparcer/bin/cryosparc_database/mongod.lock (Resource temporarily unavailable). Another mongod instance is already running on the /home/cryosparcer/bin/cryosparc_database directory, terminating
2024-12-20T17:21:26.546+0900 I CONTROL  [initandlisten] now exiting
2024-12-20T17:21:26.546+0900 I CONTROL  [initandlisten] shutting down with code:100
2024-12-20T17:21:29.530+0900 I NETWORK  [listener] connection accepted from 127.0.0.1:46212 #343 (59 connections now open)
2024-12-20T17:21:29.530+0900 I NETWORK  [conn343] received client metadata from 127.0.0.1:46212 conn343: { driver: { name: "PyMongo", version: "4.8.0" }, os: { type: "Linux", name: "Linux", architecture: "x86_64", version: "6.8.0-47-generic" }, platform: "CPython 3.10.14.final.0" }
2024-12-20T17:21:29.531+0900 I NETWORK  [listener] connection accepted from 127.0.0.1:46228 #344 (60 connections now open)
2024-12-20T17:21:29.531+0900 I NETWORK  [conn344] received client metadata from 127.0.0.1:46228 conn344: { driver: { name: "PyMongo", version: "4.8.0" }, os: { type: "Linux", name: "Linux", architecture: "x86_64", version: "6.8.0-47-generic" }, platform: "CPython 3.10.14.final.0" }
2024-12-20T17:21:39.542+0900 I ACCESS   [conn344] Unauthorized: not authorized on admin to execute command { endSessions: [ { id: UUID("9fdb4622-85bd-48c3-9d7b-2a5806949785") } ], $clusterTime: { clusterTime: Timestamp(1734682890, 1), signature: { hash: BinData(0, E9A62C8A73A2D1D3CC18AA99701EC28CFAB1D469), keyId: 7428868497960075266 } }, $db: "admin", $readPreference: { mode: "primaryPreferred" } }
2024-12-20T17:21:39.543+0900 I NETWORK  [conn343] end connection 127.0.0.1:46212 (59 connections now open)
2024-12-20T17:21:39.543+0900 I NETWORK  [conn344] end connection 127.0.0.1:46228 (58 connections now open)

There are no zombie CryoSPARC processes running via ps -aux | grep cryo

There are currently no attached projects, and one (me) user account.

As there are no attached projects, I just brute-force reinstalled. That seems to have worked?

Could this be a bug updating when there are no projects in the database? I had been logged in as my web interface user minutes before updating without issue (and logged out prior). CryoSPARC stopped successfully before running update.

Never had this happen before, although it’s the first time I’ve done an update with no projects attached, hence my theory above…

Please can you post the outputs of these commands:

grep "$(df /home/cryosparcer/bin/cryosparc_database | tail -n 1 | awk '{print $(NF)}') " /proc/mounts
ls -l /home/cryosparcer/bin/cryosparc_database/mongod.lock
sudo fuser  /home/cryosparcer/bin/cryosparc_database/mongod.lock
ls -l /tmp/mongo*.sock /tmp/cryosparc*.sock
ps -eo user:16,pid,ppid,start,command | grep -e mongod -e cryosparc_
cryosparcm log database | tail -n 40
cryosparcm log supervisord | tail -n 40

As I said, I just reinstalled. I’ll run the test commands if you want on the clean install, but mostly I was just posting on the offchance that someone else had seen the same issue in the same way. :slight_smile: