iced
iced copied to clipboard
debug build of tour does not run on macOS Tahoe
Is your issue REALLY a bug?
- [x] My issue is indeed a bug!
- [x] I am not crazy! I will not fill out this form just to ask a question or request a feature. Pinky promise.
Is there an existing issue for this?
- [x] I have searched the existing issues.
Is this issue related to iced?
- [x] My hardware is compatible and my graphics drivers are up-to-date.
What happened?
cargo run --package tour instantly crashes
similar bug to #3055but its a different error.
works if debug-assertions is set to false for objc2 with this snippet:
[profile.dev.package.objc2]
debug-assertions = false
What is the expected behavior?
iced tour runs and starts
Version
master
Operating System
macOS
Do you have any log output?
▲ slowly - iced [master] : cargo run --package tour
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s
Running `target/debug/tour`
2025-09-16T05:55:41.408345Z INFO iced_winit: System theme: None
thread 'main' (605477) panicked at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.2.2/src/generated/NSEnumerator.rs:7:1:
invalid message send to -[_TtGCs23_ContiguousArrayStorageCSo8NSScreen_$ countByEnumeratingWithState:objects:count:]: expected return to have type code 'q', but found 'Q'
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Can you paste a backtrace?
▲ slowly - iced [master] : RUST_BACKTRACE=1 cargo run --package tour
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.19s
Running `target/debug/tour`
2025-09-16T06:36:59.486652Z INFO iced_winit: System theme: None
thread 'main' (647852) panicked at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.2.2/src/generated/NSEnumerator.rs:7:1:
invalid message send to -[_TtGCs23_ContiguousArrayStorageCSo8NSScreen_$ countByEnumeratingWithState:objects:count:]: expected return to have type code 'q', but found 'Q'
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/52618eb338609df44978b0ca4451ab7941fd1c7a/library/std/src/panicking.rs:698:5
1: core::panicking::panic_fmt
at /rustc/52618eb338609df44978b0ca4451ab7941fd1c7a/library/core/src/panicking.rs:75:14
2: objc2::runtime::message_receiver::panic_verify
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/runtime/message_receiver.rs:346:5
3: objc2::runtime::message_receiver::msg_send_check_class
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/runtime/message_receiver.rs:334:5
4: objc2::runtime::message_receiver::msg_send_check
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/runtime/message_receiver.rs:311:5
5: objc2::runtime::message_receiver::MessageReceiver::send_message
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/runtime/message_receiver.rs:426:13
6: objc2::__macro_helpers::msg_send::MsgSend::send_message
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/__macro_helpers/msg_send.rs:27:31
7: objc2_foundation::generated::__NSEnumerator::NSFastEnumeration::countByEnumeratingWithState_objects_count
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/macros/extern_protocol.rs:239:14
8: objc2_foundation::iter::FastEnumeratorHelper::load_next_items
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.2.2/src/iter.rs:109:24
9: objc2_foundation::iter::FastEnumeratorHelper::next_from
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.2.2/src/iter.rs:150:27
10: <objc2_foundation::iter::IntoIter<C> as core::iter::traits::iterator::Iterator>::next
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.2.2/src/iter.rs:465:40
11: <objc2_foundation::array::IntoIter<T> as core::iter::traits::iterator::Iterator>::next
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.2.2/src/iter.rs:712:24
12: core::iter::traits::iterator::Iterator::try_fold
at /Users/slowly/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2425:34
13: core::iter::traits::iterator::Iterator::find
at /Users/slowly/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2888:14
14: winit::platform_impl::macos::monitor::MonitorHandle::ns_screen
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/monitor.rs:300:44
15: winit::platform_impl::macos::monitor::MonitorHandle::scale_factor::{{closure}}
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/monitor.rs:207:24
16: objc2_foundation::thread::run_on_main
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.2.2/src/thread.rs:113:9
17: winit::platform_impl::macos::monitor::MonitorHandle::scale_factor
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/monitor.rs:206:9
18: winit::platform_impl::macos::monitor::MonitorHandle::position
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/monitor.rs:202:35
19: winit::monitor::MonitorHandle::position
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/monitor.rs:126:20
20: iced_winit::conversion::position
at ./winit/src/conversion.rs:386:37
21: iced_winit::conversion::window_attributes
at ./winit/src/conversion.rs:49:9
22: iced_winit::run::Runner<Message,F>::process_event
at ./winit/src/lib.rs:334:37
23: <iced_winit::run::Runner<Message,F> as winit::application::ApplicationHandler<iced_runtime::Action<Message>>>::user_event
at ./winit/src/lib.rs:242:18
24: winit::event_loop::dispatch_event_for_app
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/event_loop.rs:644:40
25: winit::event_loop::EventLoop<T>::run_app::{{closure}}
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/event_loop.rs:265:49
26: winit::platform_impl::macos::event_loop::map_user_event::{{closure}}
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/event_loop.rs:177:17
27: <alloc::boxed::Box<F,A> as core::ops::function::FnMut<Args>>::call_mut
at /Users/slowly/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1992:9
28: winit::platform_impl::macos::event_handler::EventHandler::handle_event
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/event_handler.rs:125:17
29: winit::platform_impl::macos::app_state::ApplicationDelegate::handle_event
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/app_state.rs:362:36
30: winit::platform_impl::macos::app_state::ApplicationDelegate::cleared
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/app_state.rs:420:14
31: winit::platform_impl::macos::observer::control_flow_end_handler::{{closure}}
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/observer.rs:84:80
32: winit::platform_impl::macos::observer::control_flow_handler::{{closure}}
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/observer.rs:46:9
33: std::panicking::catch_unwind::do_call
at /Users/slowly/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:590:40
34: ___rust_try
35: std::panicking::catch_unwind
at /Users/slowly/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:553:19
36: std::panic::catch_unwind
at /Users/slowly/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
37: winit::platform_impl::macos::event_loop::stop_app_on_panic
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/event_loop.rs:432:11
38: winit::platform_impl::macos::observer::control_flow_handler
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/observer.rs:44:5
39: winit::platform_impl::macos::observer::control_flow_end_handler
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/observer.rs:79:9
40: <unknown>
41: <unknown>
42: <unknown>
43: <unknown>
44: <unknown>
45: <unknown>
46: <unknown>
47: <unknown>
48: <unknown>
49: <unknown>
50: <unknown>
51: <unknown>
52: <() as objc2::encode::EncodeArguments>::__invoke
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/encode.rs:437:26
53: objc2::runtime::message_receiver::msg_send_primitive::send
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/runtime/message_receiver.rs:173:18
54: objc2::runtime::message_receiver::MessageReceiver::send_message
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/runtime/message_receiver.rs:433:38
55: objc2::__macro_helpers::msg_send::MsgSend::send_message
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/__macro_helpers/msg_send.rs:27:31
56: objc2_app_kit::generated::__NSApplication::NSApplication::run
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/macros/extern_methods.rs:247:14
57: winit::platform_impl::macos::event_loop::EventLoop<T>::run_on_demand::{{closure}}::{{closure}}
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/event_loop.rs:303:35
58: objc2::rc::autorelease::autoreleasepool
at /Users/slowly/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.5.2/src/rc/autorelease.rs:438:15
59: winit::platform_impl::macos::event_loop::EventLoop<T>::run_on_demand::{{closure}}
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/event_loop.rs:289:13
60: winit::platform_impl::macos::event_handler::EventHandler::set
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/event_handler.rs:98:9
61: winit::platform_impl::macos::app_state::ApplicationDelegate::set_event_handler
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/app_state.rs:231:36
62: winit::platform_impl::macos::event_loop::EventLoop<T>::run_on_demand
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/event_loop.rs:288:23
63: winit::platform_impl::macos::event_loop::EventLoop<T>::run
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/platform_impl/macos/event_loop.rs:275:14
64: winit::event_loop::EventLoop<T>::run_app
at /Users/slowly/.cargo/git/checkouts/winit-865c6d5afb3ec9c3/05b8ff1/src/event_loop.rs:265:25
65: iced_winit::run
at ./winit/src/lib.rs:457:28
66: iced::application::Application<P>::run
at ./src/application.rs:192:12
67: tour::main
at ./examples/tour/src/main.rs:22:10
68: core::ops::function::FnOnce::call_once
at /Users/slowly/.rustup/toolchains/nightly-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.
Looks like its on objc2 side this time, at least if found this: https://github.com/madsmtm/objc2/issues/765 I hope it helps.
Added the following lines to Cargo.toml to get it working:
# Workaround for macOS Sequoia (15.0+) objc2-foundation compatibility issue
[profile.dev.package.objc2]
debug-assertions = false