Skip to content

net10.0-macos app crashes at xamarin_vm_initialize in Mac App Store sandbox (SIGABRT) #25086

@Sexadegen

Description

@Sexadegen

A net10.0-macos app crashes on launch when submitted to the Mac App Store. The crash occurs in xamarin_vm_initialize before any user code runs. The same app previously shipped successfully as net8.0-macos without any special configuration.
Crash stack (identical across two separate review submissions):

abort()
← xamarin_assertion_message [imageOffset: 50940]
← xamarin_vm_initialize [imageOffset: 60720]
← xamarin_main [imageOffset: 90848]
← main [imageOffset: 94708]
Exception: EXC_CRASH (SIGABRT) / abort() called
Platform: macOS 26.3 (ARM64, Mac16,8)
Build version: confirmed across build 12 and build 13 — identical offsets, different UUIDs

What I've tried:

Added <UseInterpreter>true</UseInterpreter> to the Release PropertyGroup — build succeeds, crash is identical, same offsets. Confirms UseInterpreter is silently ignored for net10.0-macos.
Added <PublishAot>true</PublishAot> — probably resolves the crash but breaks reflection-based SQLite (sqlite-net-pcl) and JSON (Newtonsoft.Json) at runtime. Not viable without significant AOT annotation work.
Attempted downgrade to net8.0-macos — blocked by NETSDK1202 (net8 workload EOL) when building with .NET SDK 10.0.201.

Project configuration:

<TargetFramework>net10.0-macos</TargetFramework>
<RuntimeIdentifier>osx-arm64</RuntimeIdentifier>

Entitlements (Release):

<key>com.apple.security.app-sandbox</key><true/>
<key>com.apple.security.network.client</key><true/>
<key>com.apple.security.files.user-selected.read-write</key><true/>

No JIT-related entitlements present or permitted for App Store distribution.
Expected behaviour
App launches successfully in the Mac App Store sandbox, consistent with net8.0-macos behaviour.
Actual behaviour
xamarin_vm_initialize calls xamarin_assertion_message then abort(). App never reaches user code.

Crashlog-0330-125502.log
Crashlog-0403-143758.log

Questions for the team:

  1. Is UseInterpreter intentionally unsupported for net10.0-macos? If so, what is the supported mechanism for avoiding JIT in the App Store sandbox?
  2. Is there a known regression between net8.0-macos and net10.0-macos in how the Mono VM initialises under the hardened runtime + App Sandbox?
  3. Is PublishAot the only supported path for Mac App Store distribution with net10.0-macos, and if so, is there guidance on making reflection-dependent NuGet packages AOT-compatible?

Metadata

Metadata

Assignees

No one assigned

    Labels

    need-infoWaiting for more information before the bug can be investigated

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions