This repository was archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
Synapse fails to start with ModuleNotFoundError after upgrading to 1.60.0 when python module sqlite3 is not installed #12962
Copy link
Copy link
Closed
Labels
S-TolerableMinor significance, cosmetic issues, low or no impact to users.Minor significance, cosmetic issues, low or no impact to users.X-RegressionSomething broke which worked on a previous releaseSomething broke which worked on a previous release
Description
Description
After upgrading from v1.59.1
to v1.60.0
synapse fails to start with a ModuleNotFoundError: No module named '_sqlite3'
even if PostgreSQL is being used. I didn't find any hint in the release notes that this behaviour is expected.
I found a related bug report documented in #7127 and #7155.
Trace
Traceback (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/app/homeserver.py", line 39, in <module>
from synapse.app import _base
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/app/_base.py", line 62, in <module>
from synapse.events.spamcheck import load_legacy_spam_checkers
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/events/spamcheck.py", line 31, in <module>
from synapse.rest.media.v1._base import FileInfo
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/rest/__init__.py", line 18, in <module>
from synapse.rest import admin
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/rest/admin/__init__.py", line 29, in <module>
from synapse.rest.admin._base import admin_patterns, assert_requester_is_admin
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/rest/admin/_base.py", line 19, in <module>
from synapse.api.auth import Auth
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/api/auth.py", line 36, in <module>
from synapse.storage.databases.main.registration import TokenLookupResult
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/storage/__init__.py", line 31, in <module>
from synapse.storage.databases import Databases
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/storage/databases/__init__.py", line 18, in <module>
from synapse.storage._base import SQLBaseStore
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/storage/_base.py", line 20, in <module>
from synapse.storage.database import make_in_list_sql_clause # noqa: F401; noqa: F401
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/storage/database.py", line 57, in <module>
from synapse.storage.background_updates import BackgroundUpdater
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/storage/background_updates.py", line 36, in <module>
from . import engines
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/storage/engines/__init__.py", line 18, in <module>
from .sqlite import Sqlite3Engine
File "/srv/synapse/system/lib/python3.9/site-packages/synapse/storage/engines/sqlite.py", line 15, in <module>
import sqlite3
File "/usr/local/lib/python3.9/sqlite3/__init__.py", line 57, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/lib/python3.9/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
Steps to reproduce
- stop synapse
- upgrade synapse
pip install -U matrix-synapse
- start synapse
Fix
Manual installation of databases/py-sqlite3, which is not part of the base port lang/python39, solves the issue.
(Rolling back with pip install matrix-synapse==1.59.1
also solves the issue.)
Version information
Version:
Homeserver running on v1.59.1
trying an upgrade to v1.60.0
Platform:
Python 3.9.13
PostgreSQL 13.7
FreeBSD 13.1-RELEASE
Metadata
Metadata
Assignees
Labels
S-TolerableMinor significance, cosmetic issues, low or no impact to users.Minor significance, cosmetic issues, low or no impact to users.X-RegressionSomething broke which worked on a previous releaseSomething broke which worked on a previous release