Aspose.CAD for Python crashes on macOS 26 (Sequoia) with EXC_GUARD exception

Bug Report: Aspose.CAD for Python crashes on macOS 26 (Sequoia) with EXC_GUARD exception

Environment

  • OS: macOS 26.2 (Sequoia) - Build 25C56
  • Architecture: Apple Silicon (ARM64)
  • Python: 3.9.6
  • Aspose.CAD: 26.3.0
  • Hardware: Mac16,8 (Apple Silicon)

Description

Aspose.CAD for Python crashes immediately upon import on macOS 26 (Sequoia). The process is terminated by the OS with EXC_GUARD exception.

Root Cause Analysis

The crash occurs during CoreCLR initialization. The stack trace shows:

CorUnix::CPalThread::EnableMachExceptions()
-> thread_swap_exception_ports()
-> EXC_GUARD exception triggered

CoreCLR (which Aspose.CAD uses internally) attempts to call thread_swap_exception_ports to set up Mach exception handling. However, macOS 26 has introduced stricter security policies that prohibit this operation for non-authorized processes, causing the OS to terminate the process with SIGKILL.

Crash Log (excerpt)

"exception" : {
    "port": 2147483649,
    "type": "EXC_GUARD",
    "subtype": "GUARD_TYPE_MACH_PORT",
    "violations": ["SET_EXCEPTION_BEHAVIOR"],
    "message": "SET_EXCEPTION_BEHAVIOR on mach port 2147483649 (guarded with 0x000000000000007e)"
}

Stack Trace

frame #0: mach_msg2_trap
frame #1: mach_msg2_internal
frame #2: thread_swap_exception_ports
frame #3: CorUnix::CPalThread::EnableMachExceptions()
frame #4: CorUnix::CreateThreadData
frame #5: Initialize
frame #6: PAL_InitializeCoreCLR
frame #7: coreclr_initialize
frame #8: HostEnvironment::create_default_app_domain()
frame #9: initialize_clr_host
frame #10: PyInit_pygc

Steps to Reproduce

import aspose.cad as cad  # Process crashes here with SIGKILL

Minimal Reproduction

python3 -c "import aspose.cad"
# Process terminates with exit code 137 (SIGKILL)

Expected Behavior

Aspose.CAD should successfully import and allow DWG file operations.

Actual Behavior

Process is immediately terminated by macOS security mechanisms.

Impact

Aspose.CAD for Python is completely unusable on macOS 26 (Sequoia).

Suggested Fix

Update CoreCLR or the PAL (Platform Abstraction Layer) to comply with macOS 26’s stricter security requirements for Mach port access. Consider:

  1. Using alternative exception handling mechanisms that don’t require thread_swap_exception_ports
  2. Checking for macOS version and using compatible APIs
  3. Adding entitlements or providing guidance on required entitlements

Workaround

Currently no workaround available for macOS 26. Users need to:

  1. Use alternative tools (ODA File Converter + ezdxf)
  2. Run in a Linux VM or Docker container
  3. Downgrade macOS (not recommended)

Related

  • This is a known issue with CoreCLR on macOS Sequoia
  • Similar issues have been reported in .NET runtime repositories

Date

2026-04-27


Please let me know if you need additional crash logs or system information.

@Lindzey,
Hello,
thank you for details, we have created CADPYTHON-480 investigation ticket.

Hello, I would like to know how long it is expected to take to fix this issue. I hope to be able to use macOS 26 (Sequoia) within the trial period to consider further purchase plans.

@Lindzey,
Hi,
this ticket is pending for the deep investigation, right now we can not confirm even that we can support this system. And according to our forum policy we can not guarantee any delivery timeframes. So we hope to have more information on this later.