--- Begin Message ---
Package: glances
Version: 4.0.5+dfsg-1
I use glances with Debian testing and with API mode, so I can query glances
parameters over the included REST interface:
glances -w --disable-webui -B 0.0.0.0
But since version 4, this seems to be broken in Debian, because there is no
"orjson" library found (orjson python package is not available in Debian
testing).
Steps to reproduce:
1.) start glances in RESTful API mode:
glances -w --disable-webui -B 0.0.0.0
2.) access API, eg. status:
curl http://localhost:61208/api/4/status
it returns: "Internal Server Error"
and glances log-file logs the following error message:
Jun 21 10:20:47 mapout systemd[1]: Started glances.service - Glances.
Jun 21 10:20:47 mapout glances[1168]: INFO: Started server process [1168]
Jun 21 10:20:47 mapout glances[1168]: INFO: Waiting for application startup.
Jun 21 10:20:47 mapout glances[1168]: INFO: Application startup complete.
Jun 21 10:20:47 mapout glances[1168]: INFO: Uvicorn running on
http://0.0.0.0:61208 (Press CTRL+C to quit)
Jun 21 14:23:41 mapout glances[1168]: ERROR: Exception in ASGI application
Jun 21 14:23:41 mapout glances[1168]: Traceback (most recent call last):
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/uvicorn/protocols/http/h11_impl.py", line 407,
in run_asgi
Jun 21 14:23:41 mapout glances[1168]: result = await app( # type:
ignore[func-returns-value]
Jun 21 14:23:41 mapout glances[1168]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/uvicorn/middleware/proxy_headers.py", line 69,
in __call__
Jun 21 14:23:41 mapout glances[1168]: return await self.app(scope, receive,
send)
Jun 21 14:23:41 mapout glances[1168]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/fastapi/applications.py", line 1054, in __call__
Jun 21 14:23:41 mapout glances[1168]: await super().__call__(scope,
receive, send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/applications.py", line 123, in
__call__
Jun 21 14:23:41 mapout glances[1168]: await self.middleware_stack(scope,
receive, send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/middleware/errors.py", line 186, in
__call__
Jun 21 14:23:41 mapout glances[1168]: raise exc
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/middleware/errors.py", line 164, in
__call__
Jun 21 14:23:41 mapout glances[1168]: await self.app(scope, receive, _send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/middleware/gzip.py", line 26, in
__call__
Jun 21 14:23:41 mapout glances[1168]: await self.app(scope, receive, send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/middleware/cors.py", line 85, in
__call__
Jun 21 14:23:41 mapout glances[1168]: await self.app(scope, receive, send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/middleware/exceptions.py", line 65,
in __call__
Jun 21 14:23:41 mapout glances[1168]: await
wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/_exception_handler.py", line 64, in
wrapped_app
Jun 21 14:23:41 mapout glances[1168]: raise exc
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/_exception_handler.py", line 53, in
wrapped_app
Jun 21 14:23:41 mapout glances[1168]: await app(scope, receive, sender)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/routing.py", line 756, in __call__
Jun 21 14:23:41 mapout glances[1168]: await self.middleware_stack(scope,
receive, send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/routing.py", line 776, in app
Jun 21 14:23:41 mapout glances[1168]: await route.handle(scope, receive,
send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/routing.py", line 297, in handle
Jun 21 14:23:41 mapout glances[1168]: await self.app(scope, receive, send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/routing.py", line 77, in app
Jun 21 14:23:41 mapout glances[1168]: await
wrap_app_handling_exceptions(app, request)(scope, receive, send)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/_exception_handler.py", line 64, in
wrapped_app
Jun 21 14:23:41 mapout glances[1168]: raise exc
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/_exception_handler.py", line 53, in
wrapped_app
Jun 21 14:23:41 mapout glances[1168]: await app(scope, receive, sender)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/routing.py", line 72, in app
Jun 21 14:23:41 mapout glances[1168]: response = await func(request)
Jun 21 14:23:41 mapout glances[1168]: ^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/fastapi/routing.py", line 278, in app
Jun 21 14:23:41 mapout glances[1168]: raw_response = await
run_endpoint_function(
Jun 21 14:23:41 mapout glances[1168]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/fastapi/routing.py", line 193, in
run_endpoint_function
Jun 21 14:23:41 mapout glances[1168]: return await
run_in_threadpool(dependant.call, **values)
Jun 21 14:23:41 mapout glances[1168]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/concurrency.py", line 42, in
run_in_threadpool
Jun 21 14:23:41 mapout glances[1168]: return await
anyio.to_thread.run_sync(func, *args)
Jun 21 14:23:41 mapout glances[1168]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/anyio/to_thread.py", line 56, in run_sync
Jun 21 14:23:41 mapout glances[1168]: return await
get_async_backend().run_sync_in_worker_thread(
Jun 21 14:23:41 mapout glances[1168]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/anyio/_backends/_asyncio.py", line 2144, in
run_sync_in_worker_thread
Jun 21 14:23:41 mapout glances[1168]: return await future
Jun 21 14:23:41 mapout glances[1168]: ^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/anyio/_backends/_asyncio.py", line 851, in run
Jun 21 14:23:41 mapout glances[1168]: result = context.run(func, *args)
Jun 21 14:23:41 mapout glances[1168]: ^^^^^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/glances/outputs/glances_restful_api.py", line
361, in _api_status
Jun 21 14:23:41 mapout glances[1168]: return ORJSONResponse({'version':
__version__})
Jun 21 14:23:41 mapout glances[1168]:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/responses.py", line 184, in __init__
Jun 21 14:23:41 mapout glances[1168]: super().__init__(content,
status_code, headers, media_type, background)
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/starlette/responses.py", line 41, in __init__
Jun 21 14:23:41 mapout glances[1168]: self.body = self.render(content)
Jun 21 14:23:41 mapout glances[1168]: ^^^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: File
"/usr/lib/python3/dist-packages/fastapi/responses.py", line 45, in render
Jun 21 14:23:41 mapout glances[1168]: assert orjson is not None, "orjson
must be installed to use ORJSONResponse"
Jun 21 14:23:41 mapout glances[1168]: ^^^^^^^^^^^^^^^^^^
Jun 21 14:23:41 mapout glances[1168]: AssertionError: orjson must be installed
to use ORJSONResponse
--- End Message ---