anthropics / anthropics/claude-code

iOS Simulator live panel helper (claude-ios-sim) crash-loops in Metal/CoreImage on macOS 27.0 beta

Đang mở
#90,684 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:desktop bug duplicate has repro platform:macos
Ngôn ngữ chính
Python
Star
145k
Fork
23.1k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

## Summary

The iOS Simulator live panel helper (`claude-ios-sim`, bundled with the Claude desktop app at `/Applications/Claude.app/Contents/Helpers/Claude iOS Sim.app`) crashes with SIGABRT immediately on every `attach`, on macOS 27.0 beta. The crash is an uncaught NSException thrown inside Apple's Metal framework while CoreImage loads a precompiled Metal binary archive — so this looks like a macOS 27 beta framework incompatibility rather than app logic, but the helper has no guard around it and dies every time, making the live panel unusable on the OS beta.

The simulator itself is healthy: `simctl` boot/screenshot/io all work, and headless verification through the MCP tool works between crashes. Only the panel helper dies.

## Environment

- macOS 27.0 beta (build `26A5421a`), Apple Silicon (Mac16,8)
- Claude desktop app 1.40609.0, Claude Code 2.1.220
- Xcode 27.0 beta (27A5209h), iOS 27.0 simulator runtime (24A5370g)
- Booted device: iPhone 17 (iOS 27.0)

## Steps to reproduce

1. Run macOS 27.0 beta with Xcode 27 beta selected (`xcode-select` → Xcode-beta.app), iOS 27.0 runtime installed.
2. Boot any iOS 27.0 simulator (`xcrun simctl boot `).
3. Call the iOS Simulator MCP tool with `action: "attach"` (or otherwise open the live panel).
4. The tool reports "Simulator panel opened", but `claude-ios-sim` aborts within seconds. Subsequent `screenshot` calls return "Claude Code iOS Simulator is restarting after a crash."

Reproduced 6 times in a row (six `.ips` reports within two minutes). Clearing the per-user Metal shader caches (`$(getconf DARWIN_USER_CACHE_DIR)/com.apple.metal{,fe}`) does not help.

## Crash details

`EXC_CRASH (SIGABRT)`, `abort() called`, uncaught NSException. Last exception backtrace (from the `.ips` report):

```
CoreFoundation __exceptionPreprocess
libobjc.A.dylib objc_exception_throw
CoreFoundation -[__NSPlaceholderArray initWithObjects:count:]
CoreFoundation +[NSArray arrayWithObjects:count:]
Metal __39-[_MTLDevice recordBinaryArchiveUsage:]_block_invoke
libdispatch.dylib _dispatch_client_callout
libdispatch.dylib _dispatch_once_callout
Metal -[_MTLDevice recordBinaryArchiveUsage:]
Metal -[_MTLBinaryArchive loadFromURL:error:]
Metal -[_MTLBinaryArchive initWithOptions:device:url:error:]
CoreImage +[CIKernelLibrary(Internal) internalBinaryArchiveWithName:device:]
CoreImage CI::PrecompiledUberFunctions::PrecompiledUberFunctions(CI::MetalContext const*)
```

`recordBinaryArchiveUsage:` builds an `NSArray` with a nil element while CoreImage initializes its precompiled uber-function archive. Full `.ips` crash reports available on request (they carry device identifiers, so not pasting them wholesale here).

## Expected

Either the panel renders, or the helper catches the failure and degrades gracefully (e.g. panel reports "rendering unavailable on this OS" while headless screenshot/input keeps working) instead of crash-looping.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Start by reproducing the attach flow with the stated macOS, Xcode, and iOS simulator versions, then inspect the `.ips` reports for the CoreImage/Metal failure. The issue identifies the bundled helper at `/Applications/Claude.app/Contents/Helpers/Claude iOS Sim.app` but no repository source or test; determine where that helper is implemented and whether graceful degradation can be verified without breaking `simctl` or headless MCP operations.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
ios, macos
Lĩnh vực
desktop, mobile-dev, operating-systems
Loại issue
Lỗi
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
20/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.