Skip to content

Login/Logout issue on Airflow 3.1.1/3.1.2 using default FAB installation #57976

@gavrik

Description

@gavrik

Apache Airflow version

3.1.2

If "Other Airflow 2/3 version" selected, which one?

3.1.1

What happened?

While you want to login/logout the Internal Server Error is shown in the browser.
Removing cookies doesn't help.

Airflow 3.1.0 doesn't have such problem.

The log output

`
Nov 06 10:30:09 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:51486 - "GET / HTTP/1.1" 200 OK
Nov 06 10:30:09 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:51486 - "GET /ui/config HTTP/1.1" 401 Unauthorized
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:51486 - "GET /api/v2/auth/login?next=http%3A%2F%2F172.20.81.200%3A8088%2F HTTP/1.1" 307 Temporary Redirect
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:64457 - "GET /ui/auth/menus HTTP/1.1" 401 Unauthorized
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:51486 - "GET /ui/config HTTP/1.1" 401 Unauthorized
Nov 06 10:30:10 grafana-sandbox airflow[1018682]: INFO: 10.250.10.36:53481 - "GET /api/v2/plugins HTTP/1.1" 401 Unauthorized
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:55275 - "GET /api/v2/version HTTP/1.1" 200 OK
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: 2025-11-06T15:30:10.281007Z [error ] Exception on /login/ [GET] [airflow.providers.fab.www.app] loc=app.py:1744
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: Traceback (most recent call last):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 2528, in wsgi_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ctx.push()
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/ctx.py", line 375, in push
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: self.session = session_interface.open_session(self.app, self.request)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/sessions.py", line 363, in open_session
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: s = self.get_signing_serializer(app)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/sessions.py", line 353, in get_signing_serializer
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: return URLSafeTimedSerializer(
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/itsdangerous/serializer.py", line 222, in init
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: self.is_text_serializer: bool = is_text_serializer(serializer)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/itsdangerous/serializer.py", line 39, in is_text_serializer
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: return isinstance(serializer.dumps({}), str)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: AttributeError: '_LazySafeSerializer' object has no attribute 'dumps'
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:50323 - "GET /auth/login/?next=http://172.20.81.200:8088/ HTTP/1.1" 500 Internal Server Error
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ERROR: Exception in ASGI application
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: + Exception Group Traceback (most recent call last):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | result = await app( # type: ignore[func-returns-value]
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/fastapi/applications.py", line 1082, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await super().call(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/applications.py", line 113, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.middleware_stack(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 186, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise exc
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 164, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, _send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/gzip.py", line 29, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await responder(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/gzip.py", line 130, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await super().call(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/gzip.py", line 46, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, self.send_with_compression)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/cors.py", line 85, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise exc
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await app(scope, receive, sender)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 716, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.middleware_stack(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 736, in app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await route.handle(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 462, in handle
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/fastapi/applications.py", line 1082, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await super().call(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/applications.py", line 113, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.middleware_stack(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 186, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise exc
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 164, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, _send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise exc
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await app(scope, receive, sender)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 716, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.middleware_stack(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 736, in app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await route.handle(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 462, in handle
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/wsgi.py", line 81, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await responder(receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/wsgi.py", line 106, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | async with anyio.create_task_group() as task_group:
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/anyio/_backends/_asyncio.py", line 781, in aexit
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise BaseExceptionGroup(
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: +-+---------------- 1 ----------------
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | Traceback (most recent call last):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 2528, in wsgi_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ctx.push()
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/ctx.py", line 375, in push
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | self.session = session_interface.open_session(self.app, self.request)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/sessions.py", line 363, in open_session
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | s = self.get_signing_serializer(app)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/sessions.py", line 353, in get_signing_serializer
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return URLSafeTimedSerializer(
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/itsdangerous/serializer.py", line 222, in init
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | self.is_text_serializer: bool = is_text_serializer(serializer)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/itsdangerous/serializer.py", line 39, in is_text_serializer
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return isinstance(serializer.dumps({}), str)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | AttributeError: '_LazySafeSerializer' object has no attribute 'dumps'
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: |
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | During handling of the above exception, another exception occurred:
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: |
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | Traceback (most recent call last):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/wsgi.py", line 109, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await anyio.to_thread.run_sync(self.wsgi, environ, self.start_response)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return await get_async_backend().run_sync_in_worker_thread(
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2485, in run_sync_in_worker_thread
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return await future
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/anyio/_backends/_asyncio.py", line 976, in run
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | result = context.run(func, *args)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/wsgi.py", line 147, in wsgi
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | for chunk in self.app(environ, start_response):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 2552, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return self.wsgi_app(environ, start_response)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 2532, in wsgi_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | response = self.handle_exception(e)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 1727, in handle_exception
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | server_error = self.ensure_sync(handler)(server_error)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/airflow/providers/fab/www/views.py", line 88, in show_traceback
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return render_template("airflow/traceback.html"), 500
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/templating.py", line 147, in render_template
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return _render(app, template, context)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/templating.py", line 128, in _render
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | app.update_template_context(context)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 997, in update_template_context
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | context.update(func())
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask_login/utils.py", line 405, in _user_context_processor
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return dict(current_user=_get_user())
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask_login/utils.py", line 370, in _get_user
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | current_app.login_manager._load_user()
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask_login/login_manager.py", line 362, in _load_user
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | user_id = session.get("_user_id")
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | AttributeError: 'NoneType' object has no attribute 'get'
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: +------------------------------------
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:64457 - "GET /api/v2/auth/login?next=http%3A%2F%2F172.20.81.200%3A8088%2F HTTP/1.1" 307 Temporary Redirect
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:51486 - "GET /api/v2/auth/login?next=http%3A%2F%2F172.20.81.200%3A8088%2F HTTP/1.1" 307 Temporary Redirect
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:55275 - "GET /api/v2/auth/login?next=http%3A%2F%2F172.20.81.200%3A8088%2F HTTP/1.1" 307 Temporary Redirect
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: 2025-11-06T15:30:10.633694Z [error ] Exception on /login/ [GET] [airflow.providers.fab.www.app] loc=app.py:1744
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: Traceback (most recent call last):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 2528, in wsgi_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ctx.push()
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/ctx.py", line 375, in push
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: self.session = session_interface.open_session(self.app, self.request)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/sessions.py", line 363, in open_session
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: s = self.get_signing_serializer(app)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/sessions.py", line 353, in get_signing_serializer
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: return URLSafeTimedSerializer(
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/itsdangerous/serializer.py", line 222, in init
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: self.is_text_serializer: bool = is_text_serializer(serializer)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: File "/u01/users/airflow/.env/lib64/python3.12/site-packages/itsdangerous/serializer.py", line 39, in is_text_serializer
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: return isinstance(serializer.dumps({}), str)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: AttributeError: '_LazySafeSerializer' object has no attribute 'dumps'
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: INFO: 10.250.10.36:55275 - "GET /auth/login/?next=http://172.20.81.200:8088/ HTTP/1.1" 500 Internal Server Error
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: ERROR: Exception in ASGI application
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: + Exception Group Traceback (most recent call last):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | result = await app( # type: ignore[func-returns-value]
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/fastapi/applications.py", line 1082, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await super().call(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/applications.py", line 113, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.middleware_stack(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 186, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise exc
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 164, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, _send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/gzip.py", line 29, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await responder(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/gzip.py", line 130, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await super().call(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/gzip.py", line 46, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, self.send_with_compression)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/cors.py", line 85, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise exc
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await app(scope, receive, sender)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 716, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.middleware_stack(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 736, in app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await route.handle(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 462, in handle
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/fastapi/applications.py", line 1082, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await super().call(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/applications.py", line 113, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.middleware_stack(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 186, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise exc
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 164, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, _send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise exc
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await app(scope, receive, sender)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 716, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.middleware_stack(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 736, in app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await route.handle(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/routing.py", line 462, in handle
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await self.app(scope, receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/wsgi.py", line 81, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await responder(receive, send)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/wsgi.py", line 106, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | async with anyio.create_task_group() as task_group:
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/anyio/_backends/_asyncio.py", line 781, in aexit
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | raise BaseExceptionGroup(
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: +-+---------------- 1 ----------------
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | Traceback (most recent call last):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 2528, in wsgi_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ctx.push()
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/ctx.py", line 375, in push
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | self.session = session_interface.open_session(self.app, self.request)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/sessions.py", line 363, in open_session
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | s = self.get_signing_serializer(app)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/sessions.py", line 353, in get_signing_serializer
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return URLSafeTimedSerializer(
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/itsdangerous/serializer.py", line 222, in init
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | self.is_text_serializer: bool = is_text_serializer(serializer)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/itsdangerous/serializer.py", line 39, in is_text_serializer
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return isinstance(serializer.dumps({}), str)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | AttributeError: '_LazySafeSerializer' object has no attribute 'dumps'
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: |
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | During handling of the above exception, another exception occurred:
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: |
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | Traceback (most recent call last):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/wsgi.py", line 109, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | await anyio.to_thread.run_sync(self.wsgi, environ, self.start_response)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return await get_async_backend().run_sync_in_worker_thread(
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2485, in run_sync_in_worker_thread
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return await future
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/anyio/_backends/_asyncio.py", line 976, in run
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | result = context.run(func, *args)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/starlette/middleware/wsgi.py", line 147, in wsgi
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | for chunk in self.app(environ, start_response):
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 2552, in call
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return self.wsgi_app(environ, start_response)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 2532, in wsgi_app
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | response = self.handle_exception(e)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 1727, in handle_exception
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | server_error = self.ensure_sync(handler)(server_error)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/airflow/providers/fab/www/views.py", line 88, in show_traceback
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return render_template("airflow/traceback.html"), 500
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/templating.py", line 147, in render_template
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return _render(app, template, context)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/templating.py", line 128, in _render
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | app.update_template_context(context)
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask/app.py", line 997, in update_template_context
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | context.update(func())
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask_login/utils.py", line 405, in _user_context_processor
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | return dict(current_user=_get_user())
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask_login/utils.py", line 370, in _get_user
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | current_app.login_manager._load_user()
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | File "/u01/users/airflow/.env/lib64/python3.12/site-packages/flask_login/login_manager.py", line 362, in _load_user
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | user_id = session.get("_user_id")
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | ^^^^^^^^^^^
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: | AttributeError: 'NoneType' object has no attribute 'get'
Nov 06 10:30:10 grafana-sandbox airflow[1018681]: +------------------------------------
Nov 06 10:30:10 grafana-sandbox airflow[1018682]: INFO: 10.250.10.36:53481 - "GET /favicon.ico HTTP/1.1" 200 OK

`

What you think should happen instead?

No response

How to reproduce

Setup Airflow 3.1.2 on python3.12

Operating System

RedHat 9

Versions of Apache Airflow Providers

No response

Deployment

Virtualenv installation

Deployment details

The SH script for installation
`
AIRFLOW_VERSION=3.1.2
PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"
echo "Install Airflow for python " ${PYTHON_VERSION}
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
pip install "apache-airflow[celery,postgres,google,oracle,ssh,fab,http,smtp,ftp]==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

airflow db migrate
`

Anything else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions