[GH-ISSUE #13173] issue: Unable to create GGUF based model via interface #16833

Closed
opened 2026-04-19 22:39:38 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @ErroneousBosch on GitHub (Apr 23, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/13173

Check Existing Issues

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

Installation Method

Docker

Open WebUI Version

0.6.5

Ollama Version (if applicable)

No response

Operating System

Linux (TrueNAS

Browser (if applicable)

Chrome

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 listed steps to reproduce the bug in detail.

Expected Behavior

Upload GGUF to create model, model created

Actual Behavior

Interface spins and spins, error in logs

Steps to Reproduce

  1. Open Ollama Manage panel
  2. Show Experimental
  3. Upload GGUF

Logs & Screenshots

uvicorn.protocols.http.httptools_impl:send:476 - 192.168.5.86:57850 - "POST /ollama/models/download/0 HTTP/1.1" 200 - {} Exception in ASGI application + Exception Group Traceback (most recent call last): | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 76, in collapse_excgroups | yield | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 178, in __call__ | async with anyio.create_task_group() as task_group: | File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 772, in __aexit__ | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi | result = await app( # type: ignore[func-returns-value] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ | return await self.app(scope, receive, send) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ | await super().__call__(scope, receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 112, in __call__ | await self.middleware_stack(scope, receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__ | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ | await self.app(scope, receive, _send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in __call__ | await self.simple_response(scope, receive, send, request_headers=headers) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 144, in simple_response | await self.app(scope, receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ | await response(scope, wrapped_receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ | async for chunk in self.body_iterator: | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream | raise app_exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ | await response(scope, wrapped_receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ | async for chunk in self.body_iterator: | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream | raise app_exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ | await response(scope, wrapped_receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ | async for chunk in self.body_iterator: | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream | raise app_exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ | await response(scope, wrapped_receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ | async for chunk in self.body_iterator: | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream | raise app_exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 264, in wrap | await func() | File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 245, in stream_response | async for chunk in self.body_iterator: | File "/app/backend/open_webui/routers/ollama.py", line 1500, in download_file_stream | hashed = calculate_sha256(file) | ^^^^^^^^^^^^^^^^^^^^^^ | TypeError: calculate_sha256() missing 1 required positional argument: 'chunk_size' +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 112, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in call
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in call
await self.simple_response(scope, receive, send, request_headers=headers)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 144, in simple_response
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in call
await response(scope, wrapped_receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in call
async for chunk in self.body_iterator:
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in call
await response(scope, wrapped_receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in call
async for chunk in self.body_iterator:
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in call
await response(scope, wrapped_receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in call
async for chunk in self.body_iterator:
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in call
await response(scope, wrapped_receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in call
async for chunk in self.body_iterator:
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 264, in wrap
await func()
File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 245, in stream_response
async for chunk in self.body_iterator:
File "/app/backend/open_webui/routers/ollama.py", line 1500, in download_file_stream
hashed = calculate_sha256(file)
^^^^^^^^^^^^^^^^^^^^^^
TypeError: calculate_sha256() missing 1 required positional argument: 'chunk_size'

Additional Information

It looks like when calculate_sha256 was changed 2 months ago, a call to it was missed to add in the chunk_size. Grepping the code base, I suspect it is at backend/open_webui/routers/ollama.py:1500

Originally created by @ErroneousBosch on GitHub (Apr 23, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/13173 ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version 0.6.5 ### Ollama Version (if applicable) _No response_ ### Operating System Linux (TrueNAS ### Browser (if applicable) Chrome ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have listed steps to reproduce the bug in detail. ### Expected Behavior Upload GGUF to create model, model created ### Actual Behavior Interface spins and spins, error in logs ### Steps to Reproduce 1. Open Ollama Manage panel 2. Show Experimental 3. Upload GGUF ### Logs & Screenshots <code> uvicorn.protocols.http.httptools_impl:send:476 - 192.168.5.86:57850 - "POST /ollama/models/download/0 HTTP/1.1" 200 - {} Exception in ASGI application + Exception Group Traceback (most recent call last): | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 76, in collapse_excgroups | yield | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 178, in __call__ | async with anyio.create_task_group() as task_group: | File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 772, in __aexit__ | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi | result = await app( # type: ignore[func-returns-value] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ | return await self.app(scope, receive, send) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ | await super().__call__(scope, receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 112, in __call__ | await self.middleware_stack(scope, receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__ | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ | await self.app(scope, receive, _send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in __call__ | await self.simple_response(scope, receive, send, request_headers=headers) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 144, in simple_response | await self.app(scope, receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ | await response(scope, wrapped_receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ | async for chunk in self.body_iterator: | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream | raise app_exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ | await response(scope, wrapped_receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ | async for chunk in self.body_iterator: | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream | raise app_exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ | await response(scope, wrapped_receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ | async for chunk in self.body_iterator: | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream | raise app_exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ | await response(scope, wrapped_receive, send) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ | async for chunk in self.body_iterator: | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream | raise app_exc | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ | with recv_stream, send_stream, collapse_excgroups(): | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups | raise exc | File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 264, in wrap | await func() | File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 245, in stream_response | async for chunk in self.body_iterator: | File "/app/backend/open_webui/routers/ollama.py", line 1500, in download_file_stream | hashed = calculate_sha256(file) | ^^^^^^^^^^^^^^^^^^^^^^ | TypeError: calculate_sha256() missing 1 required positional argument: 'chunk_size' +------------------------------------ During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 112, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__ raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 144, in simple_response await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ with recv_stream, send_stream, collapse_excgroups(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ await response(scope, wrapped_receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ async for chunk in self.body_iterator: File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream raise app_exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ with recv_stream, send_stream, collapse_excgroups(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ await response(scope, wrapped_receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ async for chunk in self.body_iterator: File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream raise app_exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ with recv_stream, send_stream, collapse_excgroups(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ await response(scope, wrapped_receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ async for chunk in self.body_iterator: File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream raise app_exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ with recv_stream, send_stream, collapse_excgroups(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 180, in __call__ await response(scope, wrapped_receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 215, in __call__ async for chunk in self.body_iterator: File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 169, in body_stream raise app_exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__ with recv_stream, send_stream, collapse_excgroups(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups raise exc File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 264, in wrap await func() File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 245, in stream_response async for chunk in self.body_iterator: File "/app/backend/open_webui/routers/ollama.py", line 1500, in download_file_stream hashed = calculate_sha256(file) ^^^^^^^^^^^^^^^^^^^^^^ TypeError: calculate_sha256() missing 1 required positional argument: 'chunk_size' </code> ### Additional Information It looks like when `calculate_sha256` was changed 2 months ago, a call to it was missed to add in the `chunk_size`. Grepping the code base, I suspect it is at [`backend/open_webui/routers/ollama.py:1500`](https://github.com/open-webui/open-webui/blob/852d9dcbe9b4406e1da230a14642f35ac7bb0d2b/backend/open_webui/routers/ollama.py#L1500)
GiteaMirror added the bug label 2026-04-19 22:39:38 -05:00
Author
Owner

@rgaricano commented on GitHub (Apr 23, 2025):

(this changes was on ver.0.5.11 )

<!-- gh-comment-id:2824799100 --> @rgaricano commented on GitHub (Apr 23, 2025): (this changes was on ver.0.5.11 )
Author
Owner

@tjbck commented on GitHub (Apr 23, 2025):

Should be addressed with 7baca2b483

<!-- gh-comment-id:2824860415 --> @tjbck commented on GitHub (Apr 23, 2025): Should be addressed with 7baca2b483cafa6d7a4786a50faec9d812dc85e1
Author
Owner

@KonStg commented on GitHub (May 5, 2025):

The issue still there after this fix 7baca2b:

TypeError: expected str, bytes or os.PathLike object, not BufferedRandom
         ^^^^^^^^^^^^^^^^^^^^^
    with open(file_path, "rb") as f:
  File "/app/backend/open_webui/utils/misc.py", line 264, in calculate_sha256
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    hashed = calculate_sha256(file, chunk_size)
  File "/app/backend/open_webui/routers/ollama.py", line 1501, in download_file_stream
    async for chunk in self.body_iterator:
  File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 245, in stream_response
    await func()
  File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 264, in wrap
    raise exc
  File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
    self.gen.throw(typ, value, traceback)
<!-- gh-comment-id:2851549341 --> @KonStg commented on GitHub (May 5, 2025): The issue still there after this fix 7baca2b: ``` TypeError: expected str, bytes or os.PathLike object, not BufferedRandom ^^^^^^^^^^^^^^^^^^^^^ with open(file_path, "rb") as f: File "/app/backend/open_webui/utils/misc.py", line 264, in calculate_sha256 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ hashed = calculate_sha256(file, chunk_size) File "/app/backend/open_webui/routers/ollama.py", line 1501, in download_file_stream async for chunk in self.body_iterator: File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 245, in stream_response await func() File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 264, in wrap raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups self.gen.throw(typ, value, traceback) ```
Author
Owner

@KonStg commented on GitHub (May 5, 2025):

This update in utils.py fixes the issue.

import os

def calculate_sha256(file_path_or_obj, chunk_size=65536):
    sha256 = hashlib.sha256()
    if isinstance(file_path_or_obj, (str, bytes, os.PathLike)):
        with open(file_path_or_obj, "rb") as f:
            for chunk in iter(lambda: f.read(chunk_size), b""):
                sha256.update(chunk)
    else:
        file_path_or_obj.seek(0)
        for chunk in iter(lambda: file_path_or_obj.read(chunk_size), b""):
            sha256.update(chunk)
    
    return sha256.hexdigest()
<!-- gh-comment-id:2851653451 --> @KonStg commented on GitHub (May 5, 2025): This update in `utils.py` fixes the issue. ```python import os def calculate_sha256(file_path_or_obj, chunk_size=65536): sha256 = hashlib.sha256() if isinstance(file_path_or_obj, (str, bytes, os.PathLike)): with open(file_path_or_obj, "rb") as f: for chunk in iter(lambda: f.read(chunk_size), b""): sha256.update(chunk) else: file_path_or_obj.seek(0) for chunk in iter(lambda: file_path_or_obj.read(chunk_size), b""): sha256.update(chunk) return sha256.hexdigest() ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#16833