Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when trying to middle-click-paste if clipboard is empty #274

Open
quantenzitrone opened this issue Apr 3, 2023 · 0 comments
Open

Comments

@quantenzitrone
Copy link

Describe the bug
I was able to reproduce the crash several times, but currently not. Maybe you can derive something from the stack trace.
Steps to possibly reproduce:

  • clear your x clipboard with echo -n | xclip
  • open one non empty tab
  • open one empty tab
  • middle-click into the window
    • error messages should be shown that i don't fully remember
      • E353: Nothing in register * is also shown if it doesn't crash
    • neovim-gtk freezes
  • crash after a few seconds (i randomly clicked stuff to confirm unresponsiveness, maybe that is important too)

Technical information (please complete the following information):

  • OS: NixOS (GNU+Linux)
  • Neovim version: 1.0.4
  • Neovim-Gtk build version: from nixpkgs-unstable (builds rev 1.0.4 from source)

Trace

$> env RUST_BACKTRACE=full nvim-gtk --no-fork
[2023-04-03T06:08:39Z ERROR nvim_gtk::highlight] unknown attribute nocombine
[2023-04-03T06:08:39Z ERROR nvim_gtk::highlight] unknown attribute nocombine
[2023-04-03T06:08:39Z ERROR nvim_gtk::highlight] unknown attribute nocombine
[2023-04-03T06:08:39Z ERROR nvim_gtk::highlight] unknown attribute nocombine
[2023-04-03T06:08:39Z ERROR nvim_gtk::highlight] unknown attribute nocombine
[2023-04-03T06:08:39Z ERROR nvim_gtk::highlight] unknown attribute nocombine
[2023-04-03T06:08:39Z ERROR nvim_gtk::highlight] unknown attribute nocombine
[2023-04-03T06:08:39Z ERROR nvim_gtk::highlight] unknown attribute nocombine

(NeovimGtk:266587): Gtk-WARNING **: 08:08:41.082: Allocating size to GtkPopover 0x559ea9b20610 without calling gtk_widget_measure(). How does the code know the size to allocate?
thread 'main' panicked at 'Neovim request None timed out', src/nvim/ext.rs:43:21
stack backtrace:
0:     0x559ea8e11d79 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::haaf5fb1112692432
1:     0x559ea8e4752e - core::fmt::write::hc9810906af1f037c
2:     0x559ea8e25375 - std::io::Write::write_fmt::h42570a50d1c05a1d
3:     0x559ea8e11b35 - std::sys_common::backtrace::print::hdb4dd2f5727cb1da
4:     0x559ea8e3278f - std::panicking::default_hook::{{closure}}::hbf6435d4555f4c42
5:     0x559ea8e324b5 - std::panicking::default_hook::hb6b577f7a430b818
6:     0x559ea8e32daf - std::panicking::rust_panic_with_hook::h2dbb792ca6451cd5
7:     0x559ea8e120e9 - std::panicking::begin_panic_handler::{{closure}}::h78627a3718fcdf2c
8:     0x559ea8e11ecc - std::sys_common::backtrace::__rust_end_short_backtrace::h79f584276ca2060b
9:     0x559ea8e32942 - rust_begin_unwind
10:     0x559ea8b61a03 - core::panicking::panic_fmt::ha005c52a737c94d3
11:     0x559ea8b79c87 - nvim_gtk::tabline::State::switch_page::he3bf299e6722aac5
12:     0x559ea8bab344 - gtk4::auto::notebook::Notebook::connect_switch_page::switch_page_trampoline::h4df623379617a9f2
13:     0x7f4232452420 - g_closure_invoke
14:     0x7f42324653d6 - signal_emit_unlocked_R.isra.0
15:     0x7f423246c2ed - g_signal_emit_valist
16:     0x7f423246c56f - g_signal_emit
17:     0x7f4231df2044 - gtk_notebook_gesture_pressed
18:     0x7f4231cc8aa9 - _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv
19:     0x7f4232452619 - _g_closure_invoke_va
20:     0x7f423246c2b7 - g_signal_emit_valist
21:     0x7f423246c56f - g_signal_emit
22:     0x7f4231d932cf - gtk_gesture_click_begin
23:     0x7f42324553c2 - g_cclosure_marshal_VOID__BOXEDv
24:     0x7f4232452619 - _g_closure_invoke_va
25:     0x7f423246c2b7 - g_signal_emit_valist
26:     0x7f423246c56f - g_signal_emit
27:     0x7f4231d8fe2e - _gtk_gesture_check_recognized
28:     0x7f4231d913f5 - gtk_gesture_handle_event
29:     0x7f4231d94393 - gtk_gesture_single_handle_event
30:     0x7f4231d63ca6 - gtk_event_controller_handle_event
31:     0x7f4231eea768 - gtk_widget_run_controllers
32:     0x7f4231ef1db4 - _gtk_widget_captured_event
33:     0x7f4231ddae6e - gtk_propagate_event_internal
34:     0x7f4231ddb52b - gtk_main_do_event
35:     0x7f4231efdcdc - surface_event
36:     0x7f4231fe2249 - _gdk_marshal_BOOLEAN__POINTER
37:     0x7f4232056c2f - gdk_surface_event_marshaller
38:     0x7f4232452420 - g_closure_invoke
39:     0x7f42324653d6 - signal_emit_unlocked_R.isra.0
40:     0x7f423246bbd5 - g_signal_emit_valist
41:     0x7f423246c56f - g_signal_emit
42:     0x7f423205a280 - gdk_surface_handle_event
43:     0x7f4232029bea - gdk_event_source_dispatch
44:     0x7f42317fb609 - g_main_context_dispatch
45:     0x7f42317fb898 - g_main_context_iterate.constprop.0
46:     0x7f42317fb92c - g_main_context_iteration
47:     0x7f42319c2f5d - g_application_run
48:     0x559ea8b95335 - <O as gio::application::ApplicationExtManual>::run::h89d70d4beb2f5a93
49:     0x559ea8c19873 - nvim_gtk::main::h7aaf42ab25790f1d
50:     0x559ea8c7e9e3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h586f7b05541498ba
51:     0x559ea8b7da99 - std::rt::lang_start::{{closure}}::hb317fe2c5d9b7e73
52:     0x559ea8e244b4 - std::rt::lang_start_internal::h62a41a9744fc6640
53:     0x559ea8c19ea5 - main
54:     0x7f423142924e - __libc_start_call_main
55:     0x7f4231429309 - __libc_start_main_alias_1
56:     0x559ea8b61fc5 - _start
57:                0x0 - <unknown>

Addition
I found this when testing out different neovim guis and i don't think I'm going to use neovim-gtk, so I'm probably not going to be able to help much further. My current rudimental half-working config for neovim is here, but since it is done through nixvim, it is probably pretty cryptic to any non-nix user.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant