Skip to content

get_available_devices() access violation 0xc0000005 with Intel AI Boost driver ≥ 32.0.100.4723 (ze_loader 1.28.2) #1147

Description

@laulau

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

  1. Backport the ze_loader 1.28.x compatibility fix from OV 2026.x to OV 2025.4 (patch release).
  2. Wrap the Level Zero discovery call in SEH (__try/__except) so a bad ze_loader
    returns an error instead of killing the host process.
  3. Publish onnxruntime-openvino built against OV 2026.x (intel/onnxruntime v5.10+).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions