-
-
Notifications
You must be signed in to change notification settings - Fork 4k
Workaround a crash in macOS tahoe 26 / xcode 16.4+ #20146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
As a small note: the advisories CI failure is unrelated to this PR, so it can be ignored. |
I think this should be included in 0.17. It's a small change, and we don't want to crash on platforms we will need to support in the future |
CI is clean now after the minimp3 removal :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not able to test it locally, but the change and comments look good. Note that this is something all projects that depend on Bevy will need to do in order to avoid crashing.
We should probably open up a follow-up issue for this that is blocked on Winit's next release, but beyond that it looks good!
Hey @mockersf how much do you hate this? |
A lot. This doesn't fix anything because profiles are not used from libraries https://doc.rust-lang.org/cargo/reference/profiles.html#profiles
|
@madsmtm do you know if a winit 0.30.12 patch with rust-windowing/winit#4302 is planned? |
I made a PR to add this to winit v0.30.x rust-windowing/winit#4301 in winit. It's been merged to master rust-windowing/winit#4302, but my v0.30x PR was closed a few weeks ago because it needed to go to master first |
If you objc2 = { version = "0.5.2", features = ["relax-sign-encoding"] } Just add this and (and also for 0.6 version I guess if it's in tree) for macOS in bevy where e.g. winit is pulled and you have it fixed. |
I would prefer to not add a direct dependency on Also, having the update in a |
If you can wait (until I have time to cut a release), then yes, that would be better, it just felt with that spam that urgent action is required, which I've provided. |
macOS 26 will release at the earliest in September, so not that urgent. The sooner the patch is the better, but no need to rush |
Objective
Workaround a crash in macOS tahoe 26, and newer xcode versions.
Fixes #19625, and see #19567
Solution
Disable debug assertions in objc2 untl winit has a new release enabling a more precise workaround.
Testing
cargo run --example breakout
goes from crashing to working fine on the macOS tahoe beta.Alternative
A beta is a beta so maybe it's just not supported and we should just wait for the winit update. madsmtm/objc2#765 (comment) implies that an incoming xcode update has the same issue however so it might be more urgent.