mate-desktop / pluma

A powerful text editor for MATE
http://www.mate-desktop.org
GNU General Public License v2.0
156 stars 64 forks source link

Pluma crashes on "open-in-terminal" click in filebrowser plugin #630

Closed mbkma closed 2 years ago

mbkma commented 3 years ago

Expected behaviour

no segfault

Actual behaviour

segfault:

Reading symbols from pluma...
(gdb) r
Starting program: /usr/bin/pluma 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff396c640 (LWP 120247)]
[New Thread 0x7ffff316b640 (LWP 120248)]
[New Thread 0x7ffff2887640 (LWP 120249)]
[New Thread 0x7ffff1337640 (LWP 120250)]
[New Thread 0x7ffff0a5e640 (LWP 120251)]

** (pluma:120243): WARNING **: 23:12:31.063: Error loading plugin: libhspell.so.0: cannot open shared object file: No such file or directory

** (pluma:120243): WARNING **: 23:12:31.066: Error loading plugin: libnuspell.so.4: cannot open shared object file: No such file or directory

** (pluma:120243): WARNING **: 23:12:31.070: Error loading plugin: libvoikko.so.1: cannot open shared object file: No such file or directory

[Thread 0x7ffff1337640 (LWP 120250) exited]

Thread 1 "pluma" received signal SIGSEGV, Segmentation fault.
0x00007ffff1e9b9a8 in pluma_file_browser_widget_get_selected_directory (
    obj=0x20000000b, iter=iter@entry=0x7fffffffd0d0)
    at pluma-file-browser-widget.c:1996
1996            gtk_tree_view_get_model (GTK_TREE_VIEW (obj->priv->treeview));
(gdb) bt
#0  0x00007ffff1e9b9a8 in pluma_file_browser_widget_get_selected_directory
    (obj=0x20000000b, iter=iter@entry=0x7fffffffd0d0)
    at pluma-file-browser-widget.c:1996
#1  0x00007ffff1e9d117 in on_action_open_terminal
    (action=<optimized out>, priv=0x555555b4c3c0)
    at pluma-file-browser-plugin.c:489
#2  0x00007ffff6e40ddf in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#3  0x00007ffff6e69fbd in  () at /usr/lib/libgobject-2.0.so.0
#4  0x00007ffff6e5dcad in g_signal_emit_valist ()
    at /usr/lib/libgobject-2.0.so.0
#5  0x00007ffff6e5e210 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#6  0x00007ffff77ca05f in  () at /usr/lib/libgtk-3.so.0
#7  0x00007ffff6e40ddf in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#8  0x00007ffff6e69c2c in  () at /usr/lib/libgobject-2.0.so.0
#9  0x00007ffff6e5dcad in g_signal_emit_valist ()
    at /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff6e5e210 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff7785895 in gtk_widget_activate () at /usr/lib/libgtk-3.so.0
#12 0x00007ffff764c84d in gtk_menu_shell_activate_item ()
    at /usr/lib/libgtk-3.so.0
#13 0x00007ffff764cb24 in  () at /usr/lib/libgtk-3.so.0
#14 0x00007ffff74dc235 in  () at /usr/lib/libgtk-3.so.0
#15 0x00007ffff6e5e096 in g_signal_emit_valist ()
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/lib/libgobject-2.0.so.0
#16 0x00007ffff6e5e210 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#17 0x00007ffff779ba35 in  () at /usr/lib/libgtk-3.so.0
#18 0x00007ffff7637795 in  () at /usr/lib/libgtk-3.so.0
#19 0x00007ffff7638aed in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#20 0x00007ffff7395a03 in  () at /usr/lib/libgdk-3.so.0
#21 0x00007ffff73e5a04 in  () at /usr/lib/libgdk-3.so.0
#22 0x00007ffff6d4d02c in g_main_context_dispatch ()
    at /usr/lib/libglib-2.0.so.0
#23 0x00007ffff6da0b59 in  () at /usr/lib/libglib-2.0.so.0
#24 0x00007ffff6d4c593 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#25 0x00007ffff762e61f in gtk_main () at /usr/lib/libgtk-3.so.0
#26 0x000055555557c4f9 in main (argc=<optimized out>, argv=<optimized out>)
    at pluma.c:639

Steps to reproduce the behaviour

Open a text file in pluma, have the file-browser-plugin enabled, right-click in plumas file browser and select "Open Terminal here".

MATE general version

Compiled from master branch

Package version

Compiled from master branch

Linux Distribution

Manjaro Mate

Link to bugreport of your Distribution (requirement)

I do not think it has something to do with manjaro. This issue should mainly be a remainder for myself.