Summary
On the OpenCV 5 (5.x) branch, cv::xphoto::bm3dDenoising (exposed via CvXPhoto.Bm3dDenoising) writes out of bounds and corrupts the process heap.
Symptoms
XPhotoTest.Bm3dDenoising passes when run in isolation, but when run together with other tests the process crashes at teardown / next allocation with exit code 0xC0000374 (heap corruption) or 0xC0000005 (access violation).
- This catastrophic crash aborts the whole test run, so it masks unrelated failures in CI.
- Confirmed: running the XPhoto namespace without
Bm3dDenoising passes (14/14); adding it back crashes.
Workaround
XPhotoTest.Bm3dDenoising is marked Skip on 5.x so the rest of the suite can run. NONFREE is enabled in the build, so the real (patented) implementation runs.
TODO
- Determine whether this is an upstream OpenCV 5
opencv_contrib/modules/xphoto regression and report upstream / pin a fix.
- Re-enable the test once fixed.
Summary
On the OpenCV 5 (5.x) branch,
cv::xphoto::bm3dDenoising(exposed viaCvXPhoto.Bm3dDenoising) writes out of bounds and corrupts the process heap.Symptoms
XPhotoTest.Bm3dDenoisingpasses when run in isolation, but when run together with other tests the process crashes at teardown / next allocation with exit code0xC0000374(heap corruption) or0xC0000005(access violation).Bm3dDenoisingpasses (14/14); adding it back crashes.Workaround
XPhotoTest.Bm3dDenoisingis markedSkipon 5.x so the rest of the suite can run. NONFREE is enabled in the build, so the real (patented) implementation runs.TODO
opencv_contrib/modules/xphotoregression and report upstream / pin a fix.