lapce / lapce/lapce

Panic on app start

Open
#504 3 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-crash 💥
Dominant language
Rust
Stars
38.9k
Forks
1.3k
Avg merge
19m
Merged PRs (30d)
1

Description

Currently Lapce works on my laptop with all of the same KDE settings, themes, etc as my desktop, which I just tried to run Lapce on.
OS: Arch Linux
WM: KDE

All that I did was go to the official website, download the .tar.gz and extract and run.
Lapce seems to create a window, but nothing ever fills it and then it crashes.
I have made sure that all dependencies for Lapce and Druid are installed, just in case.

Here is the backtrace at RUST_BACKTRACE=1:

thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', /home/runner/.cargo/git/checkouts/parley-eb2adff70a5b8ee8/eb4a912/src/context.rs:201:28
stack backtrace:
   0: rust_begin_unwind
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:143:14
   2: core::panicking::panic_bounds_check
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:85:5
   3: <piet_wgpu::text_layout::WgpuTextLayoutBuilder as piet::text::TextLayoutBuilder>::build
   4: <lapce_ui::terminal::LapceTerminalView as druid::widget::widget::Widget<lapce_data::data::LapceTabData>>::paint
   5: druid::core::WidgetPod<T,W>::paint_raw
   6: druid::core::WidgetPod<T,W>::paint
   7: <lapce_ui::split::LapceSplitNew as druid::widget::widget::Widget<lapce_data::data::LapceTabData>>::paint
   8: druid::core::WidgetPod<T,W>::paint
   9: druid::core::WidgetPod<T,W>::paint_raw
  10: <lapce_ui::scroll::LapceScrollNew<T,W> as druid::widget::widget::Widget<T>>::paint
  11: <lapce_ui::panel::PanelSection as druid::widget::widget::Widget<lapce_data::data::LapceTabData>>::paint
  12: druid::core::WidgetPod<T,W>::paint_raw
  13: druid::core::WidgetPod<T,W>::paint
  14: <lapce_ui::split::LapceSplitNew as druid::widget::widget::Widget<lapce_data::data::LapceTabData>>::paint
  15: druid::core::WidgetPod<T,W>::paint
  16: <lapce_ui::panel::LapcePanel as druid::widget::widget::Widget<lapce_data::data::LapceTabData>>::paint
  17: druid::core::WidgetPod<T,W>::paint_raw
  18: druid::core::WidgetPod<T,W>::paint
  19: <druid::widget::lens_wrap::LensWrap<T,U,L,W> as druid::widget::widget::Widget<T>>::paint
  20: druid::core::WidgetPod<T,W>::paint
  21: <druid::widget::lens_wrap::LensWrap<T,U,L,W> as druid::widget::widget::Widget<T>>::paint
  22: druid::win_handler::InnerAppState<T>::paint
  23: druid::app::AppLauncher<T>::launch::{{closure}}
  24: winit::platform_impl::platform::x11::EventLoop<T>::run_return::single_iteration
  25: winit::platform_impl::platform::x11::EventLoop<T>::run
  26: winit::platform_impl::platform::EventLoop<T>::run
  27: winit::event_loop::EventLoop<T>::run
  28: lapce_ui::app::launch
  29: lapce::main

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the startup crash on Arch Linux with KDE using the downloaded Lapce archive and RUST_BACKTRACE=1. Start with parley’s src/context.rs:201 and the piet_wgpu text-layout build called from lapce_ui::terminal::LapceTerminalView::paint. Done means Lapce starts and fills its window without this panic.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.