Bug: App hangs indefinitely on CPU due to PaddlePaddle 3.3.x OneDNN crash
Author: minh-vtCreated Jul 6, 2026Updated Jul 6, 2026
Severity: Critical (app is completely unusable on CPU)
Description
When running the app on CPU (no GPU), the OCR worker process crashes with:
(Unimplemented) ConvertPirAttribute2RuntimeAttribute not support
[pir::ArrayAttribute<pir::DoubleAttribute>]
(at onednn_instruction.cc:116)The main process hangs forever at [Processing] Recognizing subtitle content, please wait... because it's waiting for results from a dead child process.
Root Cause
requirements.txt specifies paddlepaddle~=3.3 which resolves to v3.3.1. PaddlePaddle 3.3.x has a known PIR + OneDNN bug on CPU (PaddlePaddle/Paddle#77430 — fix merged to develop but never backported to 3.3.x releases).
Reproduction
- Install from source on Linux with CPU only
python gui.py- Open any video, click Run
- App prints
[Processing] Recognizing subtitle content, please wait...and hangs forever
Fix
Pin dependencies to known-working versions:
- paddlepaddle~=3.3
- paddleocr~=3.4.0
+ paddlepaddle==3.2.0
+ paddleocr>=3.3.0,<3.4.0Verified: All 6 language + mode combinations (ch/en/japan/korean × fast/accurate) pass with PP-OCRv5 models on PaddlePaddle 3.2.0 + PaddleOCR 3.3.3.
Additional context
- OS: Arch Linux, CPU-only
- PaddlePaddle 3.3.1 → downgraded to 3.2.0
- PaddleOCR 3.4.1 → downgraded to 3.3.3
- Models: PP-OCRv5 (mobile + server variants)
Source: YaoFANGUK/video-subtitle-extractor