Skip to content

issue: Docling does not send file.status to failed (forever pending) when File is not recognized #17033

@Podden

Description

@Podden

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Git Clone

Open WebUI Version

0.6.26

Ollama Version (if applicable)

No response

Operating System

Ubuntu 22.04

Browser (if applicable)

No response

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

When a file is uploaded which cannot be handled by OpenWebUI OR Docling, it should give me status: failed in the files array.

Actual Behavior

Docling throws a correct error, OpenWebUI does not recognize is, tries to get a file which does not exist and keeps an empty file in the conversation and files list.

Steps to Reproduce

Setup OpenWebUI with Docling Document Backend
Upload a file which both does not handle (eg .csproj or .zip).
Inspect Logs

Logs & Screenshots

Docling Logs:

ERROR:docling.datamodel.document:Input document /app/backend/data/uploads/686e0fee-a620-496c-a799-d6ff4c1ff392_Assembly-CSharp.csproj with format None does not match any allowed format: (dict_keys([<InputFormat.DOCX: 'docx'>, <InputFormat.PPTX: 'pptx'>, <InputFormat.HTML: 'html'>, <InputFormat.IMAGE: 'image'>, <InputFormat.PDF: 'pdf'>, <InputFormat.ASCIIDOC: 'asciidoc'>, <InputFormat.MD: 'md'>, <InputFormat.CSV: 'csv'>, <InputFormat.XLSX: 'xlsx'>, <InputFormat.XML_USPTO: 'xml_uspto'>, <InputFormat.XML_JATS: 'xml_jats'>, <InputFormat.JSON_DOCLING: 'json_docling'>, <InputFormat.AUDIO: 'audio'>]))
ERROR:docling_jobkit.orchestrators.local.worker:Worker 1 failed to process job c8f4f2e7-8bee-43b4-ac76-f2f914b9b26a: File format not allowed: /app/backend/data/uploads/686e0fee-a620-496c-a799-d6ff4c1ff392_Assembly-CSharp.csproj
INFO:     192.168.105.105:37190 - "POST /v1/convert/file HTTP/1.1" 404 Not Found

OpenWebUI Logs:

2025-08-29 10:38:53.463 | INFO     | open_webui.routers.files:upload_file_handler:169 - file.content_type: application/octet-stream
2025-08-29 10:38:53.469 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 192.168.105.123:0 - "POST /api/v1/files/ HTTP/1.1" 200
2025-08-29 10:38:53.488 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 192.168.105.123:0 - "GET /api/v1/files/a9994caf-b403-4ff4-8e60-8cb0883dd185/process/status?stream=true HTTP/1.1" 200
2025-08-29 10:38:55.779 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 80.147.136.139:0 - "GET /_app/version.json HTTP/1.1" 304
2025-08-29 10:38:58.488 | ERROR    | open_webui.routers.retrieval:process_file:1549 - Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status.
Traceback (most recent call last):

  File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
    self._bootstrap_inner()
    │    └ <function Thread._bootstrap_inner at 0x7f365f7049a0>
    └ <WorkerThread(AnyIO worker thread, started 139869133194944)>
  File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
    self.run()
    │    └ <function WorkerThread.run at 0x7f3625323100>
    └ <WorkerThread(AnyIO worker thread, started 139869133194944)>
  File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 967, in run
    result = context.run(func, *args)
             │       │   │      └ ()
             │       │   └ functools.partial(<function process_uploaded_file at 0x7f36316098a0>, <starlette.requests.Request object at 0x7f35dded0e90>, ...
             │       └ <method 'run' of '_contextvars.Context' objects>
             └ <_contextvars.Context object at 0x7f35c60a70c0>

  File "/app/backend/open_webui/routers/files.py", line 117, in process_uploaded_file
    process_file(request, ProcessFileForm(file_id=file_item.id), user=user)
    │            │        │                       │         │         └ UserModel(id='ddeaf490-666b-4441-b973-9c6d356d537f', name='Daniel', email='daniel@vr-bits.de', username=None, role='admin', p...
    │            │        │                       │         └ 'a9994caf-b403-4ff4-8e60-8cb0883dd185'
    │            │        │                       └ FileModel(id='a9994caf-b403-4ff4-8e60-8cb0883dd185', user_id='ddeaf490-666b-4441-b973-9c6d356d537f', hash=None, filename='Are...
    │            │        └ <class 'open_webui.routers.retrieval.ProcessFileForm'>
    │            └ <starlette.requests.Request object at 0x7f35dded0e90>
    └ <function process_file at 0x7f362a649760>

> File "/app/backend/open_webui/routers/retrieval.py", line 1468, in process_file
    docs = loader.load(
           │      └ <function Loader.load at 0x7f362b260040>
           └ <open_webui.retrieval.loaders.main.Loader object at 0x7f35dded2090>

  File "/app/backend/open_webui/retrieval/loaders/main.py", line 219, in load
    docs = loader.load()
           │      └ <function DoclingLoader.load at 0x7f362b293ec0>
           └ <open_webui.retrieval.loaders.main.DoclingLoader object at 0x7f3620b44f90>

  File "/app/backend/open_webui/retrieval/loaders/main.py", line 207, in load
    raise Exception(f"Error calling Docling: {error_msg}")

Exception: Error calling Docling: Error calling Docling API: Not Found - Task result not found. Please wait for a completion status.
2025-08-29 10:38:58.490 | ERROR    | open_webui.routers.files:process_uploaded_file:129 - Error processing file: a9994caf-b403-4ff4-8e60-8cb0883dd185
2025-08-29 10:39:03.217 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 192.168.105.123:0 - "GET /api/v1/files/a9994caf-b403-4ff4-8e60-8cb0883dd185 HTTP/1.1" 200

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions