daa84 / neovim-gtk

gtk ui for neovim
GNU General Public License v3.0
716 stars 56 forks source link

neovim-gtk crashes when windows is resized #128

Closed Zardoz89 closed 6 years ago

Zardoz89 commented 6 years ago

Describe the bug neovim-gtk crashes when windows is resized

Technical information (please complete the following information):

Log when the crash happens on commit d33acff :

thread 'main' panicked at 'slice index starts at 39 but ends at 36', libcore/slice/mod.rs:791:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Uncaught panic, exiting
/usr/local/bin/nvim-gtk: línea 7:  5879 Abortado                (`core' generado) NVIM_GTK_DOUBLE_BUFFER=1 /usr/local/bin/nvim-gtk-bin -- $@ < /dev/null > /dev/null
daa84 commented 6 years ago

Can't reproduce. Need more details. Can you run it with RUST_BACKTRACE=1 in debug build? RUST_BACKTRACE=1 cargo run -- --no-fork from project folder or just make run

Zardoz89 commented 6 years ago

Here goes ... Also, my rustc version is : rustc 1.27.2 (58cc626de 2018-07-18)

$ RUST_BACKTRACE=1 cargo run -- --no-fork
    Finished dev [unoptimized + debuginfo] target(s) in 0.33s
     Running `target/debug/nvim-gtk --no-fork`
thread 'main' panicked at 'slice index starts at 38 but ends at 36', libcore/slice/mod.rs:2262:5
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:463
   5: std::panicking::begin_panic_fmt
             at libstd/panicking.rs:350
   6: rust_begin_unwind
             at libstd/panicking.rs:328
   7: core::panicking::panic_fmt
             at libcore/panicking.rs:71
   8: core::slice::slice_index_order_fail
             at libcore/slice/mod.rs:2262
   9: <core::ops::range::Range<usize> as core::slice::SliceIndex<[T]>>::index
             at /checkout/src/libcore/slice/mod.rs:2385
  10: core::slice::<impl core::ops::index::Index<I> for [T]>::index
             at /checkout/src/libcore/slice/mod.rs:2238
  11: <nvim_gtk::ui_model::UiModel as nvim_gtk::render::model_clip_iterator::ModelClipIteratorFactory>::get_clip_iterator
             at src/render/model_clip_iterator.rs:93
  12: nvim_gtk::render::render
             at src/render/mod.rs:55
  13: nvim_gtk::shell::draw_content
             at src/shell.rs:1078
  14: nvim_gtk::shell::gtk_draw
             at src/shell.rs:1099
  15: nvim_gtk::shell::Shell::init::{{closure}}
             at src/shell.rs:704
  16: core::ops::function::impls::<impl core::ops::function::Fn<A> for &'a F>::call
             at /checkout/src/libcore/ops/function.rs:232
  17: gtk::auto::widget::draw_trampoline
             at /home/luis/.cargo/registry/src/github.com-1ecc6299db9ec823/gtk-0.4.1/src/auto/widget.rs:3483
  18: <unknown>
  19: <unknown>
  20: <unknown>
  21: g_signal_emit_valist
  22: g_signal_emit
  23: <unknown>
  24: gtk_container_propagate_draw
  25: <unknown>
  26: <unknown>
  27: <unknown>
  28: <unknown>
  29: <unknown>
  30: <unknown>
  31: gtk_container_propagate_draw
  32: <unknown>
  33: <unknown>
  34: <unknown>
  35: <unknown>
  36: <unknown>
  37: gtk_container_propagate_draw
  38: <unknown>
  39: <unknown>
  40: <unknown>
  41: <unknown>
  42: <unknown>
  43: <unknown>
  44: gtk_container_propagate_draw
  45: <unknown>
  46: <unknown>
  47: <unknown>
  48: <unknown>
  49: <unknown>
  50: gtk_container_propagate_draw
  51: <unknown>
  52: <unknown>
  53: <unknown>
  54: <unknown>
  55: gtk_main_do_event
  56: <unknown>
  57: <unknown>
  58: <unknown>
  59: <unknown>
  60: g_closure_invoke
  61: <unknown>
  62: g_signal_emit_valist
  63: g_signal_emit
  64: <unknown>
  65: <unknown>
  66: <unknown>
  67: g_main_context_dispatch
  68: <unknown>
  69: g_main_context_iteration
  70: g_application_run
  71: <O as gio::application::ApplicationExtManual>::run
             at /home/luis/.cargo/registry/src/github.com-1ecc6299db9ec823/gio-0.4.1/src/application.rs:23
  72: nvim_gtk::main
             at src/main.rs:137
  73: std::rt::lang_start::{{closure}}
             at /checkout/src/libstd/rt.rs:74
  74: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  75: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:105
  76: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:374
             at libstd/rt.rs:58
  77: std::rt::lang_start
             at /checkout/src/libstd/rt.rs:74
  78: main
  79: __libc_start_main
  80: _start
Uncaught panic, exiting
Abortado (`core' generado)
daa84 commented 6 years ago

@Zardoz89 can you check with d174222d6df5e55887a09c299f91a9b1e7cac046 ? if it still reproduced, can you post backtrace here? 😄

Zardoz89 commented 6 years ago

It's fixed! Thanks