Error when zipping huge scans
Images folder is 2.6GB - not sure if this is a memory error with trying to zip a 2.6GB scan on a 2GB Pi?
Feb 09 11:57:56 microscope2 uvicorn[17290]: INFO: 169.254.87.184:59668 - "GET /action_invocations/6b3abd7f-63fd-4bdd-99a5-a2cb7fca65d1 HTTP/1.1" 500 Internal Server Error
Feb 09 11:57:56 microscope2 uvicorn[17290]: ERROR: Exception in ASGI application
Feb 09 11:57:56 microscope2 uvicorn[17290]: Traceback (most recent call last):
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 426, in run_asgi
Feb 09 11:57:56 microscope2 uvicorn[17290]: result = await app( # type: ignore[func-returns-value]
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in call
Feb 09 11:57:56 microscope2 uvicorn[17290]: return await self.app(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
Feb 09 11:57:56 microscope2 uvicorn[17290]: await super().call(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/applications.py", line 123, in call
Feb 09 11:57:56 microscope2 uvicorn[17290]: await self.middleware_stack(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in call
Feb 09 11:57:56 microscope2 uvicorn[17290]: raise exc
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in call
Feb 09 11:57:56 microscope2 uvicorn[17290]: await self.app(scope, receive, _send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/middleware/cors.py", line 83, in call
Feb 09 11:57:56 microscope2 uvicorn[17290]: await self.app(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in call
Feb 09 11:57:56 microscope2 uvicorn[17290]: await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
Feb 09 11:57:56 microscope2 uvicorn[17290]: raise exc
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
Feb 09 11:57:56 microscope2 uvicorn[17290]: await app(scope, receive, sender)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/routing.py", line 762, in call
Feb 09 11:57:56 microscope2 uvicorn[17290]: await self.middleware_stack(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/routing.py", line 782, in app
Feb 09 11:57:56 microscope2 uvicorn[17290]: await route.handle(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
Feb 09 11:57:56 microscope2 uvicorn[17290]: await self.app(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
Feb 09 11:57:56 microscope2 uvicorn[17290]: await wrap_app_handling_exceptions(app, request)(scope, receive, send)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
Feb 09 11:57:56 microscope2 uvicorn[17290]: raise exc
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
Feb 09 11:57:56 microscope2 uvicorn[17290]: await app(scope, receive, sender)
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
Feb 09 11:57:56 microscope2 uvicorn[17290]: response = await func(request)
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app
Feb 09 11:57:56 microscope2 uvicorn[17290]: raise e
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app
Feb 09 11:57:56 microscope2 uvicorn[17290]: raw_response = await run_endpoint_function(
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 193, in run_endpoint_function
Feb 09 11:57:56 microscope2 uvicorn[17290]: return await run_in_threadpool(dependant.call, **values)
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 40, in run_in_threadpool
Feb 09 11:57:56 microscope2 uvicorn[17290]: return await anyio.to_thread.run_sync(func, *args)
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 56, in run_sync
Feb 09 11:57:56 microscope2 uvicorn[17290]: return await get_async_backend().run_sync_in_worker_thread(
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2134, in run_sync_in_worker_thread
Feb 09 11:57:56 microscope2 uvicorn[17290]: return await future
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/openflexure-microscope-server/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 851, in run
Feb 09 11:57:56 microscope2 uvicorn[17290]: result = context.run(func, *args)
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/labthings-fastapi/src/labthings_fastapi/actions/init.py", line 322, in action_invocation
Feb 09 11:57:56 microscope2 uvicorn[17290]: return self._invocations[id].response(request=request)
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/labthings-fastapi/src/labthings_fastapi/actions/init.py", line 161, in response
Feb 09 11:57:56 microscope2 uvicorn[17290]: output=blob_to_link(self.output, href + "/output"),
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/labthings-fastapi/src/labthings_fastapi/outputs/blob.py", line 137, in blob_to_link
Feb 09 11:57:56 microscope2 uvicorn[17290]: if is_blob_output(output):
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/labthings-fastapi/src/labthings_fastapi/outputs/blob.py", line 66, in is_blob_output
Feb 09 11:57:56 microscope2 uvicorn[17290]: if not hasattr(obj, attr):
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^^^^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: File "/var/openflexure/application/labthings-fastapi/src/labthings_fastapi/outputs/blob.py", line 181, in content
Feb 09 11:57:56 microscope2 uvicorn[17290]: return f.read()
Feb 09 11:57:56 microscope2 uvicorn[17290]: ^^^^^^^^
Feb 09 11:57:56 microscope2 uvicorn[17290]: OverflowError: unbounded read returned more bytes than a Python bytes object can hold