lllyasviel / lllyasviel/stable-diffusion-webui-forge

API broken: ERROR: Exception in ASGI application

Open
#1,098 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
13k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

Running: curl -XGET http://forge:7860/sdapi/v1/sd-models
Returns:

ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/uvicorn/protocols/http/h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    return await self.app(scope, receive, send)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/fastapi/applications.py", line 1106, in __call__
    await super().__call__(scope, receive, send)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/starlette/applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/gradio/route_utils.py", line 724, in __call__
    await self.app(scope, receive, send)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
    raise exc
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
    raise e
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
    await self.app(scope, receive, send)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/starlette/routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/starlette/routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/starlette/routing.py", line 66, in app
    response = await func(request)
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/fastapi/routing.py", line 292, in app
    content = await serialize_response(
  File "/app/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/fastapi/routing.py", line 155, in serialize_response
    raise ResponseValidationError(
fastapi.exceptions.ResponseValidationError: 5 validation errors:
  {'type': 'missing', 'loc': ('response', 0, 'config'), 'msg': 'Field required', 'input': {'title': 'flux1-dev-bnb-nf4.safetensors [c161224931]', 'model_name': 'flux1-dev-bnb-nf4', 'hash': 'c161224931', 'sha256': 'c161224931ab6280cf2ac6cf9060cdbffe78a6ac9b4ff55b89bc23264adc16db', 'filename': '/app/stable-diffusion-webui-forge/models/Stable-diffusion/flux1-dev-bnb-nf4.safetensors'}, 'url': 'https://errors.pydantic.dev/2.8/v/missing'}
  {'type': 'missing', 'loc': ('response', 1, 'config'), 'msg': 'Field required', 'input': {'title': 'flux1-dev.safetensors', 'model_name': 'flux1-dev', 'hash': None, 'sha256': None, 'filename': '/app/stable-diffusion-webui-forge/models/Stable-diffusion/flux1-dev.safetensors'}, 'url': 'https://errors.pydantic.dev/2.8/v/missing'}
  {'type': 'missing', 'loc': ('response', 2, 'config'), 'msg': 'Field required', 'input': {'title': 'flux1-schnell.safetensors', 'model_name': 'flux1-schnell', 'hash': None, 'sha256': None, 'filename': '/app/stable-diffusion-webui-forge/models/Stable-diffusion/flux1-schnell.safetensors'}, 'url': 'https://errors.pydantic.dev/2.8/v/missing'}
  {'type': 'missing', 'loc': ('response', 3, 'config'), 'msg': 'Field required', 'input': {'title': 'sd3_medium_incl_clips_t5xxlfp8.safetensors', 'model_name': 'sd3_medium_incl_clips_t5xxlfp8', 'hash': None, 'sha256': None, 'filename': '/app/stable-diffusion-webui-forge/models/Stable-diffusion/sd3_medium_incl_clips_t5xxlfp8.safetensors'}, 'url': 'https://errors.pydantic.dev/2.8/v/missing'}
  {'type': 'missing', 'loc': ('response', 4, 'config'), 'msg': 'Field required', 'input': {'title': 'v1-5-pruned-emaonly.safetensors', 'model_name': 'v1-5-pruned-emaonly', 'hash': None, 'sha256': None, 'filename': '/app/stable-diffusion-webui-forge/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors'}, 'url': 'https://errors.pydantic.dev/2.8/v/missing'}

Seems like all API endpoints I've tried return similar errors.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with curl -XGET http://forge:7860/sdapi/v1/sd-models and compare the returned model objects with the API response schema shown in the traceback. No project source file or test is identified in the report, so locate the /sdapi/v1/sd-models handler first; done means this endpoint and the other affected API endpoints return valid responses without FastAPI validation errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
fastapi, python
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.