Skip to content

v1.4.0 crashes with CheckedContinuation misuse on macOS 26.2 (25C56) #136

@narangproduct-cmyk

Description

@narangproduct-cmyk

Environment

  • iMCP version: 1.4.0 (Build 10)
  • macOS: 26.2 (25C56) Tahoe
  • Hardware: Mac17,2 (Apple Silicon, arm64)
  • Installation: Homebrew cask (brew install --cask mattt/tap/iMCP)

Description

iMCP v1.4.0 crashes immediately upon receiving an MCP client connection via imcp-server. The crash occurs in CheckedContinuation.resume(throwing:) with SWIFT TASK CONTINUATION MISUSE, identical to the issue fixed in PR #112.

This appears to be a regression or incomplete fix -- the same crash pattern occurs on the com.apple.root.user-initiated-qos.cooperative queue.

Reproduction Steps

  1. Install iMCP v1.4.0 via Homebrew cask
  2. Launch iMCP.app (menu bar icon appears)
  3. Run: echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"claude-code","version":"1.0.0"}}}' | /Applications/iMCP.app/Contents/MacOS/imcp-server
  4. iMCP.app shows client approval dialog → click "Allow"
  5. iMCP.app crashes immediately after approval

Observed Behavior

  • imcp-server outputs repeated connectionClosed errors
  • System log shows: Fatal error: SWIFT TASK CONTINUATION MISUSE: connect() tried to resume its continuation more than once
  • 4 crash reports generated within 8 minutes

Crash Log (Thread 3, faulting thread)

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Queue: com.apple.root.user-initiated-qos.cooperative

Thread 3 Crashed:
0  libswiftCore.dylib  _assertionFailure(_:_:file:line:flags:)
1  libswift_Concurrency.dylib  CheckedContinuation.resume(throwing:)
2  iMCP  (offset 899416)
3  iMCP  (offset 108941)
4  iMCP  (offset 877321)
5  iMCP  (offset 108941)
6  libswift_Concurrency.dylib  completeTaskWithClosure

Related Issues

Notes

This may be specific to macOS 26.2 (Tahoe). The previous reporters were on macOS 26.2 beta and macOS 26.1. The PR #112 fix addresses continuation misuse in CLI/main.swift, Capture.swift, and ServerController.swift, but the crash stack suggests an unpatched code path in the main app binary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions