Skip to content

Bug: NotImplementedError in PIR OneDNN instruction converter on CPU — released v3.3.0/v3.3.1 still affected #451

Description

@minh-vt

Severity: Critical (blocks all CPU inference for PP-OCRv5 models)

Description

PaddlePaddle 3.3.0 and 3.3.1 crash immediately on CPU inference with PP-OCRv5 models:

(Unimplemented) ConvertPirAttribute2RuntimeAttribute not support
[pir::ArrayAttribute<pir::DoubleAttribute>]
(at /paddle/paddle/fluid/framework/new_executor/instruction/onednn/onednn_instruction.cc:116)

This happens because the PIR executor's OneDNN instruction handler (onednn_instruction.cc) doesn't handle ArrayAttribute<DoubleAttribute> — an attribute type used by PP-OCRv5 detection models.

Root cause

PR #77430 added this missing handler and was merged to develop on April 16, 2026. However, the fix was never cherry-picked to the v3.3.0 or v3.3.1 release tags. As of July 2026, the latest released versions still crash.

Environment

  • OS: Arch Linux (x86_64)
  • PaddlePaddle: 3.3.1 (CPU-only, installed from PyPI)
  • PaddleOCR: 3.4.1 → downgraded to 3.3.3 (workaround)
  • Model: PP-OCRv5 (both mobile and server variants)
  • Device: CPU (no CUDA)

Reproduction

import numpy as np
from paddleocr import PaddleOCR

ocr = PaddleOCR(lang='en')
img = np.zeros((100, 300, 3), dtype=np.uint8)
result = list(ocr.predict_iter(img))  # NotImplementedError

Workaround

Downgrade to PaddlePaddle 3.2.0 + PaddleOCR 3.3.x:

pip install paddlepaddle==3.2.0
pip install "paddleocr>=3.3.0,<3.4.0"

This works because PaddlePaddle 3.2.0 either doesn't use PIR for inference, or its OneDNN handler doesn't hit the unimplemented code path.

What we need

Backport PR #77430 to the v3.3.x release branch and publish a patch release (v3.3.2). The fix already exists in develop — it just needs to reach released versions.

Related

  • PR #77430 (merged to develop, April 2026)
  • Issue #77340 (original bug report)
  • Discussion PaddleOCR#17350 (community workaround: downgrade to 3.2.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions