Skip to content

Suprsync: Locked database crashes main process #874

@BrianJKoopman

Description

@BrianJKoopman

This relates to #798 and is caused by the pysmurf-monitor accessing the same sqlite database. Suprsync can't write to the database while it's being accessed by another process and it crashes the main process, requiring a user to restart the process.

2025-05-13 04:44:31.346 2025-05-13T04:44:31+0000 Copying files:
2025-05-13 04:44:31.346 2025-05-13T04:44:31+0000 - /data/so/timestreams/17471/ufm_mv51/1747110860_000.g3
2025-05-13 04:44:31.346 2025-05-13T04:44:31+0000 - /data/so/timestreams/17471/ufm_mv19/1747110861_000.g3
2025-05-13 04:44:31.346 2025-05-13T04:44:31+0000 - /data/so/timestreams/17471/ufm_mv18/1747110861_000.g3
2025-05-13 04:44:31.346 2025-05-13T04:44:31+0000 - /data/so/timestreams/17471/ufm_mv52r1/1747110861_000.g3
2025-05-13 04:45:23.047 2025-05-13T04:45:23+0000 Checksumming on remote.
2025-05-13 04:45:52.475 2025-05-13T04:45:52+0000 Copy session complete.
2025-05-13 04:49:56.739 2025-05-13T04:49:56+0000 run:0 CRASH: [Failure instance: Traceback: <class 'sqlalchemy.exc.OperationalError'>: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
2025-05-13 04:49:56.739 (sqlite3.OperationalError) database is locked
2025-05-13 04:49:56.739 [SQL: UPDATE timecode_dirs_v0 SET completed=? WHERE timecode_dirs_v0.id = ?]
2025-05-13 04:49:56.739 [parameters: (1, 992)]
2025-05-13 04:49:56.739 (Background on this error at: https://sqlalche.me/e/14/e3q8)
2025-05-13 04:49:56.739 /usr/lib/python3.8/threading.py:932:_bootstrap_inner
2025-05-13 04:49:56.739 /usr/lib/python3.8/threading.py:870:run
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/twisted/_threads/_threadworker.py:49:work
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/twisted/_threads/_team.py:192:doWork
2025-05-13 04:49:56.739 --- <exception caught here> ---
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/twisted/python/threadpool.py:269:inContext
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/twisted/python/threadpool.py:285:<lambda>
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/twisted/python/context.py:117:callWithContext
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/twisted/python/context.py:82:callWithContext
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/ocs/ocs_agent.py:984:_running_wrapper
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/socs/agents/suprsync/agent.py:201:run
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/socs/db/suprsync.py:461:update_all_timecode_dirs
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/socs/db/suprsync.py:491:_update_tcdir
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/query.py:2768:all
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/query.py:2903:_iter
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py:1644:execute
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/context.py:319:orm_pre_session_exec
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py:2241:_autoflush
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/util/compat.py:207:raise_
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py:2230:_autoflush
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py:3367:flush
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py:3507:_flush
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/util/langhelpers.py:70:__exit__
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/util/compat.py:207:raise_
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py:3467:_flush
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/unitofwork.py:456:execute
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/unitofwork.py:630:execute
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/persistence.py:237:save_obj
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/persistence.py:1001:_emit_update_statements
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py:1631:_execute_20
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/sql/elements.py:325:_execute_on_connection
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py:1498:_execute_clauseelement
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py:1862:_execute_context
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py:2043:_handle_dbapi_exception
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/util/compat.py:207:raise_
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py:1819:_execute_context
2025-05-13 04:49:56.739 /usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py:732:do_execute
2025-05-13 04:49:56.739 ]
2025-05-13 04:49:56.739 2025-05-13T04:49:56+0000 run:0 Status is now "done".

socs version: v0.5.0-5-g6688b61-dev

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions