Skip to content

Investigate native Windows ARM64 access violations across Wave cases #493

Description

@LunaStev

Evidence

After #486 supplies the native ARM64 libxml2 link dependency, the Windows ARM64 cases job builds the release compiler but reports 0 passes / 123 failures:

The first access violation is shared/test1.wave; test2, test3 and many other basic cases fail the same way. The log reaches Finished release profile and verifies 44 ARM64 libxml2 objects. The separate native build job also passes its three Rust unit tests. The original LNK1181 xml2s.lib failure is no longer the stopping point.

Investigation scope

Use #486 head 6fb6ed7 on windows-11-vs2026-arm with the workflow's native LLVM 21.1.8 MSVC SDK and ARM64 llvm-mingw linker. Run the case harness's command for shared/test1.wave, then isolate frontend checking, IR emission, object emission, linking and generated-program execution. Capture a native debugger stack or crash dump at the first access violation before selecting a fix.

The current logs do not establish whether this is LLVM/compiler execution, target object generation, linking support or the generated program. Do not assume that setting HOME, changing libxml2 versions or using an x64 compiler resolves it.

Acceptance

  • Identify the crashing process and phase and record a stack trace with toolchain versions.
  • Reduce at least one failing basic case to a small reproducer.
  • Fix the root cause and add a regression at the appropriate compiler/runtime layer.
  • Native Windows ARM64 cases pass with ARM64 compiler/dependencies; retain existing shared cases rather than skipping them.
  • Keep the HOME/std-directory fix separately identifiable.

Start with tools/run_tests.py, .github/workflows/cases.yml (the windows_arm64 lane) and tests/cases/shared/test1.wave. Related: #482, #486, #292. This requires native debugging and is not a good first issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA problem that causes incorrect behavior or crashes.ciGitHub CI or CIcriticalAn urgent issue requiring immediate resolution.cross-platformIssues related to making Wave work seamlessly across multiple operating systems.help wantedThe issue requires extra attention or help from others.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions