zed icon indicating copy to clipboard operation
zed copied to clipboard

"main" panicked with "range end index 1 out of range for slice of length 0"

Open flukejones opened this issue 10 months ago • 1 comments

Check for existing issues

  • [X] Completed

Describe the bug / provide steps to reproduce it

I'm very sorry but I can't reproduce this but it seems like something happened between maximising the window and selection of an EOL?

Environment

Zed: v1.0.0 (Zed Dev 8f69eac4021a9d4f7c8791cfc70b6668fd7d44bd) OS: Linux 1.0.0 Memory: 62.4 GiB Architecture: x86_64

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.

Caused by:
    expected value at line 1 column 1
Thread "main" panicked with "range end index 1 out of range for slice of length 0" at crates/gpui/src/window/element_cx.rs:542:17
   0: Zed::init_panic_hook::{{closure}}
             at crates/zed/src/main.rs:674:29
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/alloc/src/boxed.rs:2029:9
      std::panicking::rust_panic_with_hook
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panicking.rs:785:13
   2: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panicking.rs:659:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/sys_common/backtrace.rs:171:18
   4: rust_begin_unwind
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panicking.rs:647:5
   5: core::panicking::panic_fmt
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/core/src/panicking.rs:72:14
   6: core::slice::index::slice_end_index_len_fail_rt
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/core/src/slice/index.rs:76:5
      core::slice::index::slice_end_index_len_fail
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/core/src/slice/index.rs:68:9
   7: <core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/core/src/slice/index.rs:405:13
      core::slice::index::<impl core::ops::index::IndexMut<I> for [T]>::index_mut
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/core/src/slice/index.rs:29:9
      <alloc::vec::Vec<T,A> as core::ops::index::IndexMut<I>>::index_mut
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/alloc/src/vec/mod.rs:2783:9
      gpui::window::element_cx::ElementContext::reuse_paint
             at crates/gpui/src/window/element_cx.rs:542:17
   8: <gpui::view::AnyView as gpui::element::Element>::paint::{{closure}}
             at crates/gpui/src/view.rs:374:25
   9: gpui::window::element_cx::ElementContext::with_element_state::{{closure}}
             at crates/gpui/src/window/element_cx.rs:845:43
      gpui::window::element_cx::ElementContext::with_element_id
             at crates/gpui/src/window/element_cx.rs:611:26
      gpui::window::element_cx::ElementContext::with_element_state
             at crates/gpui/src/window/element_cx.rs:790:9
      <gpui::view::AnyView as gpui::element::Element>::paint
             at crates/gpui/src/view.rs:364:13
  10: gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  11: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <gpui::elements::div::Div as gpui::element::Element>::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1166:21
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1467:29
  12: gpui::window::element_cx::ElementContext::with_content_mask
             at crates/gpui/src/window/element_cx.rs:634:13
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1447:25
  13: gpui::window::element_cx::ElementContext::with_text_style
             at crates/gpui/src/window/element_cx.rs:579:13
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1446:21
      gpui::style::Style::paint
             at crates/gpui/src/style.rs:428:9
      gpui::elements::div::Interactivity::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1445:17
  14: gpui::window::element_cx::ElementContext::with_element_state::{{closure}}
             at crates/gpui/src/window/element_cx.rs:792:39
  15: gpui::window::element_cx::ElementContext::with_element_id
             at crates/gpui/src/window/element_cx.rs:616:13
      gpui::window::element_cx::ElementContext::with_element_state
             at crates/gpui/src/window/element_cx.rs:790:9
      gpui::elements::div::Interactivity::paint
             at crates/gpui/src/elements/div.rs:1423:9
      <gpui::elements::div::Div as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:1163:9
  16: <gpui::elements::div::Stateful<E> as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:2309:9
      gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  17: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <workspace::pane_group::element::PaneAxisElement as gpui::element::Element>::paint
             at crates/workspace/src/pane_group.rs:905:17
  18: gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  19: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <gpui::element::AnyElement as gpui::element::Element>::paint
             at crates/gpui/src/element.rs:480:9
      gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  20: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <gpui::element::AnyElement as gpui::element::Element>::paint
             at crates/gpui/src/element.rs:480:9
      gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  21: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <gpui::elements::div::Div as gpui::element::Element>::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1166:21
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1467:29
  22: gpui::window::element_cx::ElementContext::with_content_mask
             at crates/gpui/src/window/element_cx.rs:630:26
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1447:25
  23: gpui::window::element_cx::ElementContext::with_text_style
             at crates/gpui/src/window/element_cx.rs:579:13
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1446:21
      gpui::style::Style::paint
             at crates/gpui/src/style.rs:428:9
      gpui::elements::div::Interactivity::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1445:17
  24: gpui::window::element_cx::ElementContext::with_element_state::{{closure}}
             at crates/gpui/src/window/element_cx.rs:792:39
  25: gpui::window::element_cx::ElementContext::with_element_id
             at crates/gpui/src/window/element_cx.rs:616:13
      gpui::window::element_cx::ElementContext::with_element_state
             at crates/gpui/src/window/element_cx.rs:790:9
      gpui::elements::div::Interactivity::paint
             at crates/gpui/src/elements/div.rs:1423:9
      <gpui::elements::div::Div as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:1163:9
  26: <gpui::elements::div::Stateful<E> as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:2309:9
      gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  27: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <gpui::elements::div::Div as gpui::element::Element>::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1166:21
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1467:29
  28: gpui::window::element_cx::ElementContext::with_content_mask
             at crates/gpui/src/window/element_cx.rs:634:13
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1447:25
  29: gpui::window::element_cx::ElementContext::with_text_style
             at crates/gpui/src/window/element_cx.rs:579:13
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1446:21
      gpui::style::Style::paint
             at crates/gpui/src/style.rs:428:9
      gpui::elements::div::Interactivity::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1445:17
  30: gpui::window::element_cx::ElementContext::with_element_state::{{closure}}
             at crates/gpui/src/window/element_cx.rs:792:39
  31: gpui::window::element_cx::ElementContext::with_element_id
             at crates/gpui/src/window/element_cx.rs:616:13
      gpui::window::element_cx::ElementContext::with_element_state
             at crates/gpui/src/window/element_cx.rs:790:9
      gpui::elements::div::Interactivity::paint
             at crates/gpui/src/elements/div.rs:1423:9
      <gpui::elements::div::Div as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:1163:9
  32: <gpui::elements::div::Stateful<E> as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:2309:9
      gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  33: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <gpui::elements::div::Div as gpui::element::Element>::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1166:21
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1467:29
  34: gpui::window::element_cx::ElementContext::with_content_mask
             at crates/gpui/src/window/element_cx.rs:630:26
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1447:25
  35: gpui::window::element_cx::ElementContext::with_text_style
             at crates/gpui/src/window/element_cx.rs:579:13
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1446:21
      gpui::style::Style::paint
             at crates/gpui/src/style.rs:428:9
      gpui::elements::div::Interactivity::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1445:17
  36: gpui::window::element_cx::ElementContext::with_element_state::{{closure}}
             at crates/gpui/src/window/element_cx.rs:845:43
  37: gpui::window::element_cx::ElementContext::with_element_id
             at crates/gpui/src/window/element_cx.rs:611:26
      gpui::window::element_cx::ElementContext::with_element_state
             at crates/gpui/src/window/element_cx.rs:790:9
      gpui::elements::div::Interactivity::paint
             at crates/gpui/src/elements/div.rs:1423:9
      <gpui::elements::div::Div as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:1163:9
  38: <gpui::elements::div::Stateful<E> as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:2309:9
      gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  39: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <gpui::elements::div::Div as gpui::element::Element>::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1166:21
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1467:29
  40: gpui::window::element_cx::ElementContext::with_content_mask
             at crates/gpui/src/window/element_cx.rs:634:13
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1447:25
  41: gpui::window::element_cx::ElementContext::with_text_style
             at crates/gpui/src/window/element_cx.rs:575:26
      gpui::elements::div::Interactivity::paint::{{closure}}::{{closure}}
             at crates/gpui/src/elements/div.rs:1446:21
      gpui::style::Style::paint
             at crates/gpui/src/style.rs:428:9
      gpui::elements::div::Interactivity::paint::{{closure}}
             at crates/gpui/src/elements/div.rs:1445:17
  42: gpui::window::element_cx::ElementContext::with_element_state::{{closure}}
             at crates/gpui/src/window/element_cx.rs:792:39
  43: gpui::window::element_cx::ElementContext::with_element_id
             at crates/gpui/src/window/element_cx.rs:616:13
      gpui::window::element_cx::ElementContext::with_element_state
             at crates/gpui/src/window/element_cx.rs:790:9
      gpui::elements::div::Interactivity::paint
             at crates/gpui/src/elements/div.rs:1423:9
      <gpui::elements::div::Div as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:1163:9
  44: <gpui::elements::div::Stateful<E> as gpui::element::Element>::paint
             at crates/gpui/src/elements/div.rs:2309:9
      gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  45: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      <gpui::view::AnyView as gpui::element::Element>::paint::{{closure}}
             at crates/gpui/src/view.rs:385:17
      gpui::window::element_cx::ElementContext::with_element_id
             at crates/gpui/src/window/element_cx.rs:611:26
      <gpui::view::AnyView as gpui::element::Element>::paint
             at crates/gpui/src/view.rs:384:13
  46: gpui::element::Drawable<E>::paint
             at crates/gpui/src/element.rs:314:17
      <gpui::element::Drawable<E> as gpui::element::ElementObject>::paint
             at crates/gpui/src/element.rs:385:9
  47: gpui::element::AnyElement::paint
             at crates/gpui/src/element.rs:430:9
      gpui::window::element_cx::ElementContext::draw_roots
             at crates/gpui/src/window/element_cx.rs:393:9
      gpui::window::WindowContext::draw::{{closure}}
             at crates/gpui/src/window.rs:1031:40
      gpui::window::element_cx::<impl gpui::window::WindowContext>::with_element_context
             at crates/gpui/src/window/element_cx.rs:215:9
      gpui::window::WindowContext::draw
             at crates/gpui/src/window.rs:1031:14
  48: gpui::window::Window::new::{{closure}}::{{closure}}::{{closure}}
             at crates/gpui/src/window.rs:471:33
      <gpui::app::AppContext as gpui::Context>::update_window::{{closure}}
             at crates/gpui/src/app.rs:1282:26
      gpui::app::AppContext::update
             at crates/gpui/src/app.rs:363:22
      <gpui::app::AppContext as gpui::Context>::update_window
             at crates/gpui/src/app.rs:1273:9
      <gpui::app::async_context::AsyncAppContext as gpui::Context>::update_window
             at crates/gpui/src/app/async_context.rs:70:14
      gpui::window::AnyWindowHandle::update
             at crates/gpui/src/window.rs:2751:9
      gpui::window::Window::new::{{closure}}::{{closure}}
             at crates/gpui/src/window.rs:470:30
  49: util::measure
             at crates/util/src/util.rs:212:9
      gpui::window::Window::new::{{closure}}
             at crates/gpui/src/window.rs:468:21
  50: <alloc::boxed::Box<F,A> as core::ops::function::FnMut<Args>>::call_mut
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/alloc/src/boxed.rs:2022:9
      gpui::platform::linux::wayland::window::WaylandWindow::frame
             at crates/gpui/src/platform/linux/wayland/window.rs:208:13
  51: <gpui::platform::linux::wayland::client::WaylandClient as wayland_client::event_queue::Dispatch<wayland_client::protocol::wl_callback::WlCallback,wayland_backend::sys::client::ObjectId>>::event
             at crates/gpui/src/platform/linux/wayland/client.rs:389:17
  52: wayland_client::event_queue::queue_callback
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wayland-client-0.31.2/src/event_queue.rs:656:5
  53: wayland_client::event_queue::EventQueue<State>::dispatching_impl
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wayland-client-0.31.2/src/event_queue.rs:478:13
      wayland_client::event_queue::EventQueue<State>::dispatch_pending
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wayland-client-0.31.2/src/event_queue.rs:384:9
      calloop_wayland_source::WaylandSource<D>::insert::{{closure}}
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-wayland-source-0.2.0/src/lib.rs:115:59
      <core::cell::RefCell<calloop::sources::DispatcherInner<S,F>> as calloop::sources::EventDispatcher<Data>>::process_events::{{closure}}
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/mod.rs:327:61
      calloop_wayland_source::WaylandSource<D>::loop_callback_pending
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-wayland-source-0.2.0/src/lib.rs:245:19
      <calloop_wayland_source::WaylandSource<D> as calloop::sources::EventSource>::process_events
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-wayland-source-0.2.0/src/lib.rs:154:9
      <core::cell::RefCell<calloop::sources::DispatcherInner<S,F>> as calloop::sources::EventDispatcher<Data>>::process_events
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/mod.rs:326:9
  54: calloop::loop_logic::EventLoop<Data>::dispatch_events
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/loop_logic.rs:445:31
      calloop::loop_logic::EventLoop<Data>::dispatch
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/loop_logic.rs:559:9
      calloop::loop_logic::EventLoop<Data>::run
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/loop_logic.rs:596:13
      <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::platform::LinuxClient>::run
             at crates/gpui/src/platform/linux/wayland/client.rs:310:9
  55: gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::run
             at crates/gpui/src/platform/linux/platform.rs:178:9
  56: gpui::app::App::run
             at crates/gpui/src/app.rs:142:9
  57: Zed::main
             at crates/zed/src/main.rs:160:5
  58: core::ops::function::FnOnce::call_once
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/core/src/ops/function.rs:250:5
      std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/sys_common/backtrace.rs:155:18
  59: std::rt::lang_start::{{closure}}
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/rt.rs:166:18
  60: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panicking.rs:554:40
      std::panicking::try
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panicking.rs:518:19
      std::panic::catch_unwind
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panicking.rs:554:40
      std::panicking::try
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panicking.rs:518:19
      std::panic::catch_unwind
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/7cf61ebde7b22796c69757901dd346d0fe70bd97/library/std/src/rt.rs:148:20
  61: main
  62: __libc_start_call_main
  63: __libc_start_main_impl
  64: _start

flukejones avatar Apr 10 '24 00:04 flukejones

I could reproduce the issue in a different way.

  1. Have a input method that supports diacritics.
  2. Type in an empty line something like ´, ˙, which is not immediately inserted and waits for another input to be inserted.

XDeme1 avatar Apr 17 '24 14:04 XDeme1