matrix-org / synapse

Synapse: Matrix homeserver written in Python/Twisted.
https://matrix-org.github.io/synapse
Apache License 2.0
11.8k stars 2.13k forks source link

Synapse 1.24.0 fails to start at login_types.remove(LoginType.PASSWORD) #8914

Closed dani closed 3 years ago

dani commented 3 years ago

Description

After updating Synapse to 1.24.0, it fails to start with the following error :

déc. 10 13:49:00 mtx matrix-synapse[28371]: Traceback (most recent call last):
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
déc. 10 13:49:00 mtx matrix-synapse[28371]:     "__main__", mod_spec)
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
déc. 10 13:49:00 mtx matrix-synapse[28371]:     exec(code, run_globals)
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/opt/matrix/synapse/venv/lib/python3.6/site-packages/synapse/app/homeserver.py", line 512, in <module>
déc. 10 13:49:00 mtx matrix-synapse[28371]:     main()
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/opt/matrix/synapse/venv/lib/python3.6/site-packages/synapse/app/homeserver.py", line 507, in main
déc. 10 13:49:00 mtx matrix-synapse[28371]:     hs = setup(sys.argv[1:])
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/opt/matrix/synapse/venv/lib/python3.6/site-packages/synapse/app/homeserver.py", line 366, in setup
déc. 10 13:49:00 mtx matrix-synapse[28371]:     hs.setup()
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/opt/matrix/synapse/venv/lib/python3.6/site-packages/synapse/server.py", line 269, in setup
déc. 10 13:49:00 mtx matrix-synapse[28371]:     self.setup_background_tasks()
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/opt/matrix/synapse/venv/lib/python3.6/site-packages/synapse/server.py", line 278, in setup_background_tasks
déc. 10 13:49:00 mtx matrix-synapse[28371]:     getattr(self, "get_" + i + "_handler")()
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/opt/matrix/synapse/venv/lib/python3.6/site-packages/synapse/server.py", line 168, in _get
déc. 10 13:49:00 mtx matrix-synapse[28371]:     dep = builder(self)
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/opt/matrix/synapse/venv/lib/python3.6/site-packages/synapse/server.py", line 408, in get_auth_handler
déc. 10 13:49:00 mtx matrix-synapse[28371]:     return AuthHandler(self)
déc. 10 13:49:00 mtx matrix-synapse[28371]:   File "/opt/matrix/synapse/venv/lib/python3.6/site-packages/synapse/handlers/auth.py", line 218, in __init__
déc. 10 13:49:00 mtx matrix-synapse[28371]:     login_types.remove(LoginType.PASSWORD)
déc. 10 13:49:00 mtx matrix-synapse[28371]: ValueError: list.remove(x): x not in list

Steps to reproduce

Version information

Running on CentOS 8 with Python 3.6.8, Synapse being in a virtualenv. I'm using OIDC auth (against a Lemonldap::NG instance), so internal auth has been disabled (might be related to the issue) :

password_config:
  enabled: False
  localdb_enabled: False

Downgrading to 1.23.0 makes everything working again

clokep commented 3 years ago

I think removing localdb_enabled: False will fix the issue (since it password login will get added to the list and then removed), but the code should be handling this case.

dani commented 3 years ago

Indeed, I can confirm that removing localdb_enabled: False from the config fixes the issue, I can start Synapse again

callahad commented 3 years ago

@richvdh Assigning to you, per message in synapse-dev, if you don't mind?

SNThrailkill commented 3 years ago

+1 for removing localdb_enabled from config fixes the issue. Thanks dani. Am also running SSO against Keycloak, no local users.