#1133284 mnemosyne: sqlite3.OperationalError: database is locked

#1133284#5
Date:
2026-04-11 16:56:08 UTC
From:
To:
Dear Maintainer,

Woke up today and mnemosyne (which had been running all night,
probably for a few days) was giving me an error. attempts to close the
error resulted in the same error over and over again:

console:

qt.text.font.db: OpenType support missing for "Noto Serif Myanmar", script 11
Log body:
 An unexpected error has occurred.
Please forward the following info to the developers:

Traceback (innermost last):
  File "/usr/lib/python3/dist-packages/mnemosyne/pyqt_ui/main_wdgt.py",
line 76, in controller_heartbeat
    self.controller().heartbeat()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/controllers/default_controller.py",
line 66, in heartbeat
    self.database().backup()
    ~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/databases/SQLite.py",
line 424, in backup
    self.save()
    ~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/databases/SQLite.py",
line 402, in save
    self.con.execute("update global_variables set value=? where key=?",
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        (self.version, "version"))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/databases/_sqlite3.py",
line 76, in execute
    raise MnemosyneError("SQL error: " + sql + " " + str(*args)
        + "\n" + traceback_string())
 mnemosyne.libmnemosyne.utils.MnemosyneError: SQL error: update
global_variables set value=? where key=? ('4', 'version')

Traceback (innermost last):
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/databases/_sqlite3.py",
line 74, in execute
    self._cursor = self.connection.execute(sql, *args)
                   ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
 sqlite3.OperationalError: database is locked


An unexpected error has occurred.
Please forward the following info to the developers:

Traceback (innermost last):
  File "/usr/lib/python3/dist-packages/mnemosyne/pyqt_ui/main_wdgt.py",
line 76, in controller_heartbeat
    self.controller().heartbeat()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/controllers/default_controller.py",
line 66, in heartbeat
    self.database().backup()
    ~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/databases/SQLite.py",
line 424, in backup
    self.save()
    ~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/databases/SQLite.py",
line 402, in save
    self.con.execute("update global_variables set value=? where key=?",
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        (self.version, "version"))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/databases/_sqlite3.py",
line 76, in execute
    raise MnemosyneError("SQL error: " + sql + " " + str(*args)
        + "\n" + traceback_string())
 mnemosyne.libmnemosyne.utils.MnemosyneError: SQL error: update
global_variables set value=? where key=? ('4', 'version')

Traceback (innermost last):
  File "/usr/lib/python3/dist-packages/mnemosyne/libmnemosyne/databases/_sqlite3.py",
line 74, in execute
    self._cursor = self.connection.execute(sql, *args)
                   ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
 sqlite3.OperationalError: database is locked

etc etc

kill -9 [mnemosynepid] and then reopening mnemosyne got everything back

cheers,