Without overview geany does not crash... when overview is enabled creating a new file in Linux X11 causes geany to crash when the file is clicked. Windows and wayland seem to be unaffected. See bug https://github.com/geany/geany/issues/2736
Overview plugin uses Scintilla to generate the overview, but there have been no changes to the plugin for many years, but IIRC there have been changes to Scintilla, some of which may be incompatible with such old code.
As nothing has been heard from the "maintainer" of the overview plugin its probably unlikely it will be fixed unless "somebody" does it, or the plugin is shown to be the cause it may be dropped if nobody cares for it.
Fwiw I love the plugin... I just don't like the crash :/
FWIW I can confirm the crash, and got this GDB backtrace and Valgrind log:
<details><summary>GDB backtrace for the crash (nothing new though)</summary>
```gdb Thread 1 "geany" received signal SIGSEGV, Segmentation fault. 0x00007fffeefb2f51 in ibus_input_context_reset () from /lib/x86_64-linux-gnu/libibus-1.0.so.5 (gdb) bt #0 0x00007fffeefb2f51 in ibus_input_context_reset () at /lib/x86_64-linux-gnu/libibus-1.0.so.5 #1 0x00007ffff408edc2 in () at /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so #6 0x00007ffff769ddbf in <emit signal ??? on instance 0x555556ae1920 [ScintillaObject]> (instance=instance@entry=0x555556ae1920, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606 #2 0x00007ffff6e90bc7 in _gtk_marshal_BOOLEAN__BOXED (closure=0x555556b229a0, return_value=0x7fffffffd660, n_param_values=<optimized out>, param_values=0x7fffffffd6c0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk/gtkmarshalers.c:84 #3 0x00007ffff76843b0 in g_closure_invoke (closure=0x555556b229a0, return_value=return_value@entry=0x7fffffffd660, n_param_values=2, param_values=param_values@entry=0x7fffffffd6c0, invocation_hint=invocation_hint@entry=0x7fffffffd640) at ../../../gobject/gclosure.c:832 #4 0x00007ffff7697076 in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x555556ae1920, emission_return=emission_return@entry=0x7fffffffd7b0, instance_and_params=instance_and_params@entry=0x7fffffffd6c0) at ../../../gobject/gsignal.c:3796 #5 0x00007ffff769d42d in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd860) at ../../../gobject/gsignal.c:3559 #7 0x00007ffff7169844 in gtk_widget_event_internal (widget=widget@entry=0x555556ae1920 [ScintillaObject], event=event@entry=0x555556ad59e0) at ../../../gtk/gtkwidget.c:7812 #8 0x00007ffff716c481 in gtk_widget_event_internal (event=0x555556ad59e0, widget=0x555556ae1920 [ScintillaObject]) at ../../../gtk/gtkwidget.c:7383 #9 0x00007ffff700783e in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x555556ae1920 [ScintillaObject]) at ../../../gtk/gtkmain.c:2598 #10 propagate_event (widget=widget@entry=0x555556ae1920 [ScintillaObject], event=event@entry=0x555556ad59e0, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../../../gtk/gtkmain.c:2701 #11 0x00007ffff7008b7c in gtk_propagate_event (widget=widget@entry=0x555556ae1920 [ScintillaObject], event=event@entry=0x555556ad59e0) at ../../../gtk/gtkmain.c:2735 #12 0x00007ffff70092f6 in gtk_main_do_event (event=0x555556ad59e0) at ../../../gtk/gtkmain.c:1921 #13 gtk_main_do_event (event=<optimized out>) at ../../../gtk/gtkmain.c:1691 #14 0x00007ffff7ec6815 in _gdk_event_emit (event=event@entry=0x555556ad59e0) at ../../../gdk/gdkevents.c:73 #15 0x00007ffff7f207a2 in gdk_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../../../gdk/x11/gdkeventsource.c:367 #16 0x00007ffff6b3e7a9 in g_main_dispatch (context=0x555555630ba0) at ../../../glib/gmain.c:3454 #17 g_main_context_dispatch (context=context@entry=0x555555630ba0) at ../../../glib/gmain.c:4172 #18 0x00007ffff6b3ea38 in g_main_context_iterate (context=0x555555630ba0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4248 #19 0x00007ffff6b3ecef in g_main_loop_run (loop=loop@entry=0x5555566c7470) at ../../../glib/gmain.c:4448 #20 0x00007ffff7008495 in gtk_main () at ../../../gtk/gtkmain.c:1329 #21 0x00007ffff7a9cf1e in main_lib (argc=<optimized out>, argv=<optimized out>) at ../../src/libmain.c:1260 #22 0x0000555555555142 in main (argc=<optimized out>, argv=<optimized out>) at ../../src/main.c:27 ``` </details>
<details><summary>Memcheck report for the crash:</summary>
```valgrind memcheck ==3332905== Invalid read of size 8 ==3332905== at 0xB697DA6: ??? (in /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so) ==3332905== by 0x4ED2BC6: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84) ==3332905== by 0x5B5A3AF: g_closure_invoke (gclosure.c:832) ==3332905== by 0x5B6D075: signal_emit_unlocked_R.isra.0 (gsignal.c:3796) ==3332905== by 0x5B7342C: g_signal_emit_valist (gsignal.c:3559) ==3332905== by 0x5B73DBE: g_signal_emit (gsignal.c:3606) ==3332905== by 0x51AB843: gtk_widget_event_internal.part.0 (gtkwidget.c:7812) ==3332905== by 0x504983D: propagate_event_up (gtkmain.c:2598) ==3332905== by 0x504983D: propagate_event (gtkmain.c:2701) ==3332905== by 0x504B2F5: gtk_main_do_event (gtkmain.c:1921) ==3332905== by 0x504B2F5: gtk_main_do_event (gtkmain.c:1691) ==3332905== by 0x569F814: _gdk_event_emit (gdkevents.c:73) ==3332905== by 0x56F97A1: gdk_event_source_dispatch (gdkeventsource.c:367) ==3332905== by 0x5BFD7A8: g_main_dispatch (gmain.c:3454) ==3332905== by 0x5BFD7A8: g_main_context_dispatch (gmain.c:4172) ==3332905== Address 0x315ff7e8 is 72 bytes inside a block of size 176 free'd ==3332905== at 0x484317B: free (vg_replace_malloc.c:872) ==3332905== by 0x5B7C213: g_type_free_instance (gtype.c:2003) ==3332905== by 0x5BF9A28: g_source_callback_unref (gmain.c:1739) ==3332905== by 0x5BF9A28: g_source_callback_unref (gmain.c:1732) ==3332905== by 0x5BF9F0E: g_source_destroy_internal (gmain.c:1404) ==3332905== by 0x5BFD70F: g_main_dispatch (gmain.c:3484) ==3332905== by 0x5BFD70F: g_main_context_dispatch (gmain.c:4172) ==3332905== by 0x5BFDA37: g_main_context_iterate.constprop.0 (gmain.c:4248) ==3332905== by 0x5BFDCEE: g_main_loop_run (gmain.c:4448) ==3332905== by 0x504A494: gtk_main (gtkmain.c:1329) ==3332905== by 0x48EDF1D: main_lib (libmain.c:1260) ==3332905== by 0x109141: main (main.c:27) ==3332905== Block was alloc'd at ==3332905== at 0x48407B4: malloc (vg_replace_malloc.c:381) ==3332905== by 0x5C03678: g_malloc (gmem.c:130) ==3332905== by 0x5C1C011: g_slice_alloc (gslice.c:1074) ==3332905== by 0x5C1C648: g_slice_alloc0 (gslice.c:1100) ==3332905== by 0x5B7BE8C: g_type_create_instance (gtype.c:1903) ==3332905== by 0x5B5FD2F: g_object_new_internal (gobject.c:2228) ==3332905== by 0x5B613FB: g_object_new_with_properties (gobject.c:2391) ==3332905== by 0x5B62000: g_object_new (gobject.c:2037) ==3332905== by 0xB699591: ibus_im_context_new (in /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so) ==3332905== by 0x5027241: _gtk_im_module_create (gtkimmodule.c:656) ==3332905== by 0x5027EBB: gtk_im_multicontext_get_slave (gtkimmulticontext.c:281) ==3332905== by 0x502840D: gtk_im_multicontext_set_client_window (gtkimmulticontext.c:331) ==3332905== ``` </details>
I however have for now no clue what the issue is or even where (is it Scintilla doing something problematic with multiple concurrent views, is it a timing bug in IBus or GTK?).
BTW, somebody motivated enough could try and find what broke this plugin, it could help debug the issue. Be it testing various Geany versions or even better, using `git bisect`.
@l33tlinuxh4x0r in this context "care" means "does the work to fix it", as in care and feeding, not just "like" it :grin:
@l33tlinuxh4x0r in this context "care" means "does the work to fix it", as in care and feeding, not just "like" it 😁
If I had the skills I would fix it, however I don't so hoping that someone else will take this up.
github-comments@lists.geany.org