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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions