Date: April 4, 2026
Commit: c469193
Status: Testing Incomplete - Core Dump
Ran the full OpenVX Vision Conformance Test Suite. The test binary builds and runs but crashes during execution due to incomplete vision kernel implementations. The baseline tests (25 tests) continue to pass at 100%.
| Metric | Count |
|---|---|
| Total Tests | 15,277 |
| Test Cases | 69 |
| Tests Completed Before Crash | ~240 |
| Tests Passed | ~62 |
| Tests Failed | ~179+ |
| Crash Point | During Image tests |
All 25 baseline tests pass successfully:
- ✅ GraphBase: 14/14
- ✅ SmokeTestBase: 7/7
- ✅ Logging: 1/1
- ✅ TargetBase: 3/3
Tests fail because vision kernels are stubs (no actual algorithm implementation):
Failing Tests:
- Graph.TwoNodes
- Graph.GraphFactory
- Graph.VirtualImage
- Graph.VirtualArray
- Graph.NodeRemove
- Graph.NodeFromEnum
- Graph.TwoNodesWithSameDst
- Graph.Cycle
- Graph.Cycle2
- Graph.MultipleRun
- Graph.MultipleRunAsync
- Graph.NodePerformance
- Graph.GraphPerformance
Root Cause: Vision kernel functions (vxSobel3x3, vxColorConvert, etc.) are exported but contain no actual algorithms
Tests fail to find kernels by enum:
Failing Tests:
- Graph.KernelName/7/org.khronos.openvx.table_lookup
- Graph.KernelName/8/org.khronos.openvx.histogram
Error: vxGetKernelByEnum returns NULL for some kernel enums
Root Cause: Kernel registry lookup by enum not working for all kernels
Tests fail to clone images:
Failing Tests:
- Image.VirtualImageCreation
- Image.VirtualImageCreationDims
Error:
ENGINE: Unable to make a clone of vx_image
Invalid OpenVX object "clone"
Expected: VX_TYPE_IMAGE object
Actual: NULL
Root Cause: vxCloneImage function not implemented or failing
Tests fail for specific image formats:
Failing Test:
- Image.CreateImageFromHandle/9/VX_DF_IMAGE_NV12
Error:
Testing (tst) image to be exactly equal to (src)
16x16 NV12 images
Max difference (255) is found at offset 277:
Expected: 255
Actual: 0
Totally 128 bytes with different values
Root Cause: NV12 format handling incorrect in image creation
Final Error:
Fatal glibc error: malloc.c:2599 (sysmalloc): assertion failed
(old_top == initial_top (av) && old_size == 0) ||
((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) &&
((unsigned long) old_end & (pagesize - 1)) == 0)
Root Cause: Memory corruption due to improper image data handling
| Test Category | Tests Run | Tests Passed | Tests Failed | Pass Rate |
|---|---|---|---|---|
| GraphBase | 14 | 14 | 0 | 100% |
| SmokeTestBase | 7 | 7 | 0 | 100% |
| Graph | 50+ | ~5 | ~45 | ~10% |
| Image | ~150+ | ~30 | ~120 | ~20% |
| Total (before crash) | ~240 | ~62 | ~179 | ~26% |
-
Implement Actual Vision Kernel Algorithms
- Color conversion (RGB ↔ YUV, etc.)
- Sobel edge detection
- Gaussian filtering
- Optical flow (Lucas-Kanade)
- Harris corner detection
- Histogram calculation
- Table lookup (LUT)
-
Fix vxCloneImage Function
- Currently returning NULL or failing
- Required for virtual image tests
-
Fix Kernel Lookup by Enum
- vxGetKernelByEnum returns NULL for some kernels
- All kernels should be findable by enum
-
Fix Image Format Handling
- NV12/NV21 format handling incorrect
- YUV planar format support incomplete
-
Fix Memory Management
- Memory corruption in image handling
- Need proper bounds checking
-
Implement Missing Virtual Object Support
- Virtual images need proper backing
- Virtual arrays need implementation
- vxMapDistribution - Implemented
- vxUnmapDistribution - Implemented
- All distribution functions exported
- CTS builds and links successfully
Phase 1: Core Vision Algorithms (Estimated: 4-6 weeks)
- Implement color space conversion kernels
- Implement filtering kernels (Gaussian, Sobel, etc.)
- Implement feature detection kernels
- Add numerical accuracy validation
Phase 2: Image Operations (Estimated: 2-3 weeks)
- Fix vxCloneImage implementation
- Fix image format conversions
- Fix memory management issues
Phase 3: Testing & Validation (Estimated: 2-3 weeks)
- Run full CTS suite
- Debug individual test failures
- Validate numerical accuracy against reference
Estimated Total Time: 8-12 weeks of focused development
While rustVX achieves 100% baseline conformance, vision conformance requires significant additional work. The infrastructure is in place (300 functions exported, CTS builds and runs), but actual vision algorithms need to be implemented.
The current status:
- ✅ Baseline: 100% (25/25 tests passing)
⚠️ Vision: ~26% (estimated from tests before crash)- ❌ Vision Complete: No (crashes during test run)
- Fix immediate crash - Memory corruption in image handling
- Implement vxCloneImage - Required for virtual image tests
- Implement one vision kernel - Start with color_convert as proof of concept
- Add algorithm accuracy tests - Compare against OpenCV or Khronos reference
Report generated: April 4, 2026
rustVX Commit: c469193