I have searched for any existing and/or related issues.
I have searched for any existing and/or related discussions.
I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
I am using the latest version of Open WebUI.
Installation Method
Docker
Open WebUI Version
0.8.9
Ollama Version (if applicable)
No response
Operating System
ubuntu
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 ingesting pdf with native engine, it should extract the markdown
Actual Behavior
erros, with /filter showing in the chat on a yellow box on the top
Originally created by @MarceloMassarente on GitHub (Mar 8, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22458
### Check Existing Issues
- [x] I have searched for any existing and/or related issues.
- [x] I have searched for any existing and/or related discussions.
- [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
- [x] I am using the latest version of Open WebUI.
### Installation Method
Docker
### Open WebUI Version
0.8.9
### Ollama Version (if applicable)
_No response_
### Operating System
ubuntu
### Browser (if applicable)
_No response_
### 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 **provided every relevant configuration, setting, and environment variable used in my setup.**
- [x] 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).
- [x] 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 ingesting pdf with native engine, it should extract the markdown
### Actual Behavior
erros, with /filter showing in the chat on a yellow box on the top
### Steps to Reproduce
just try to ingest pdf
### Logs & Screenshots
2026-03-08 18:27:48.052 | ERROR | open_webui.routers.retrieval:process_file:1880 - '/Filter'
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 0x70e6fbe0e3e0>
└ <WorkerThread(AnyIO worker thread, started 124132867958464)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function WorkerThread.run at 0x70e6510b9580>
└ <WorkerThread(AnyIO worker thread, started 124132867958464)>
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run
result = context.run(func, *args)
│ │ │ └ ()
│ │ └ functools.partial(<function process_uploaded_file at 0x70e658ca5080>, <starlette.requests.Request object at 0x70e6226d8150>, ...
│ └ <method 'run' of '_contextvars.Context' objects>
└ <_contextvars.Context object at 0x70e63232ac40>
File "/usr/local/lib/python3.11/site-packages/open_webui/routers/files.py", line 164, in process_uploaded_file
_process_handler(db_session)
│ └ <sqlalchemy.orm.session.Session object at 0x70e6234942d0>
└ <function process_uploaded_file.<locals>._process_handler at 0x70e622bfee80>
File "/usr/local/lib/python3.11/site-packages/open_webui/routers/files.py", line 128, in _process_handler
process_file(
└ <function process_file at 0x70e656876ac0>
> File "/usr/local/lib/python3.11/site-packages/open_webui/routers/retrieval.py", line 1779, in process_file
docs = loader.load(
│ └ <function Loader.load at 0x70e656977420>
└ <open_webui.retrieval.loaders.main.Loader object at 0x70e622d79650>
File "/usr/local/lib/python3.11/site-packages/open_webui/retrieval/loaders/main.py", line 194, in load
docs = loader.load()
│ └ <function BaseLoader.load at 0x70e6678ba3e0>
└ <langchain_community.document_loaders.pdf.PyPDFLoader object at 0x70e622a59110>
File "/usr/local/lib/python3.11/site-packages/langchain_core/document_loaders/base.py", line 43, in load
return list(self.lazy_load())
│ └ <function PyPDFLoader.lazy_load at 0x70e656930fe0>
└ <langchain_community.document_loaders.pdf.PyPDFLoader object at 0x70e622a59110>
File "/usr/local/lib/python3.11/site-packages/langchain_community/document_loaders/pdf.py", line 305, in lazy_load
yield from self.parser.lazy_parse(blob)
│ │ │ └ Blob 124133989033424 /app/backend/data/uploads/6d6f03ac-8e0a-4d0c-960e-03b92fc9f094_2026 - Proposta Vila Nova Partners - Asse...
│ │ └ <function PyPDFParser.lazy_parse at 0x70e6569dba60>
│ └ <langchain_community.document_loaders.parsers.pdf.PyPDFParser object at 0x70e63265a290>
└ <langchain_community.document_loaders.pdf.PyPDFLoader object at 0x70e622a59110>
File "/usr/local/lib/python3.11/site-packages/langchain_community/document_loaders/parsers/pdf.py", line 397, in lazy_parse
images_from_page = self.extract_images_from_page(page)
│ │ └ {'/Type': '/Page', '/Parent': IndirectObject(2, 0, 124133722406800), '/Resources': {'/ExtGState': {'/GS6': IndirectObject(6, ...
│ └ <function PyPDFParser.extract_images_from_page at 0x70e6569dbb00>
└ <langchain_community.document_loaders.parsers.pdf.PyPDFParser object at 0x70e63265a290>
File "/usr/local/lib/python3.11/site-packages/langchain_community/document_loaders/parsers/pdf.py", line 444, in extract_images_from_page
if type(xObject[obj]["/Filter"]) is pypdf.generic._base.NameObject
│ │ │ │ │ └ <class 'pypdf.generic._base.NameObject'>
│ │ │ │ └ <module 'pypdf.generic._base' from '/usr/local/lib/python3.11/site-packages/pypdf/generic/_base.py'>
│ │ │ └ <module 'pypdf.generic' from '/usr/local/lib/python3.11/site-packages/pypdf/generic/__init__.py'>
│ │ └ <module 'pypdf' from '/usr/local/lib/python3.11/site-packages/pypdf/__init__.py'>
│ └ '/Image13'
└ {'/Image7': IndirectObject(7, 0, 124133722406800), '/Image8': IndirectObject(8, 0, 124133722406800), '/Image11': IndirectObje...
File "/usr/local/lib/python3.11/site-packages/pypdf/generic/_data_structures.py", line 472, in __getitem__
return dict.__getitem__(self, key).get_object()
│ └ '/Filter'
└ {'/Type': '/XObject', '/Subtype': '/Image', '/Width': 2, '/Height': 2, '/ColorSpace': ['/Indexed', '/DeviceRGB', 1, 'ÿÿÿÿÿÿ']...
KeyError: '/Filter'
2026-03-08 18:27:48.057 | ERROR | open_webui.routers.files:_process_handler:150 - Error processing file: 6d6f03ac-8e0a-4d0c-960e-03b92fc9f094
### Additional Information
_No response_
GiteaMirror
added the bug label 2026-04-25 09:28:48 -05:00
This is an upstream bug in langchain-community's PyPDFParser.extract_images_from_page — it accesses xObject[obj]["/Filter"] without checking for key existence; please report it to langchain-community or pypdf, and as a workaround you can disable "Extract Images from PDF" in Admin → Settings → Documents.
<!-- gh-comment-id:4020142329 -->
@tjbck commented on GitHub (Mar 8, 2026):
This is an upstream bug in langchain-community's PyPDFParser.extract_images_from_page — it accesses xObject[obj]["/Filter"] without checking for key existence; please report it to [langchain-community](https://github.com/langchain-ai/langchain/issues) or [pypdf](https://github.com/py-pdf/pypdf/issues), and as a workaround you can disable "Extract Images from PDF" in Admin → Settings → Documents.
This is an upstream bug in langchain-community's
PyPDFParser.extract_images_from_page — it accesses xObject[obj]["/Filter"]
without checking for key existence; please report it to
langchain-community https://github.com/langchain-ai/langchain/issues or
pypdf https://github.com/py-pdf/pypdf/issues, and as a workaround you
can disable "Extract Images from PDF" in Admin → Settings → Documents.
<!-- gh-comment-id:4021911220 -->
@MarceloMassarente commented on GitHub (Mar 9, 2026):
Thanks.
But do you know why this didn't happen before? did something change in OWUI
regarding how PyPDF is used?
regards
On Sun, Mar 8, 2026 at 7:20 PM Tim Baek ***@***.***> wrote:
> *tjbck* left a comment (open-webui/open-webui#22458)
> <https://github.com/open-webui/open-webui/issues/22458#issuecomment-4020142329>
>
> This is an upstream bug in langchain-community's
> PyPDFParser.extract_images_from_page — it accesses xObject[obj]["/Filter"]
> without checking for key existence; please report it to
> langchain-community <https://github.com/langchain-ai/langchain/issues> or
> pypdf <https://github.com/py-pdf/pypdf/issues>, and as a workaround you
> can disable "Extract Images from PDF" in Admin → Settings → Documents.
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/open-webui/open-webui/issues/22458#issuecomment-4020142329>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/BTVKKPVFBMM4Q5XLSP7OXKT4PXW3HAVCNFSM6AAAAACWLFTLT6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DAMRQGE2DEMZSHE>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @MarceloMassarente on GitHub (Mar 8, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22458
Check Existing Issues
Installation Method
Docker
Open WebUI Version
0.8.9
Ollama Version (if applicable)
No response
Operating System
ubuntu
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
when ingesting pdf with native engine, it should extract the markdown
Actual Behavior
erros, with /filter showing in the chat on a yellow box on the top
Steps to Reproduce
just try to ingest pdf
Logs & Screenshots
2026-03-08 18:27:48.052 | ERROR | open_webui.routers.retrieval:process_file:1880 - '/Filter'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run
File "/usr/local/lib/python3.11/site-packages/open_webui/routers/files.py", line 164, in process_uploaded_file
File "/usr/local/lib/python3.11/site-packages/open_webui/routers/files.py", line 128, in _process_handler
File "/usr/local/lib/python3.11/site-packages/open_webui/retrieval/loaders/main.py", line 194, in load
File "/usr/local/lib/python3.11/site-packages/langchain_core/document_loaders/base.py", line 43, in load
File "/usr/local/lib/python3.11/site-packages/langchain_community/document_loaders/pdf.py", line 305, in lazy_load
File "/usr/local/lib/python3.11/site-packages/langchain_community/document_loaders/parsers/pdf.py", line 397, in lazy_parse
File "/usr/local/lib/python3.11/site-packages/langchain_community/document_loaders/parsers/pdf.py", line 444, in extract_images_from_page
File "/usr/local/lib/python3.11/site-packages/pypdf/generic/_data_structures.py", line 472, in getitem
KeyError: '/Filter'
2026-03-08 18:27:48.057 | ERROR | open_webui.routers.files:_process_handler:150 - Error processing file: 6d6f03ac-8e0a-4d0c-960e-03b92fc9f094
Additional Information
No response
@tjbck commented on GitHub (Mar 8, 2026):
This is an upstream bug in langchain-community's PyPDFParser.extract_images_from_page — it accesses xObject[obj]["/Filter"] without checking for key existence; please report it to langchain-community or pypdf, and as a workaround you can disable "Extract Images from PDF" in Admin → Settings → Documents.
@MarceloMassarente commented on GitHub (Mar 9, 2026):
Thanks.
But do you know why this didn't happen before? did something change in OWUI
regarding how PyPDF is used?
regards
On Sun, Mar 8, 2026 at 7:20 PM Tim Baek @.***> wrote: