Hi Peter,
I hope that I can also report bugs here. I noticed already for a long time that the sync operation always fails when one tries to sync while the server database is open. Here you will also find the stack trace (on an Ubuntu system):
Traceback (innermost last):
File "/usr/local/lib/python3.10/dist-packages/Mnemosyne-2.9-py3.10.egg/openSM2sync/server.py", line 326, in put_login
session = self.create_session(client_info)
File "/usr/local/lib/python3.10/dist-packages/Mnemosyne-2.9-py3.10.egg/openSM2sync/server.py", line 177, in create_session
session = Session(client_info, database)
File "/usr/local/lib/python3.10/dist-packages/Mnemosyne-2.9-py3.10.egg/openSM2sync/server.py", line 53, in __init__
self.backup_file = self.database.backup()
File "/usr/local/lib/python3.10/dist-packages/Mnemosyne-2.9-py3.10.egg/mnemosyne/libmnemosyne/databases/SQLite.py", line 424, in backup
self.save()
File "/usr/local/lib/python3.10/dist-packages/Mnemosyne-2.9-py3.10.egg/mnemosyne/libmnemosyne/databases/SQLite.py", line 405, in save
self.con.commit()
File "/usr/local/lib/python3.10/dist-packages/Mnemosyne-2.9-py3.10.egg/mnemosyne/libmnemosyne/databases/_sqlite3.py", line 95, in commit
return self.connection.commit()
sqlite3.OperationalError: database is locked
The error is not the end of the world since one can just fix it by closing the database and syncing again. However, maybe you can catch the exception and give the user a warning that one cannot sync when the database is open.
Best regards,
Christoph