-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tree falls on broken external HDF5 links #888
Comments
Thanks for looking into this... But I must be doing something wrong with the install, I get the following importerror, that does not resolve with an upgrade of dask....: │ /Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/tiled/server/etag.py:1 in <module> │
│ │
│ ❱ 1 from dask.base import normalize_object, normalize_token │
│ 2 from dask.base import tokenize as dask_tokenize │
│ 3 │
│ 4 │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
ImportError: cannot import name 'normalize_object' from 'dask.base'
(/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/dask/base.py) Dask version seems to be: {
"date": "2025-02-13T17:00:59-0600",
"dirty": false,
"error": null,
"full-revisionid": "4d71629d1f22ced0dd780919f22e70a642ec6753",
"version": "2025.2.0"
} |
This looks like a very recent backward-incompatible change in dask. Recently there have been a wave of changes to dask APIs that I would have considered "public" based on their names, but are not treated as public by the current maintainers. Try downgrading dask for the purposes of this issue, and we'll open a separate issue to look at managing this change in dask. |
Actually, I take that back. This code does address a backward-incompatible change in dask, but it happened in 2024.9.0. Lines 1 to 9 in 819d194
In the current version of dask, the function is still here: https://github.com/dask/dask/blob/e260e34e6db8b0b883e8323623abfd0e9499e508/dask/tokenize.py#L195 Are you able to |
Thanks for taking a look. dask.tokenize can be imported yes. |
Then, the question why you are ending up the |
with me, etag.py starts like this: from dask.base import normalize_object, normalize_token
from dask.base import tokenize as dask_tokenize
def tokenize(obj):
# This just uses dask for now but may evolve to something custom in future.
return dask_tokenize(obj) so it seems it's not the right version. it was tiled-0.1.0b6.dev1+g356dbab I see you're about 13 steps ahead though. So, after cloning and switching to the tree-skip-errors branch, when I run it on my directory, I get a few ... angry comments from tree(client): ├── MOUSE_20250125_2_164_processed_250129_182256
SKIPPING due to error: Server error '500 Internal Server Error' for url 'http://localhost:8000/api/v1/search/MOUSE_20250125_2_164_processed_250129_182256?page%5Boffset%5D=0&sort='
For more information, server admin can search server logs for correlation ID dfafd026e2c19b7d.
SKIPPING due to error: [Errno 54] Connection reset by peer
├── MOUSE_20250125_2_221_processed_250129_182341
SKIPPING due to error: Server error '500 Internal Server Error' for url 'http://localhost:8000/api/v1/search/MOUSE_20250125_2_221_processed_250129_182341?page%5Boffset%5D=0&sort='
For more information, server admin can search server logs for correlation ID 7653ac7d2650cb85.
SKIPPING due to error: [Errno 54] Connection reset by peer
├── MOUSE_20250125_2_117_processed_250129_182218
SKIPPING due to error: Server error '500 Internal Server Error' for url 'http://localhost:8000/api/v1/search/MOUSE_20250125_2_117_processed_250129_182218?page%5Boffset%5D=0&sort='
For more information, server admin can search server logs for correlation ID 7ab64dd0f4d4e499.
SKIPPING due to error: [Errno 54] Connection reset by peer
├── MOUSE_20250125_2_72_processed_250129_182143
SKIPPING due to error: Server error '500 Internal Server Error' for url 'http://localhost:8000/api/v1/search/MOUSE_20250125_2_72_processed_250129_182143?page%5Boffset%5D=0&sort='
For more information, server admin can search server logs for correlation ID 5671607ebd98683f.
SKIPPING due to error: [Errno 54] Connection reset by peer
├── MOUSE_20250125_2_4_processed_250129_182050
SKIPPING due to error: Server error '500 Internal Server Error' for url 'http://localhost:8000/api/v1/search/MOUSE_20250125_2_4_processed_250129_182050?page%5Boffset%5D=0&sort='
For more information, server admin can search server logs for correlation ID 86fc4a383f4a6011.
SKIPPING due to error: [Errno 54] Connection reset by peer
├── MOUSE_20250125_2_53_processed_250129_182128
SKIPPING due to error: Server error '500 Internal Server Error' for url 'http://localhost:8000/api/v1/search/MOUSE_20250125_2_53_processed_250129_182128?page%5Boffset%5D=0&sort='
For more information, server admin can search server logs for correlation ID 52a27e6a5fa9791a.
SKIPPING due to error: [Errno 54] Connection reset by peer
├── MOUSE_20250125_2_40_processed_250129_182117
SKIPPING due to error: Server error '500 Internal Server Error' for url 'http://localhost:8000/api/v1/search/MOUSE_20250125_2_40_processed_250129_182117?page%5Boffset%5D=0&sort='
For more information, server admin can search server logs for correlation ID 203991ceb7859f2e.
<Output truncated at 20 lines. Adjust tree's max_lines parameter to see more.> And in the terminal running the server, I see it is equally unhappy: 200 OK
[cf7445f9b98f69d5] 127.0.0.1:53651 (public) - "GET /api/v1/search/MOUSE_20250125_2_53_processed_250129_182128?fields=&sort= HTTP/1.1" 200 OK
[52a27e6a5fa9791a] 127.0.0.1:53651 (public) - "GET /api/v1/search/MOUSE_20250125_2_53_processed_250129_182128?page%5Boffset%5D=0&sort= HTTP/1.1" 500 Internal Server Error
[52a27e6a5fa9791a] ERROR: Exception in ASGI application
+ Exception Group Traceback (most recent call last):
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 76, in collapse_excgroups
| yield
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 178, in __call__
| async with anyio.create_task_group() as task_group:
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 767, in __aexit__
| raise BaseExceptionGroup(
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
| result = await app( # type: ignore[func-returns-value]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
| return await self.app(scope, receive, send)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
| await super().__call__(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/applications.py", line 112, in __call__
| await self.middleware_stack(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
| await self.app(scope, receive, _send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/asgi_correlation_id/middleware.py", line 90, in __call__
| await self.app(scope, receive, handle_outgoing_request)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 879, in current_principal_logging_filter
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 860, in capture_metrics_prometheus
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 815, in capture_metrics
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 761, in set_cookies
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 753, in client_compatibility_check
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 714, in double_submit_cookie_csrf_protection
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/tiled/tiled/server/compression.py", line 27, in __call__
| await responder(scope, receive, send)
| File "/Users/bpauw/Code/tiled/tiled/server/compression.py", line 48, in __call__
| await self.app(scope, receive, self.send_compressed)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__
| await self.app(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
| await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
| await self.middleware_stack(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
| await route.handle(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
| await self.app(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
| await wrap_app_handling_exceptions(app, request)(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
| response = await f(request)
| ^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
| raw_response = await run_endpoint_function(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
| return await dependant.call(**values)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/router.py", line 290, in route_with_sig
| return await route(*args, **kwargs)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/router.py", line 197, in search
| resource, metadata_stale_at, must_revalidate = await construct_entries_response(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 231, in construct_entries_response
| resource = await construct_resource(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 464, in construct_resource
| contents[key] = await construct_resource(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 464, in construct_resource
| contents[key] = await construct_resource(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 456, in construct_resource
| for key, adapter in entry.items():
| ^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/iterviews.py", line 112, in __iter__
| yield from self._items_slice(0, None, 1)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/adapters/hdf5.py", line 245, in _items_slice
| items = [(key, self[key]) for key in list(self)]
| ~~~~^^^^^
| File "/Users/bpauw/Code/tiled/tiled/adapters/hdf5.py", line 144, in __getitem__
| value = self._file[key]
| ~~~~~~~~~~^^^^^
| File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
| File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/h5py/_hl/group.py", line 357, in __getitem__
| oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
| File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
| File "h5py/h5o.pyx", line 257, in h5py.h5o.open
| KeyError: "Unable to open object (unable to open external file, external link file name = 'beam_profile/eiger_178_master.h5')"
+------------------------------------
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/applications.py", line 112, in __call__
await self.middleware_stack(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
await self.app(scope, receive, _send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/asgi_correlation_id/middleware.py", line 90, in __call__
await self.app(scope, receive, handle_outgoing_request)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 879, in current_principal_logging_filter
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 860, in capture_metrics_prometheus
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 815, in capture_metrics
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 761, in set_cookies
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 753, in client_compatibility_check
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 714, in double_submit_cookie_csrf_protection
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/tiled/tiled/server/compression.py", line 27, in __call__
await responder(scope, receive, send)
File "/Users/bpauw/Code/tiled/tiled/server/compression.py", line 48, in __call__
await self.app(scope, receive, self.send_compressed)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__
await self.app(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
await self.middleware_stack(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/router.py", line 290, in route_with_sig
return await route(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/router.py", line 197, in search
resource, metadata_stale_at, must_revalidate = await construct_entries_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 231, in construct_entries_response
resource = await construct_resource(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 464, in construct_resource
contents[key] = await construct_resource(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 464, in construct_resource
contents[key] = await construct_resource(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 456, in construct_resource
for key, adapter in entry.items():
^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/iterviews.py", line 112, in __iter__
yield from self._items_slice(0, None, 1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/adapters/hdf5.py", line 245, in _items_slice
items = [(key, self[key]) for key in list(self)]
~~~~^^^^^
File "/Users/bpauw/Code/tiled/tiled/adapters/hdf5.py", line 144, in __getitem__
value = self._file[key]
~~~~~~~~~~^^^^^
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/h5py/_hl/group.py", line 357, in __getitem__
oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "h5py/h5o.pyx", line 257, in h5py.h5o.open
KeyError: "Unable to open object (unable to open external file, external link file name = 'beam_profile/eiger_178_master.h5')"
[eb60abfe6cfc28ba] 127.0.0.1:53653 (public) - "GET /api/v1/metadata/MOUSE_20250125_2_40_processed_250129_182117 HTTP/1.1" 200 OK
[c65c66ca90d6aea3] 127.0.0.1:53653 (public) - "GET /api/v1/search/MOUSE_20250125_2_40_processed_250129_182117?fields=&sort= HTTP/1.1" 200 OK
[203991ceb7859f2e] 127.0.0.1:53653 (public) - "GET /api/v1/search/MOUSE_20250125_2_40_processed_250129_182117?page%5Boffset%5D=0&sort= HTTP/1.1" 500 Internal Server Error
[203991ceb7859f2e] ERROR: Exception in ASGI application
+ Exception Group Traceback (most recent call last):
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 76, in collapse_excgroups
| yield
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 178, in __call__
| async with anyio.create_task_group() as task_group:
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 767, in __aexit__
| raise BaseExceptionGroup(
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
| result = await app( # type: ignore[func-returns-value]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
| return await self.app(scope, receive, send)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
| await super().__call__(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/applications.py", line 112, in __call__
| await self.middleware_stack(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
| await self.app(scope, receive, _send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/asgi_correlation_id/middleware.py", line 90, in __call__
| await self.app(scope, receive, handle_outgoing_request)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 879, in current_principal_logging_filter
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 860, in capture_metrics_prometheus
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 815, in capture_metrics
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 761, in set_cookies
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 753, in client_compatibility_check
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
| with recv_stream, send_stream, collapse_excgroups():
| ^^^^^^^^^^^^^^^^^^^^
| File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
| self.gen.throw(value)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 714, in double_submit_cookie_csrf_protection
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/Users/bpauw/Code/tiled/tiled/server/compression.py", line 27, in __call__
| await responder(scope, receive, send)
| File "/Users/bpauw/Code/tiled/tiled/server/compression.py", line 48, in __call__
| await self.app(scope, receive, self.send_compressed)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__
| await self.app(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
| await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
| await self.middleware_stack(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
| await route.handle(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
| await self.app(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
| await wrap_app_handling_exceptions(app, request)(scope, receive, send)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
| response = await f(request)
| ^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
| raw_response = await run_endpoint_function(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
| return await dependant.call(**values)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/router.py", line 290, in route_with_sig
| return await route(*args, **kwargs)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/router.py", line 197, in search
| resource, metadata_stale_at, must_revalidate = await construct_entries_response(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 231, in construct_entries_response
| resource = await construct_resource(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 464, in construct_resource
| contents[key] = await construct_resource(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 464, in construct_resource
| contents[key] = await construct_resource(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 456, in construct_resource
| for key, adapter in entry.items():
| ^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/iterviews.py", line 112, in __iter__
| yield from self._items_slice(0, None, 1)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/Users/bpauw/Code/tiled/tiled/adapters/hdf5.py", line 245, in _items_slice
| items = [(key, self[key]) for key in list(self)]
| ~~~~^^^^^
| File "/Users/bpauw/Code/tiled/tiled/adapters/hdf5.py", line 144, in __getitem__
| value = self._file[key]
| ~~~~~~~~~~^^^^^
| File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
| File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
| File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/h5py/_hl/group.py", line 357, in __getitem__
| oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
| File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
| File "h5py/h5o.pyx", line 257, in h5py.h5o.open
| KeyError: "Unable to open object (unable to open external file, external link file name = 'beam_profile/eiger_139_master.h5')"
+------------------------------------
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/applications.py", line 112, in __call__
await self.middleware_stack(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
await self.app(scope, receive, _send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/asgi_correlation_id/middleware.py", line 90, in __call__
await self.app(scope, receive, handle_outgoing_request)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 879, in current_principal_logging_filter
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 860, in capture_metrics_prometheus
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 815, in capture_metrics
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 761, in set_cookies
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 753, in client_compatibility_check
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.8/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/app.py", line 714, in double_submit_cookie_csrf_protection
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/bpauw/Code/tiled/tiled/server/compression.py", line 27, in __call__
await responder(scope, receive, send)
File "/Users/bpauw/Code/tiled/tiled/server/compression.py", line 48, in __call__
await self.app(scope, receive, self.send_compressed)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__
await self.app(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
await self.middleware_stack(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/router.py", line 290, in route_with_sig
return await route(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/router.py", line 197, in search
resource, metadata_stale_at, must_revalidate = await construct_entries_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 231, in construct_entries_response
resource = await construct_resource(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 464, in construct_resource
contents[key] = await construct_resource(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 464, in construct_resource
contents[key] = await construct_resource(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/server/core.py", line 456, in construct_resource
for key, adapter in entry.items():
^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/iterviews.py", line 112, in __iter__
yield from self._items_slice(0, None, 1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bpauw/Code/tiled/tiled/adapters/hdf5.py", line 245, in _items_slice
items = [(key, self[key]) for key in list(self)]
~~~~^^^^^
File "/Users/bpauw/Code/tiled/tiled/adapters/hdf5.py", line 144, in __getitem__
value = self._file[key]
~~~~~~~~~~^^^^^
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "/Users/bpauw/Code/Julias_camonitor_log/.venv/lib/python3.12/site-packages/h5py/_hl/group.py", line 357, in __getitem__
oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "h5py/h5o.pyx", line 257, in h5py.h5o.open
KeyError: "Unable to open object (unable to open external file, external link file name = 'beam_profile/eiger_139_master.h5')" To make this easier to debug, I will try to make a few test files available on WeTransfer.. to be continued... |
WeTransfer link to the example files is here: https://we.tl/t-RBFzOMNA7T |
It seems that when I have HDF5 files with external links that can no longer be reached, Tiled throws an error. Perhaps the better way would be to quietly accept a broken link and continue to read whatever is there.
to reproduce:
On the command line, I have started the server:
tiled serve directory --public ~/Documents/BAM/Measurements/newMouseTest/Measurements/SAXS002/data/2025/20250125/autoproc
In the Jupyter notebook, I then have the following lines:
This gives me the following output in the notebook:
And the following in the shell:
The text was updated successfully, but these errors were encountered: