Donkie / Spoolman

Keep track of your inventory of 3D-printer filament spools.
MIT License
757 stars 77 forks source link

Keep loosing access to spools #404

Open dresende opened 3 weeks ago

dresende commented 3 weeks ago

Describe the bug

After a clean install and defining/remote importing all my spools, after a few days when I go to see the Spools I get a 500 error.

To Reproduce

Steps to reproduce the behavior:

  1. Open Spoolman page (all stats open and are correct)
  2. Click on Spools list
  3. Loads for a while and then throws 500 error

Expected behavior

A list of spools.

Screenshots

Screenshot 2024-06-14 at 16 11 45 Screenshot 2024-06-14 at 16 11 53 a8) Screenshot 2024-06-14 at 16 12 16

Spoolman Host (please complete the following information):

Desktop (please complete the following information):

Additional context

Docker log:

2024-05-29T20:08:23.672677463Z  stderr  Traceback (most recent call last):
2024-05-29T20:08:23.672520651Z  stderr  ERROR:    Exception in ASGI application
2024-05-29T20:08:23.667503453Z  stdout  INFO:     172.18.0.1:44240 - "GET /spool?allow_archived=false&limit=50&offset=0&sort=vendor.name:asc HTTP/1.1" 500 Internal Server Error
2024-05-29T20:08:22.651612898Z  stderr  ValueError: Invalid field name 'vendor.name', 'vendor' is not a valid field on 'Spool'.
2024-05-29T20:08:22.651563193Z  stderr      raise ValueError(f"Invalid field name '{field}', '{fields[0]}' is not a valid field on '{base_obj.__name__}'.")
2024-05-29T20:08:22.651520629Z  stderr    File "/home/app/spoolman/spoolman/database/utils.py", line 23, in parse_nested_field
2024-05-29T20:08:22.651485322Z  stderr                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-05-29T20:08:22.651433725Z  stderr      sorts.append(parse_nested_field(models.Spool, fieldstr))
2024-05-29T20:08:22.651388464Z  stderr    File "/home/app/spoolman/spoolman/database/spool.py", line 191, in find
2024-05-29T20:08:22.651352899Z  stderr                              ^^^^^^^^^^^^^^^^^
2024-05-29T20:08:22.651306696Z  stderr      db_items, total_count = await spool.find(
2024-05-29T20:08:22.651261395Z  stderr    File "/home/app/spoolman/spoolman/api/v1/spool.py", line 254, in find
2024-05-29T20:08:22.651227249Z  stderr             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-05-29T20:08:22.651187168Z  stderr      return await dependant.call(**values)
2024-05-29T20:08:22.651137477Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 190, in run_endpoint_function
2024-05-29T20:08:22.651086430Z  stderr                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-05-29T20:08:22.651048589Z  stderr      raw_response = await run_endpoint_function(
2024-05-29T20:08:22.651004942Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 273, in app
2024-05-29T20:08:22.650970159Z  stderr                 ^^^^^^^^^^^^^^^^^^^
2024-05-29T20:08:22.650931796Z  stderr      response = await func(request)
2024-05-29T20:08:22.650886681Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/routing.py", line 66, in app
2024-05-29T20:08:22.650838939Z  stderr      await self.app(scope, receive, send)
2024-05-29T20:08:22.650795569Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle
2024-05-29T20:08:22.650757523Z  stderr      await route.handle(scope, receive, send)
2024-05-29T20:08:22.650715120Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__
2024-05-29T20:08:22.650677405Z  stderr      await self.app(scope, receive, send)
2024-05-29T20:08:22.650632192Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
2024-05-29T20:08:22.650596981Z  stderr      raise e
2024-05-29T20:08:22.650553522Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
2024-05-29T20:08:22.650515806Z  stderr      await self.app(scope, receive, sender)
2024-05-29T20:08:22.650471862Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
2024-05-29T20:08:22.650432762Z  stderr      raise exc
2024-05-29T20:08:22.650386756Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
2024-05-29T20:08:22.650349272Z  stderr      await self.app(scope, receive, _send)
2024-05-29T20:08:22.650304095Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 162, in __call__
2024-05-29T20:08:22.650268415Z  stderr      raise exc
2024-05-29T20:08:22.650224714Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 184, in __call__
2024-05-29T20:08:22.650186932Z  stderr      await self.middleware_stack(scope, receive, send)
2024-05-29T20:08:22.650143939Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/applications.py", line 122, in __call__
2024-05-29T20:08:22.650105650Z  stderr      await super().__call__(scope, receive, send)
2024-05-29T20:08:22.650062406Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/fastapi/applications.py", line 292, in __call__
2024-05-29T20:08:22.650024121Z  stderr      await self.app(scope, receive, send)
2024-05-29T20:08:22.649979617Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/routing.py", line 443, in handle
2024-05-29T20:08:22.649938202Z  stderr      await route.handle(scope, receive, send)
2024-05-29T20:08:22.649891807Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__
2024-05-29T20:08:22.649831183Z  stderr      await self.app(scope, receive, send)
2024-05-29T20:08:22.649784754Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
2024-05-29T20:08:22.649747896Z  stderr      raise e
2024-05-29T20:08:22.649701763Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
2024-05-29T20:08:22.649659252Z  stderr      await self.app(scope, receive, sender)
2024-05-29T20:08:22.649612211Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
2024-05-29T20:08:22.649576549Z  stderr      raise exc
2024-05-29T20:08:22.649531942Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
2024-05-29T20:08:22.649492977Z  stderr      await self.app(scope, receive, self.send_with_gzip)
2024-05-29T20:08:22.649446475Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/gzip.py", line 44, in __call__
2024-05-29T20:08:22.649407756Z  stderr      await responder(scope, receive, send)
2024-05-29T20:08:22.649362252Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/gzip.py", line 24, in __call__
2024-05-29T20:08:22.649320788Z  stderr      await self.app(scope, receive, _send)
2024-05-29T20:08:22.649276692Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 162, in __call__
2024-05-29T20:08:22.649239235Z  stderr      raise exc
2024-05-29T20:08:22.649193742Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 184, in __call__
2024-05-29T20:08:22.649154289Z  stderr      await self.middleware_stack(scope, receive, send)
2024-05-29T20:08:22.649108898Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/starlette/applications.py", line 122, in __call__
2024-05-29T20:08:22.649058738Z  stderr      await super().__call__(scope, receive, send)
2024-05-29T20:08:22.649012598Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/fastapi/applications.py", line 292, in __call__
2024-05-29T20:08:22.648977746Z  stderr             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-05-29T20:08:22.648935178Z  stderr      return await self.app(scope, receive, send)
2024-05-29T20:08:22.648881511Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
2024-05-29T20:08:22.648822263Z  stderr               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-05-29T20:08:22.648776172Z  stderr      result = await app(  # type: ignore[func-returns-value]
2024-05-29T20:08:22.648703792Z  stderr    File "/home/app/spoolman/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 435, in run_asgi
dresende commented 3 weeks ago

FTR, I can access filaments just fine.