iced icon indicating copy to clipboard operation
iced copied to clipboard

debug build of tour does not run on macOS Tahoe

Open slowlydev opened this issue 4 months ago • 4 comments

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

slowlydev avatar Sep 16 '25 05:09 slowlydev

Can you paste a backtrace?

hecrj avatar Sep 16 '25 06:09 hecrj

 ▲ 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.

slowlydev avatar Sep 16 '25 06:09 slowlydev

Looks like its on objc2 side this time, at least if found this: https://github.com/madsmtm/objc2/issues/765 I hope it helps.

slowlydev avatar Sep 16 '25 06:09 slowlydev

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

dominikj111 avatar Oct 07 '25 15:10 dominikj111