Skip to content

MacOs - Putting System to Sleep / Suspending Causes MonitorHandle::uuid to panic #4166

@Braymatter

Description

@Braymatter

Description

Originally created here: bevyengine/bevy#17827

I had my game running and my laptop went to sleep for a couple hours. When I logged back in the app panicked with the following message:

thread 'main' panicked at /Users/caylebray/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/core-foundation-0.9.4/src/uuid.rs:27:1:
Attempted to create a NULL object.

Anecdotally, after resuming my app on ios after a long time it pauses for a bit and crashes, so it could be related.

Rust Backtrace:

2025-03-12T08:42:24.523314Z  INFO physiboids::ship::auto_spawn_player_n: Spawning player 1
2025-03-12T08:42:24.545897Z  INFO physiboids::gui::egui_ui: Margins changed, updating viewport: UiMargins { left: 276.0, right: 0.0, top: 0.0, bottom: 0.0 }
2025-03-12T08:42:24.545934Z  INFO physiboids::gui::egui_ui: Setting viewport to UVec2(3561, 1900) UVec2(38, 0)
2025-03-12T08:42:41.742840Z  INFO bevy_winit::system: Monitor removed 74v1#4294967370
2025-03-12T08:42:41.742864Z  INFO bevy_winit::system: Monitor removed 75v1#4294967371
thread 'main' panicked at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/core-foundation-0.9.4/src/uuid.rs:27:1:
Attempted to create a NULL object.
stack backtrace:
   0: std::panicking::begin_panic
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:737:5
   1: <core_foundation::uuid::CFUUID as core_foundation::base::TCFType>::wrap_under_create_rule
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/core-foundation-0.9.4/src/lib.rs:110:17
   2: winit::platform_impl::macos::monitor::MonitorHandle::uuid
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/monitor.rs:110:13
   3: winit::platform_impl::macos::monitor::MonitorHandle::ns_screen::{{closure}}
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/monitor.rs:326:21
   4: core::iter::traits::iterator::Iterator::find::check::{{closure}}
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2829:20
   5: core::iter::traits::iterator::Iterator::try_fold
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2370:21
   6: core::iter::traits::iterator::Iterator::find
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2833:9
   7: winit::platform_impl::macos::monitor::MonitorHandle::ns_screen
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/monitor.rs:323:9
   8: winit::platform_impl::macos::monitor::MonitorHandle::scale_factor::{{closure}}
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/monitor.rs:230:19
   9: objc2_foundation::thread::run_on_main
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-foundation-0.2.2/src/thread.rs:113:9
  10: winit::platform_impl::macos::monitor::MonitorHandle::scale_factor
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/monitor.rs:229:9
  11: winit::platform_impl::macos::monitor::MonitorHandle::size
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/monitor.rs:215:77
  12: winit::monitor::MonitorHandle::size
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/monitor.rs:119:9
  13: bevy_winit::system::create_monitors
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_winit-0.15.2/src/system.rs:173:20
  14: <bevy_winit::state::WinitAppRunnerState<T> as winit::application::ApplicationHandler<T>>::about_to_wait
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_winit-0.15.2/src/state.rs:446:9
  15: winit::event_loop::dispatch_event_for_app
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/event_loop.rs:647:31
  16: winit::event_loop::EventLoop<T>::run_app::{{closure}}
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/event_loop.rs:265:49
  17: winit::platform_impl::macos::event_loop::map_user_event::{{closure}}
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/event_loop.rs:174:22
  18: <alloc::boxed::Box<F,A> as core::ops::function::FnMut<Args>>::call_mut
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1979:9
  19: winit::platform_impl::macos::event_handler::EventHandler::handle_event
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/event_handler.rs:125:17
  20: winit::platform_impl::macos::app_state::ApplicationDelegate::handle_event
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/app_state.rs:322:9
  21: winit::platform_impl::macos::app_state::ApplicationDelegate::cleared
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/app_state.rs:390:9
  22: winit::platform_impl::macos::observer::control_flow_end_handler::{{closure}}
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/observer.rs:84:21
  23: winit::platform_impl::macos::observer::control_flow_handler::{{closure}}
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/observer.rs:46:9
  24: std::panicking::try::do_call
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:557:40
  25: ___rust_try
  26: std::panicking::try
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:520:19
  27: std::panic::catch_unwind
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:358:14
  28: winit::platform_impl::macos::event_loop::stop_app_on_panic
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/event_loop.rs:432:11
  29: winit::platform_impl::macos::observer::control_flow_handler
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/observer.rs:44:5
  30: winit::platform_impl::macos::observer::control_flow_end_handler
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/observer.rs:79:9
  31: <unknown>
  34: <unknown>
  35: <unknown>
  36: <unknown>
  37: <unknown>
  38: <unknown>
  39: <unknown>
  40: <unknown>
  41: <() as objc2::encode::EncodeArguments>::__invoke
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.5.2/src/encode.rs:437:26
  42: objc2::runtime::message_receiver::msg_send_primitive::send
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.5.2/src/runtime/message_receiver.rs:173:18
  43: objc2::runtime::message_receiver::MessageReceiver::send_message
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.5.2/src/runtime/message_receiver.rs:433:38
  44: objc2::__macro_helpers::msg_send::MsgSend::send_message
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.5.2/src/__macro_helpers/msg_send.rs:27:31
  45: objc2_app_kit::generated::__NSApplication::NSApplication::run
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.5.2/src/macros/extern_methods.rs:247:14
  46: winit::platform_impl::macos::event_loop::EventLoop<T>::run_on_demand::{{closure}}::{{closure}}
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/event_loop.rs:303:26
  47: objc2::rc::autorelease::autoreleasepool
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.5.2/src/rc/autorelease.rs:438:15
  48: winit::platform_impl::macos::event_loop::EventLoop<T>::run_on_demand::{{closure}}
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/event_loop.rs:289:13
  49: winit::platform_impl::macos::event_handler::EventHandler::set
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/event_handler.rs:98:9
  50: winit::platform_impl::macos::app_state::ApplicationDelegate::set_event_handler
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/app_state.rs:191:9
  51: winit::platform_impl::macos::event_loop::EventLoop<T>::run_on_demand
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/event_loop.rs:288:9
  52: winit::platform_impl::macos::event_loop::EventLoop<T>::run
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/platform_impl/macos/event_loop.rs:275:9
  53: winit::event_loop::EventLoop<T>::run_app
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.9/src/event_loop.rs:265:9
  54: bevy_winit::state::winit_runner
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_winit-0.15.2/src/state.rs:862:23
  55: core::ops::function::FnOnce::call_once
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  56: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  57: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1972:9
  58: bevy_app::app::App::run
             at /Users/rj/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.15.2/src/app.rs:170:9
  59: physiboids::main
             at ./src/main.rs:93:5
  60: core::ops::function::FnOnce::call_once
             at /Users/rj/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Device and iOS version

Macbook Pro M3 Max

Winit version

0.30.9

Metadata

Metadata

Assignees

Labels

B - bugDang, that shouldn't have happenedDS - appkitAffects the AppKit/macOS backend

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions