perseo22 / pacmanager

Perl/GTK Gnome SSH GUI on steroids. Configure SSH/Telnet connections: users, passwords, EXPECT regular expressions, macros, ...
https://sites.google.com/site/davidtv/
GNU General Public License v3.0
211 stars 49 forks source link

segfault on exit #63

Open dpecka opened 7 years ago

dpecka commented 7 years ago

Hello, there's something rotten in the pac code in exit routines, because it segfaults on exit - eg if you hit the exit button. If you just pkill it, it dies in peace without segfault:

after just pkilling

> ./pac 
PAC started (pac) with PID 21668
INFO: Used config file '/home/dpecka/.config/pac/pac.nfreeze'
Gtk-WARNING **: Theme directory base/ of theme oxygen has no size field
INFO: Using 'standard Gnome2' tray icon
INFO: Signal 'TERM' received. Exiting PAC...
PAC finishing (pac) with pid 21668

after hitting exit button - I went to gdb straight away

# coredumpctl gdb
           PID: 19829 (pac)
           UID: 1000 (dpecka)
           GID: 100 (users)
        Signal: 11 (SEGV)
     Timestamp: Thu 2017-08-24 11:43:30 CEST (58min ago)
  Command Line: /usr/bin/perl ./pac
    Executable: /usr/bin/perl
 Control Group: /user.slice/user-1000.slice/session-2.scope
          Unit: session-2.scope
         Slice: user-1000.slice
       Session: 2
     Owner UID: 1000 (dpecka)
       Boot ID: 9f6db48320034b16bcca0363b89144b1
    Machine ID: 78e26a692a000bf582fb2a8f592fc28c
      Hostname: linux-ea8q.suse
      Coredump: /var/lib/systemd/coredump/core.pac.1000.9f6db48320034b16bcca0363b89144b1.19829.1503567810000000.xz
       Message: Process 19829 (pac) of user 1000 dumped core.

GNU gdb (GDB; openSUSE Leap 42.2) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/perl...Reading symbols from /usr/lib/debug/usr/bin/perl.debug...done.
done.

warning: core file may not match specified executable file.
[New LWP 19829]
[New LWP 19899]
[New LWP 19868]
[New LWP 19869]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/perl ./pac'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  emission_find (instance=0x3c9c3b0, detail=0, signal_id=11) at gsignal.c:824
824     gsignal.c: No such file or directory.
[Current thread is 1 (Thread 0x7fa7068f0700 (LWP 19829))]
Missing separate debuginfos, use: zypper install Mesa-libEGL1-debuginfo-17.1.6-707.1.x86_64 Mesa-libGL1-debuginfo-17.1.6-707.1.x86_64 Mesa-libglapi0-debuginfo-17.1.6-707.1.x86_64 libgbm1-debuginfo-17.1.6-707.1.x86_64
(gdb) bt
#0  0x00007fa703b07750 in signal_emit_unlocked_R (instance=0x3c9c3b0, detail=0, signal_id=11) at gsignal.c:824
#1  0x00007fa703b07750 in signal_emit_unlocked_R (node=node@entry=0x1c5ce20, detail=detail@entry=0, instance=instance@entry=0x3c9c3b0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff2b278b00) at gsignal.c:3513
#2  0x00007fa703b102a8 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fff2b278c88) at gsignal.c:3385
#3  0x00007fa703b10592 in g_signal_emit (instance=instance@entry=0x3c9c3b0, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3441
#4  0x00007fa6fd26c350 in gtk_object_dispose (gobject=0x3c9c3b0 [GtkImage]) at gtkobject.c:421
#5  0x00007fa703afce88 in g_object_run_dispose (object=0x3c9c3b0 [GtkImage]) at gobject.c:1082
#6  0x00007fa6fd26ce99 in IA__gtk_object_destroy (object=<optimized out>) at gtkobject.c:406
#7  0x00007fa6fd355e61 in IA__gtk_widget_destroy (widget=<optimized out>) at gtkwidget.c:3189
#8  0x00007fa6fd2b9619 in gtk_status_icon_finalize (object=0x4159500 [GtkStatusIcon]) at gtkstatusicon.c:1032
#9  0x00007fa703afb171 in g_object_unref (_object=0x4159500) at gobject.c:3183
#10 0x00007fa703d5acf2 in XS_Glib__Object_DESTROY (my_perl=<optimized out>, cv=<optimized out>) at GObject.xs:1301
#11 0x00000000004ab5d6 in Perl_pp_entersub (my_perl=0xf9f010) at pp_hot.c:2888
#12 0x0000000000437287 in Perl_call_sv (my_perl=my_perl@entry=0xf9f010, sv=sv@entry=0x16a6988, flags=<optimized out>, flags@entry=45) at perl.c:2766
#13 0x00000000004b44b4 in S_curse (my_perl=my_perl@entry=0xf9f010, sv=sv@entry=0x41858c8, check_refcnt=check_refcnt@entry=true) at sv.c:6489
#14 0x00000000004b4c30 in Perl_sv_clear (my_perl=my_perl@entry=0xf9f010, orig_sv=orig_sv@entry=0x41858c8) at sv.c:6117
#15 0x00000000004b52bd in Perl_sv_free2 (my_perl=0xf9f010, sv=0x41858c8, rc=<optimized out>) at sv.c:6590
#16 0x00000000004ac967 in S_visit (my_perl=my_perl@entry=0xf9f010, f=f@entry=0x4b5480 <do_clean_objs>, flags=flags@entry=2048, mask=mask@entry=2048) at sv.c:422
#17 0x00000000004b5854 in Perl_sv_clean_objs (my_perl=my_perl@entry=0xf9f010) at sv.c:577
#18 0x000000000043976e in perl_destruct (my_perl=0xf9f010) at perl.c:766
#19 0x000000000041e8eb in main (argc=2, argv=0x7fff2b279408, env=0x7fff2b279420) at perlmain.c:125
(gdb) quit

regards

dpecka commented 6 years ago

FYI:

https://bugzilla.novell.com/show_bug.cgi?id=1067117

regards, dd

sheepdestroyer commented 5 years ago

Pac manager still crashes on exit on fedora 29 https://bugzilla.redhat.com/show_bug.cgi?id=1497929