Furthermore, if we look at the rhodecode logs, this may trigger an invalid method call:
rhodecode-1 | 2024-07-11 08:10:31 [42] [ERROR] Error handling request /_admin/channelstream/connect
rhodecode-1 | Traceback (most recent call last):
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/tweens.py", line 41, in excview_tween
rhodecode-1 | response = handler(request)
rhodecode-1 | ^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/router.py", line 139, in handle_request
rhodecode-1 | has_listeners and notify(ContextFound(request))
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/registry.py", line 103, in notify
rhodecode-1 | [_ for _ in self.subscribers(events, None)]
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/zope/interface/registry.py", line 446, in subscribers
rhodecode-1 | return self.adapters.subscribers(objects, provided)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/zope/interface/adapter.py", line 896, in subscribers
rhodecode-1 | subscription(*objects)
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/config/adapters.py", line 97, in derived_subscriber
rhodecode-1 | return subscriber(arg[0])
rhodecode-1 | ^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/subscribers.py", line 93, in add_request_user_context
rhodecode-1 | auth_user, auth_token = get_auth_user(request)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/lib/base.py", line 485, in get_auth_user
rhodecode-1 | cookie_store = CookieStoreWrapper(session.get('rhodecode_user'))
rhodecode-1 | ^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 789, in __getattr__
rhodecode-1 | return getattr(self._session(), attr)
rhodecode-1 | ^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 785, in _session
rhodecode-1 | self.__dict__['_sess'] = session_cls(req, **params)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 227, in __init__
rhodecode-1 | self.load()
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 415, in load
rhodecode-1 | session_data = self._decrypt_data(session_data)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 372, in _decrypt_data
rhodecode-1 | data = b64decode(session_data)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/_compat.py", line 37, in b64decode
rhodecode-1 | return _b64decode(b.encode('ascii'))
rhodecode-1 | ^^^^^^^^
rhodecode-1 | AttributeError: 'dict' object has no attribute 'encode'
rhodecode-1 |
rhodecode-1 | During handling of the above exception, another exception occurred:
rhodecode-1 |
rhodecode-1 | Traceback (most recent call last):
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 135, in handle
rhodecode-1 | self.handle_request(listener, req, client, addr)
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 178, in handle_request
rhodecode-1 | respiter = self.wsgi(environ, resp.start_response)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/config/middleware.py", line 452, in pyramid_app_with_cleanup
rhodecode-1 | return pyramid_app(environ, start_response)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/lib/middleware/https_fixup.py", line 45, in __call__
rhodecode-1 | return self.application(environ, custom_start_response)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/router.py", line 270, in __call__
rhodecode-1 | response = self.execution_policy(environ, self)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/router.py", line 276, in default_execution_policy
rhodecode-1 | return router.invoke_request(request)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/router.py", line 245, in invoke_request
rhodecode-1 | response = handle_request(request)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/lib/middleware/request_wrapper.py", line 54, in __call__
rhodecode-1 | response = self.handler(request)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/tweens.py", line 104, in sanity_check
rhodecode-1 | return handler(request)
rhodecode-1 | ^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/tweens.py", line 56, in vcs_detection_tween
rhodecode-1 | return handler(request)
rhodecode-1 | ^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/tweens.py", line 43, in excview_tween
rhodecode-1 | response = _error_handler(request, exc)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/tweens.py", line 13, in _error_handler
rhodecode-1 | response = request.invoke_exception_view(exc_info)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/view.py", line 765, in invoke_exception_view
rhodecode-1 | response = _call_view(
rhodecode-1 | ^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/view.py", line 674, in _call_view
rhodecode-1 | response = view_callable(context, request)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/pyramid/viewderivers.py", line 392, in viewresult_to_response
rhodecode-1 | result = view(context, request)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/config/middleware.py", line 234, in error_handler
rhodecode-1 | c.messages = helpers.flash.pop_messages(request=request)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/lib/helpers.py", line 744, in pop_messages
rhodecode-1 | for cat, msg in session.pop(self.session_key, []):
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/lib/rc_beaker.py", line 136, in save
rhodecode-1 | value = wrapped(session, *arg, **kw)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/rhodecode/lib/rc_beaker.py", line 91, in pop
rhodecode-1 | return self._session().pop(k, d)
rhodecode-1 | ^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 785, in _session
rhodecode-1 | self.__dict__['_sess'] = session_cls(req, **params)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 227, in __init__
rhodecode-1 | self.load()
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 415, in load
rhodecode-1 | session_data = self._decrypt_data(session_data)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/session.py", line 372, in _decrypt_data
rhodecode-1 | data = b64decode(session_data)
rhodecode-1 | ^^^^^^^^^^^^^^^^^^^^^^^
rhodecode-1 | File "/home/rhodecode/venv/lib/python3.11/site-packages/beaker/_compat.py", line 37, in b64decode
rhodecode-1 | return _b64decode(b.encode('ascii'))
rhodecode-1 | ^^^^^^^^
rhodecode-1 | AttributeError: 'dict' object has no attribute 'encode'
I didn’t see this error before, but confirm on your side to see if this is related.