nikitabobko / AeroSpace

AeroSpace is an i3-like tiling window manager for macOS
https://nikitabobko.github.io/AeroSpace/guide
MIT License
6.65k stars 108 forks source link

Aerospace freezes when debugging Xcode with "My Mac (Designed for iPad)" as destination #526

Open FriedSnowman opened 1 month ago

FriedSnowman commented 1 month ago

Aerospace will freeze and become extremely unresponsive when debugging an Xcode iOS project using "My Mac (Designed for iPad)" destination.

Reproduction:

struct ContentView: View { var body: some View { VStack { } .onAppear { let a: String? = nil var b: String = "" b = a! } } }

- Run as `My Mac (Designed for iPad)`
- As soon as the app launches and crashes, Aerospace will become barely responsive until the debugging session stops.

`aerospace debug-windows` doesn't work because the crashed application isn't visible nor interactable. No crash logs because Aerospace never crashes.

OS: Version 15.0 (24A335)
Xcode: Version 16.0 (16A242d)
<!--
Consider including in bug reports:
- `aerospace debug-windows` output if applicable
- Screenshots of problematic windows if applicable
- Videos of problematic windows if applicable
- Your config
-->

## Checklist

<!-- Please fill in the checklist. You must have strong reasons not to do so -->

- [x] I've searched for duplicates. My search queries were (please don't forget to search in closed issues too):
  - lag
  - xcode
  - freeze
- [x] I've read the guide https://nikitabobko.github.io/AeroSpace/guide
- [x] I've searched in the documentation (https://nikitabobko.github.io/AeroSpace/guide & https://nikitabobko.github.io/AeroSpace/commands). My search queries were:
  - lag

aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201 AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201

jakenvac commented 2 weeks ago

Although not obvious, I think this is a duplicate of #497

When an app's main thread is blocked (like a crashed app or an app stopped at a breakpoint) the AX (accessibility) API's can't communicate effectively with the problem app and causes a hang.

Currently there is no workaround, although some ideation has happened on the linked issue.