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)
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:
This happens because the PIR executor's OneDNN instruction handler (
onednn_instruction.cc) doesn't handleArrayAttribute<DoubleAttribute>— an attribute type used by PP-OCRv5 detection models.Root cause
PR #77430 added this missing handler and was merged to
developon 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
Reproduction
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