Solved Matrix Synapse server broke after update

Hi
Could you help me, please, with Matrix Synapse server [net-im/py-matrix-synapse]
Initial state was: FreeBSD 14.4-RELEASE, Matrix Synapse 1.138.0_6. Everything worked fine.
Updated system to FreeBSD 15.0-RELEASE, updated/reinstalled all packages, including Matrix Synapse: 1.138.0_6 -> 1.151.0
After restart the Matrix Synapse server is not responding, log is filled with repeated messages:

Code:
2026-05-10 17:01:51,128 - twisted - 273 - CRITICAL - sentinel - Unhandled Error
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/twisted/internet/posixbase.py", line 491, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/local/lib/python3.11/site-packages/twisted/internet/tcp.py", line 250, in doRead
    return self._dataReceived(data)
  File "/usr/local/lib/python3.11/site-packages/twisted/internet/tcp.py", line 255, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/usr/local/lib/python3.11/site-packages/twisted/protocols/tls.py", line 339, in dataReceived
    self._flushReceiveBIO()
  File "/usr/local/lib/python3.11/site-packages/twisted/protocols/tls.py", line 305, in _flushReceiveBIO
    ProtocolWrapper.dataReceived(self, bytes)
  File "/usr/local/lib/python3.11/site-packages/twisted/protocols/policies.py", line 110, in dataReceived
    self.wrappedProtocol.dataReceived(data)
  File "/usr/local/lib/python3.11/site-packages/twisted/web/http.py", line 2368, in dataReceived
    basic.LineReceiver.dataReceived(self, data)
  File "/usr/local/lib/python3.11/site-packages/twisted/protocols/basic.py", line 549, in dataReceived
    why = self.lineReceived(line)
  File "/usr/local/lib/python3.11/site-packages/twisted/web/http.py", line 2420, in lineReceived
    self.allHeadersReceived()
  File "/usr/local/lib/python3.11/site-packages/twisted/web/http.py", line 2623, in allHeadersReceived
    self.persistent = self.checkPersistence(req, self._version)
builtins.AttributeError: 'SynapseProtocol' object has no attribute '_version'

My server config:
Code:
server_name: "my-domain.com"
public_baseurl: "https://my-domain.com:8448/"
default_identity_server: "https://my-domain.com:8448/"

pid_file: "/var/run/matrix-synapse/homeserver.pid"

listeners:
  - port: 8448
    tls: true
    type: http
    resources:
      - names: [client, federation]
        compress: false
database:
  name: sqlite3
  args:
    database: "/usr/local/matrix-synapse/homeserver.db"

log_config: "/usr/local/etc/matrix-synapse/my-domain.com.log.config"

media_store_path: "/usr/local/matrix-synapse/media_store"

registration_shared_secret: "shared_secret"

report_stats: false

macaroon_secret_key: "secret_key"
form_secret: "form_secret"

signing_key_path: "/usr/local/etc/matrix-synapse/my-domain.com.signing.key"

tls_certificate_path: "/usr/local/matrix-synapse/certs/my-domain.com/fullchain.pem"
tls_private_key_path: "/usr/local/matrix-synapse/certs/my-domain.com/privkey.pem"

trusted_key_servers:
  - server_name: "my-domain.com"
suppress_key_server_warning: true

# vim:ft=yaml

Connection to the Matrix server is direct, without reverse proxy.
Matrix clients are Windows Desktop Element 1.12.17 and Android Element Classic 1.6.54.
Server certificates are maintained with Let's Encrypt CertBot.

Could someone help me to resolve this issue?
 
Solved the issue with NGINX reverse proxy "workaround". I know this is a recommended option, but in my case it is just a small internal communication server, and I prefer to have bare minimum soft running on it.
So, if someone can help with resolving this Synapse TLS-related issue without extra web servers - I'll appreciate it.
Thanks
 
Back
Top