Permission error in paperless-ngx:ConsumeTaskPlugin failed: Error occurred while consuming document ....pdf: PermissionError: [Errno 13] Permission denied: 'jbig2'

What type of hardware are you using: Other(?)
What YunoHost version are you running: 12.0.13
What app is this about: Paperless-ngx

Describe your issue

I have a permission error with Paperless-ngx. But which directory cause the problem and which access rights are needed?

Share relevant logs or error messages

[2025-04-08 00:10:17,096] [ERROR] [paperless.tasks] ConsumeTaskPlugin failed: Rechnung_SI24.0000F.pdf: Error occurred while consuming document Rechnung_SI24.0000F.pdf: PermissionError: [Errno 13] Permission denied: 'jbig2'

Traceback (most recent call last):

  File "/var/www/paperless-ngx/src/paperless_tesseract/parsers.py", line 382, in parse

    ocrmypdf.ocr(**args)

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/api.py", line 380, in ocr

    return run_pipeline(options=options, plugin_manager=plugin_manager)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/_pipelines/ocr.py", line 214, in run_pipeline

    return _run_pipeline(options, plugin_manager)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/_pipelines/ocr.py", line 181, in _run_pipeline

    optimize_messages = exec_concurrent(context, executor)

                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/_pipelines/ocr.py", line 145, in exec_concurrent

    pdf, messages = postprocess(pdf, context, executor)

                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/_pipelines/_common.py", line 460, in postprocess

    return optimize_pdf(pdf_out, context, executor)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/_pipeline.py", line 992, in optimize_pdf

    output_pdf, messages = context.plugin_manager.hook.optimize_pdf(

                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/pluggy/_hooks.py", line 513, in __call__

    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/pluggy/_manager.py", line 120, in _hookexec

    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/pluggy/_callers.py", line 139, in _multicall

    raise exception.with_traceback(exception.__traceback__)

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/pluggy/_callers.py", line 103, in _multicall

    res = hook_impl.function(*args)

          ^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/builtin_plugins/optimize.py", line 151, in optimize_pdf

    'jbig2': jbig2enc.available(),

             ^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/_exec/jbig2enc.py", line 28, in available

    version()

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/_exec/jbig2enc.py", line 18, in version

    version = get_version('jbig2', regex=r'jbig2enc (\d+(\.\d+)*).*')

              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/subprocess/__init__.py", line 158, in get_version

    proc = run(

           ^^^^

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/ocrmypdf/subprocess/__init__.py", line 62, in run

    proc = subprocess_run(args, env=env, check=check, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/lib/python3.11/subprocess.py", line 548, in run

    with Popen(*popenargs, **kwargs) as process:

         ^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/lib/python3.11/subprocess.py", line 1024, in __init__

    self._execute_child(args, executable, preexec_fn, close_fds,

  File "/usr/lib/python3.11/subprocess.py", line 1901, in _execute_child

    raise child_exception_type(errno_num, err_msg, err_filename)

PermissionError: [Errno 13] Permission denied: 'jbig2'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File "/var/www/paperless-ngx/venv/lib/python3.11/site-packages/asgiref/sync.py", line 327, in main_wrap

    raise exc_info[1]

  File "/var/www/paperless-ngx/src/documents/consumer.py", line 477, in run

    document_parser.parse(self.working_copy, mime_type, self.filename)

  File "/var/www/paperless-ngx/src/paperless_tesseract/parsers.py", line 449, in parse

    raise ParseError(f"{e.__class__.__name__}: {e!s}") from e

documents.parsers.ParseError: PermissionError: [Errno 13] Permission denied: 'jbig2'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File "/var/www/paperless-ngx/src/documents/tasks.py", line 154, in consume_file

    msg = plugin.run()

          ^^^^^^^^^^^^

  File "/var/www/paperless-ngx/src/documents/consumer.py", line 509, in run

    self._fail(

  File "/var/www/paperless-ngx/src/documents/consumer.py", line 151, in _fail

    raise ConsumerError(f"{self.filename}: {log_message or message}") from exception

documents.consumer.ConsumerError: Rechnung_SI24.0000F.pdf: Error occurred while consuming document Rechnung_SI24.0000F.pdf: PermissionError: [Errno 13] Permission denied: 'jbig2'

This problem occured after solving the issue “paperless-ngx-scheduler doesn’t start” with this :

systemctl stop paperless-ngx.service paperless-ngx-consumer.service paperless-ngx-scheduler.service paperless-ngx-task-queue.service

mv /home/yunohost.app/paperless-ngx/data/celerybeat-schedule.db.db /home/yunohost.app/paperless-ngx/data/celerybeat-schedule.db.db.BAK

yunohost upgrade paperless-ngx --debug -F

systemctl start paperless-ngx.service paperless-ngx-consumer.service paperless-ngx-scheduler.service paperless-ngx-task-queue.service

Which file owners or access rights did the upgrade change?
On my installation all files in and below /var/www/paperless-ngx are owned by user and group paperless-ngx and rw by owner. Directories are accessable by owner and group. .py files in ./python3.11/site-packages are not executable and only rw for user paperless-ngx, only r for group paperless-ngx.
Can someone please compare the file owners and access rights of a working installation, please?

The problem was solved, after updating paperless-ngx to 2.15.0~ynh1 (Yunohost-Version). Don’t know why, but it works now.