Skip to content

Menu panics with "index out of bounds" #408

@shartrec

Description

@shartrec

When using fairly simple menu structure. Menu often panics when selecting an item (usually the first item) with:

index out of bounds: the len is 1 but the index is 1
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/panicking.rs:698:5
   1: core::panicking::panic_fmt
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/panicking.rs:75:14
   2: core::panicking::panic_bounds_check
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/panicking.rs:271:5
   3: <usize as core::slice::index::SliceIndex<[T]>>::index_mut
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/slice/index.rs:273:14
   4: core::slice::index::<impl core::ops::index::IndexMut<I> for [T]>::index_mut
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/slice/index.rs:30:15
   5: <alloc::vec::Vec<T,A> as core::ops::index::IndexMut<I>>::index_mut
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs:3629:9
   6: <iced_aw::widget::menu::menu_bar_overlay::MenuBarOverlay<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::rec
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_aw-0.13.0/src/widget/menu/menu_bar_overlay.rs:577:47
   7: <iced_aw::widget::menu::menu_bar_overlay::MenuBarOverlay<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::rec::{{closure}}::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_aw-0.13.0/src/widget/menu/menu_bar_overlay.rs:593:25
   8: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:824:29
   9: <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:286:25
  10: <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:103:9
  11: core::iter::traits::iterator::Iterator::for_each
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:827:14
  12: <iced_aw::widget::menu::menu_bar_overlay::MenuBarOverlay<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::rec::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_aw-0.13.0/src/widget/menu/menu_bar_overlay.rs:592:22
  13: <iced_core::widget::operation::focusable::focus::Focus as iced_core::widget::operation::Operation<T>>::traverse
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/widget/operation/focusable.rs:52:13
  14: <iced_aw::widget::menu::menu_bar_overlay::MenuBarOverlay<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::rec
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_aw-0.13.0/src/widget/menu/menu_bar_overlay.rs:588:23
  15: <iced_aw::widget::menu::menu_bar_overlay::MenuBarOverlay<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::rec::{{closure}}::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_aw-0.13.0/src/widget/menu/menu_bar_overlay.rs:593:25
  16: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:824:29
  17: <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:286:25
  18: <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:103:9
  19: core::iter::traits::iterator::Iterator::for_each
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:827:14
  20: <iced_aw::widget::menu::menu_bar_overlay::MenuBarOverlay<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::rec::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_aw-0.13.0/src/widget/menu/menu_bar_overlay.rs:592:22
  21: <iced_core::widget::operation::focusable::focus::Focus as iced_core::widget::operation::Operation<T>>::traverse
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/widget/operation/focusable.rs:52:13
  22: <iced_aw::widget::menu::menu_bar_overlay::MenuBarOverlay<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::rec
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_aw-0.13.0/src/widget/menu/menu_bar_overlay.rs:588:23
  23: <iced_aw::widget::menu::menu_bar_overlay::MenuBarOverlay<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_aw-0.13.0/src/widget/menu/menu_bar_overlay.rs:598:9
  24: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::{{closure}}::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:132:44
  25: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:824:29
  26: <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:286:25
  27: <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:103:9
  28: core::iter::traits::iterator::Iterator::for_each
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:827:14
  29: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:130:61
  30: <iced_core::widget::operation::focusable::focus::Focus as iced_core::widget::operation::Operation<T>>::traverse
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/widget/operation/focusable.rs:52:13
  31: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:129:19
  32: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::{{closure}}::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:132:44
  33: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:824:29
  34: <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:286:25
  35: <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:103:9
  36: core::iter::traits::iterator::Iterator::for_each
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:827:14
  37: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:130:61
  38: <iced_core::widget::operation::focusable::focus::Focus as iced_core::widget::operation::Operation<T>>::traverse
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/widget/operation/focusable.rs:52:13
  39: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:129:19
  40: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::{{closure}}::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:132:44
  41: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:824:29
  42: <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:286:25
  43: <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::fold
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/zip.rs:103:9
  44: core::iter::traits::iterator::Iterator::for_each
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:827:14
  45: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:130:61
  46: <iced_core::widget::operation::focusable::focus::Focus as iced_core::widget::operation::Operation<T>>::traverse
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/widget/operation/focusable.rs:52:13
  47: <iced_core::overlay::group::Group<Message,Theme,Renderer> as iced_core::overlay::Overlay<Message,Theme,Renderer>>::operate
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/group.rs:129:19
  48: iced_core::overlay::nested::Nested<Message,Theme,Renderer>::operate::recurse
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/nested.rs:153:25
  49: iced_core::overlay::nested::Nested<Message,Theme,Renderer>::operate
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_core-0.14.0/src/overlay/nested.rs:163:9
  50: iced_runtime::user_interface::UserInterface<Message,Theme,Renderer>::operate
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_runtime-0.14.0/src/user_interface.rs:572:21
  51: iced_winit::run_action
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_winit-0.14.0/src/lib.rs:1748:28
  52: iced_winit::run_instance::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_winit-0.14.0/src/lib.rs:1235:33
  53: iced_winit::run::Runner<Message,F>::process_event
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_winit-0.14.0/src/lib.rs:278:51
  54: <iced_winit::run::Runner<Message,F> as winit::application::ApplicationHandler<iced_runtime::Action<Message>>>::about_to_wait
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/iced_winit-0.14.0/src/lib.rs:255:18
  55: winit::event_loop::dispatch_event_for_app
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.9/src/event_loop.rs:647:35
  56: winit::event_loop::EventLoop<T>::run_app::{{closure}}
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.9/src/event_loop.rs:265:49
  57: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:298:21
  58: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /home/trevor/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:298:21
  59: winit::platform_impl::linux::wayland::event_loop::EventLoop<T>::single_iteration
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.9/src/platform_impl/linux/wayland/event_loop/mod.rs:482:9
  60: winit::platform_impl::linux::wayland::event_loop::EventLoop<T>::poll_events_with_timeout
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.9/src/platform_impl/linux/wayland/event_loop/mod.rs:295:14
  61: winit::platform_impl::linux::wayland::event_loop::EventLoop<T>::pump_events
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.9/src/platform_impl/linux/wayland/event_loop/mod.rs:217:18
  62: winit::platform_impl::linux::wayland::event_loop::EventLoop<T>::run_on_demand
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.9/src/platform_impl/linux/wayland/event_loop/mod.rs:181:24
  63: winit::platform_impl::linux::EventLoop<T>::run_on_demand
             at /home/trevor/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.9/src/platform_impl/linux/mod.rs:819:61
  64: winit::platform_impl::linux::EventLoop<T>::run

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions