---------- Forwarded message ---------
From: Anthony Roberts 
Date: Monday, 1 June 2026 at 02:05:27 UTC-7
To: Nathalie Chan King Choy 
Cc: CoreCollective Windows on Arm , Ranjeet Kumar , Priyadharshni Mathialagan , Dash Santosh Sathyanarayanan 


Hi All,

I have not experienced this crash, so cannot offer any insight, sadly. If you do find the underlying issue, I will happily review your changes if you PR them to my fork.

The original app that relied on MS-MPI - that kicked off the work - was Gretl, and they have not experienced this issue, however I have no idea if they use SHM transport or not.

If you think those issues may be relevant, you can always try "quick and dirty" methods like forcing an alignment on every struct and working backwards, or inserting arbitrary barriers in the problem section of the code. WinDBG with time travel debugging can be useful in cases of memory weirdness, providing snapshots of where pointers directed.

Thanks,
Anthony

On Tue, 5 May 2026 at 16:52, Nathalie Chan King Choy  wrote:
Hi all,

This was the issue mentioned in today's call.  If anyone has thoughts on it, please feel free to share via this list.  Otherwise, I'll put it on the agenda for when Anthony returns from leave.

Best regards,
Nathalie
--
CoreCollective Community Manager
Android & WoA working groups 


---------- Forwarded message ---------
From: Lina Iyer 
Date: Mon, 4 May 2026 at 09:05
Subject: Fwd: Fw:  [WoA] MS-MPI SHM crash — null packet dereference on AArch64
To: Nathalie Chan King Choy 


If you can  bring this up in the technical it might be helpful.

Thanks,
Lina

---------- Forwarded message ---------
From: Ranjeet Kumar 
Date: Mon, 4 May 2026 at 04:14
Subject: Fw:  [WoA] MS-MPI SHM crash — null packet dereference on AArch64
To: Lina Iyer



 

------------------------------------------------------------------------------



 
    

Ranjeet Kumar

Software Engineer

Block 9A, 6th Floor, DLF Cyber City,

Chennai - 600 089, India

https://www.linkedin.com/in/yourid/

 

 

 




From: Ranjeet Kumar 
Sent: Monday, May 4, 2026 4:43 PM
To: Anthony Roberts
Cc: Priyadharshni Mathialagan ; Dash Santosh Sathyanarayanan 
Subject: Re:  [WoA] MS-MPI SHM crash — null packet dereference on AArch64


Hi,
I am writing to respectfully follow up on our earlier communication regarding the MS-MPI SHM crash issue observed on AArch64. We would greatly appreciate any updates, insights, or guidance at your convenience.
Thank you for your time and consideration.

 Regards,


------------------------------------------------------------------------------



 
    

Ranjeet Kumar

Software Engineer

Block 9A, 6th Floor, DLF Cyber City,

Chennai - 600 089, India

https://www.linkedin.com/in/yourid/

 

 

 




From: Ranjeet Kumar
Sent: Tuesday, April 21, 2026 11:49 AM
To: Anthony Roberts
Subject:  [WoA] MS-MPI SHM crash — null packet dereference on AArch64

Hi,

We are from MCW (Multicoreware), a team focused on porting x86 applications to Windows on ARM (AArch64). As part of this effort, we build and validate a range of compute-intensive applications natively for WoA.

While porting MPI-dependent applications — such as LAMMPS (https://github.com/lammps/lammps) and MFEM (https://github.com/mfem/mfem) — we pulled in your forked MS-MPI repo (anthony-linaro/Microsoft-MPI) as a dependency and encountered a consistent crash in the SHM receive path on AArch64.

Short Debug Detail:
---

Exception:

  Access violation 0xC0000005
  msmpi!MPIDI_CH3U_Handle_recv_pkt+0x28
  Faulting instruction: ldrh w8, [x25]  ; x25 == NULL

Call stack:

  00  msmpi!MPIDI_CH3U_Handle_recv_pkt
  01  msmpi!MPIDI_CH3I_SHM_read_progress
  02  msmpi!MPIDI_CH3I_Progress_shm
  03  msmpi!MPIDI_CH3I_Progress_until
  04  msmpi!MPI_Waitall

Job abort output:

  [0-4]  terminated
  [5]    process exited without calling finalize
  [6-7]  terminated

---

The packet pointer arriving at MPIDI_CH3U_Handle_recv_pkt is NULL, meaning the SHM packet was never committed to the ring buffer before the receiver consumed the slot.

As a hint toward the root cause — we have been observing similar memory access violations (0xC0000005) across multiple MPI-parallelized workloads on WoA, all exclusive to native AArch64 builds (not seen on ARM64EC or x64 emulated builds), and reproducible with both MSVC and Clang. The pattern suggests something at the memory/architecture level rather than application-specific code. Possible factors we are considering:

  - Missing store-release barrier around packet pointer publication
    (AArch64 weak memory model vs. x86-64 TSO)
  - Pointer width or alignment assumptions in SHM packet structs
    that hold on x86-64 but break on AArch64

Common workaround: Disabling SHM transport allows the applications to run to completion without crashes.

---

We wanted to reach out and check:
  - Have you encountered similar SHM instability on AArch64 before?
  - Are you aware of a fix or a confirmed root cause for this class of issue?

Any pointers would be greatly appreciated.

Regards

 

------------------------------------------------------------------------------



 
    

Ranjeet Kumar

Software Engineer

Block 9A, 6th Floor, DLF Cyber City,

Chennai - 600 089, India

https://www.linkedin.com/in/yourid/