block / block/buzz

Persistent EXC_GUARD (mach port guard flavor 0x200) — ~2.3k/day, ~4/min sustained idle (Desktop 0.5.19, macOS 26.5.1)

Open
#6,907 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

### Summary
Sustained `EXC_GUARD` kernel exceptions from `buzz-desktop` — ~2.3k / 24h (~4/min) steady while idle. No crash, but kernel reports guarded-resource violations (`AST: type=0x1 flavor=0x200`).

### Environment
- **App:** Buzz Desktop `0.5.19` (`/Applications/Buzz.app`, `CFBundleShortVersionString 0.5.19`, running `12:08:39` at time of report)
- **OS:** macOS `26.5.1` (Build `25F80`), darwin-xnu guard types per `osfmk/kern/exc_guard.h`
- **Process:** `buzz-desktop` pid `15289` + `18x buzz-acp` helpers observed (`ps aux | grep buzz-acp`)

### What happened
Kernel unified log (`log show --last 24h --predicate 'eventMessage CONTAINS "EXC_GUARD" AND eventMessage CONTAINS "buzz"' --style json`) shows continuous exceptions:

```
ERROR: [buzz-desktop:15289] EXC_GUARD AST: type=0x1 flavor=0x200 target=0x3029f code=0x200002000003029f subcode=0x0
ERROR: [buzz-desktop:15289] EXC_GUARD AST: type=0x1 flavor=0x200 target=0x240c3 code=0x20000200000240c3 subcode=0x0
...
```

- **Count 24h:** `2315` events for `buzz-desktop:15289` (kernel source `/kernel`)
- **Rate:** remarkably steady, not bursty:

```
2026-08-26 14 192
2026-08-26 15 234
2026-08-26 16 234
2026-08-26 17 234
2026-08-26 18 240
2026-08-26 19 234
2026-08-26 20 234
2026-08-26 21 232
2026-08-26 22 234
2026-08-26 23 234
2026-08-27 00 13 (partial hour)
```
~232–240/hour ≈ 4/min sustained for 10+ hours while app was idle (no transcription in progress).

- **Distinct targets:** many `target` values (e.g., `0x3029f`, `0x240c3`, `0x302ab`, `0x2ad33`, etc.) — not a single stuck fd, suggests repeated guard-violating path.
- **Type decode:** `GUARD_TYPE_MACH_PORT (0x1)` per `exc_guard.h`; `flavor 0x200` indicates close/invalidation of a guarded Mach port (vs `GUARD_TYPE_FD (0x2)` for fd). Either way, violates a `guard` installed via `guarded`/`close_guarded` expectations.

### Steps to reproduce
1. Launch Buzz Desktop 0.5.19 on macOS 26.5, leave running idle.
2. Monitor: `/usr/bin/log show --last 1h --predicate 'eventMessage CONTAINS "EXC_GUARD"' --style json | grep buzz`
3. Observe ~4 new events/min indefinitely.

### Expected behavior
No `EXC_GUARD` — guarded Mach ports / fds should be closed via the guarded path or unguarded before close.

### Why report
`EXC_GUARD` is a real bug signal (kernel delivers `EXC_GUARD` exception, caught by `AST`), not log noise. Current rate is low enough not to crash, but at scale it indicates a code path closing a guarded resource incorrectly. Under heavier load / different timing it could escalate to termination. Pattern (steady 4/min for hours) suggests a periodic timer / poll in `buzz-acp` or `buzz-desktop` that hits this path each cycle.

### Additional context
- No crash report generated (`~/Library/Logs/DiagnosticReports` check 1h = 0).
- Only `buzz-desktop` pid emits this; `buzz-acp` PIDs not directly in message but 18 helpers running suggests relay/harness involvement (Block buzz `buzz-acp` harness per docs).
- Happy to provide `sample` or `log show` JSON excerpt if helpful.

Let me know if you want a trace on specific `target` ports or a `spindump`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.