Skip to content

[Bug]: Crash EXC_GUARD (mach port INVALID_NAME) on launch — macOS 27.0 beta (26A5388g) #65

Description

@Loong111

App Version

1.0 (1.0.3)

Device Model (iMac/MacBook/Mac mini/etc.)

MacBook (Mac14,2, Apple Silicon)

OS Version

macOS 27.0 beta (26A5388g)

Describe the bug

Summary

RunCatNeo crashes immediately on launch on macOS 27.0 beta (build 26A5388g). The process is killed by the system with EXC_GUARD / GUARD_TYPE_MACH_PORT (INVALID_NAME on mach port). The app never becomes usable. Installed from the Mac App Store. 100% reproducible, and confirmed identical after a full reboot.

What happens

The crash is EXC_GUARD with subtype GUARD_TYPE_MACH_PORT: INVALID_NAME on mach port. The crashing thread (Thread 6) calls mach_port_deallocate on an already-invalid Mach port, which macOS 26/27's stricter port-lifecycle guards treat as a fatal violation.

The crashing stack frames (2–9) are all inside the RunCatNeo binary itself (not system frameworks), so this looks like a double-free / deallocation of an invalid port in the app's own code. This code path may have worked on earlier macOS versions, but macOS 27's tightened Mach port EXC_GUARD enforcement now turns it into a hard crash.

I captured two crash reports (~16 minutes apart, with a full reboot in between). They are effectively identical — same faulting thread and the exact same RunCatNeo stack offsets (+1577012 → +60969) — so the crash is fully deterministic.

Key crash info

Process:             RunCatNeo
Version:             1.0 (1.0.3)
OS Version:          macOS 27.0 (26A5388g)
Hardware Model:      Mac14,2
Exception Type:      EXC_GUARD
Exception Subtype:   GUARD_TYPE_MACH_PORT
Exception Message:   INVALID_NAME on mach port (guarded with 0x0000000000000000)
Termination Reason:  Namespace GUARD

Triggered by Thread: 6

Thread 6 Crashed:: Dispatch queue: com.apple.root.user-initiated-qos.cooperative
0  libsystem_kernel.dylib   _kernelrpc_mach_port_deallocate_trap + 8
1  libsystem_kernel.dylib   mach_port_deallocate + 28
2  RunCatNeo                0x1004c4000 + 1577012
3  RunCatNeo                0x1004c4000 + 1577320
4  RunCatNeo                0x1004c4000 + 1580753
5  RunCatNeo                0x1004c4000 + 1597121
6  RunCatNeo                0x1004c4000 + 1595553
7  RunCatNeo                0x1004c4000 + 58105
8  RunCatNeo                0x1004c4000 + 57781
9  RunCatNeo                0x1004c4000 + 60969
10 libswift_Concurrency.dylib  completeTaskWithClosure(...) + 1

Environment note (possible contributing trigger)

My environment has SIP disabled, developer mode enabled, and Apple's Metal GPU debugging tools active — in the second report, GPUToolsCapture / GPUToolsTransport appear injected into the process, hooking the Metal pipeline while the menu bar icon is being rendered. This may be a contributing trigger, but the faulting mach_port_deallocate call originates entirely within the RunCatNeo binary, so the root cause appears to be an invalid/double Mach port deallocation in the app's own code. A user without these tools could still hit the same bug.

Full crash reports (both) available on request.

How to reproduce

  1. On a Mac running macOS 27.0 beta (26A5388g), install RunCatNeo 1.0.3 from the Mac App Store.
  2. Launch RunCatNeo (from Launchpad, Applications, or Spotlight).
  3. The app crashes immediately on launch, before any menu bar icon appears.

Reproducibility: 100% — happens on every launch, and confirmed identical after a full reboot and reinstall.

Expected behavior

The app launches successfully and shows the running cat animation in the menu bar without crashing.

Screenshots (optional)

No response

Check List

  • I have read CONTRIBUTING.md.
  • I reinstalled the app, rebooted my Mac, and the bug still reproduces.
  • No duplicate exists. I will file any related-but-distinct bugs as separate issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions