Environment
- OpenVINO : 2025.4.1-20426-82bbf0292c5
- onnxruntime-openvino : 1.24.1 (v5.9, latest)
- Intel AI Boost driver : 32.0.100.4723 (2026-03-19) and 32.0.100.4778 (2026-04-28)
- ze_loader.dll : 1.28.2 (System32)
- OS : Windows 11 24H2 build 26200
- CPU : Intel Core Ultra 9 285K (Arrow Lake, Series 2)
What happens
Calling ov::Core().get_available_devices() (or any model load that triggers device
enumeration) causes an access violation 0xc0000005 in the ze_loader Level Zero discovery path.
Crash stack (symbolized from WER minidump):
onnxruntime::ProviderLibrary::Load
→ OVDevices::get_ov_devices()
→ std::wstring construction / wcslen
→ 0xc0000005 (read from unmapped address)
What is expected
Device enumeration should succeed or fail gracefully (exception), not crash the host process.
Key observation
- OpenVINO 2026.2.0 (Python venv, same machine, same driver) enumerates correctly:
available_devices = ['CPU', 'GPU.0', 'GPU.1', 'NPU'] — no crash.
- Removing openvino_intel_npu_plugin.dll does NOT fix the crash: get_ov_devices()
crashes before any plugin is selected (it enumerates ze_loader devices first).
- Driver 32.0.100.4023 (ze_loader 1.27.x, released 2025-05-08) does NOT crash.
The regression was introduced between 4023 and 4723.
Impact
onnxruntime-openvino v5.9 is the latest release and is built against OV 2025.4.1.
There is no onnxruntime-openvino built against OV 2026.x yet.
Any application using onnxruntime-openvino on a machine where the user updated
their Intel NPU driver via Windows Update (4723/4778 shipped 2026-03-19/04-28)
will crash hard — the process is not recoverable because ProviderLibrary::Load
has no structured exception handler around the ze_loader call.
Request
- Backport the ze_loader 1.28.x compatibility fix from OV 2026.x to OV 2025.4 (patch release).
- Wrap the Level Zero discovery call in SEH (__try/__except) so a bad ze_loader
returns an error instead of killing the host process.
- Publish onnxruntime-openvino built against OV 2026.x (intel/onnxruntime v5.10+).
Environment
What happens
Calling
ov::Core().get_available_devices()(or any model load that triggers deviceenumeration) causes an access violation 0xc0000005 in the ze_loader Level Zero discovery path.
Crash stack (symbolized from WER minidump):
onnxruntime::ProviderLibrary::Load
→ OVDevices::get_ov_devices()
→ std::wstring construction / wcslen
→ 0xc0000005 (read from unmapped address)
What is expected
Device enumeration should succeed or fail gracefully (exception), not crash the host process.
Key observation
available_devices = ['CPU', 'GPU.0', 'GPU.1', 'NPU'] — no crash.
crashes before any plugin is selected (it enumerates ze_loader devices first).
The regression was introduced between 4023 and 4723.
Impact
onnxruntime-openvino v5.9 is the latest release and is built against OV 2025.4.1.
There is no onnxruntime-openvino built against OV 2026.x yet.
Any application using onnxruntime-openvino on a machine where the user updated
their Intel NPU driver via Windows Update (4723/4778 shipped 2026-03-19/04-28)
will crash hard — the process is not recoverable because ProviderLibrary::Load
has no structured exception handler around the ze_loader call.
Request
returns an error instead of killing the host process.