pacmanager
pacmanager copied to clipboard
Segmentation fault in Ubuntu 17.04
Just updated my Ubuntu to 17.04 and PAC stopped working: $ pac PAC started (pac) with PID 18442 INFO: Used config file '/home/lx/.config/pac/pac.nfreeze' Segmentation fault (core dumped)
I don't know how to debug this problem, I tried to launch in with valgrind, hope that info will help:
$ valgrind pac
==13695== Memcheck, a memory error detector
==13695== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==13695== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==13695== Command: /usr/bin/pac
==13695==
PAC started (pac) with PID 13695
==13695== Warning: ignored attempt to set SIGSTOP handler in sigaction();
==13695== the SIGSTOP signal is uncatchable
INFO: Used config file '/home/lx/.config/pac/pac.nfreeze'
==13695== Conditional jump or move depends on uninitialised value(s)
==13695== at 0x9FE781E: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0)
==13695== by 0x9FCB67A: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0)
==13695== by 0x9F86F40: pixman_image_composite32 (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0)
==13695== by 0x9C9A69A: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CDF999: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CD1C3D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CD26B2: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CD35C2: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9C8DBAF: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9C9F2C6: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CD6816: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9C9628B: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695==
==13695== Conditional jump or move depends on uninitialised value(s)
==13695== at 0x9FE7A6E: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0)
==13695== by 0x9FCB67A: ??? (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0)
==13695== by 0x9F86F40: pixman_image_composite32 (in /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0)
==13695== by 0x9C9A69A: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CDF999: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CD1C3D: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CD26B2: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CD31D9: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9C8DACE: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9C9F291: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9CD6715: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695== by 0x9C95E6E: ??? (in /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8)
==13695==
==13695== Conditional jump or move depends on uninitialised value(s)
==13695== at 0x1E9559D0: ??? (in /usr/lib/x86_64-linux-gnu/librsvg-2.so.2.40.16)
==13695== by 0x1E9565B2: rsvg_handle_get_pixbuf_sub (in /usr/lib/x86_64-linux-gnu/librsvg-2.so.2.40.16)
==13695== by 0x1E705E15: ??? (in /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so)
==13695== by 0xE014A62: gdk_pixbuf_loader_close (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5)
==13695== by 0xE010A4A: ??? (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5)
==13695== by 0xE01233C: gdk_pixbuf_new_from_stream_at_scale (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5)
==13695== by 0xD5E2B2D: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31)
==13695== by 0xD5E5D21: gtk_icon_info_load_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31)
==13695== by 0xD5E5E89: gtk_icon_theme_load_icon (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31)
==13695== by 0xD5C02A6: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31)
==13695== by 0xD5C6379: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31)
==13695== by 0x9063CD8: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5200.0)
==13695==
==13695== Process terminating with default action of signal 11 (SIGSEGV)
==13695== Access not within mapped region at address 0x38
==13695== at 0x400C6EC: elf_machine_rela (dl-machine.h:325)
==13695== by 0x400C6EC: elf_dynamic_do_Rela (do-rel.h:137)
==13695== by 0x400C6EC: _dl_relocate_object (dl-reloc.c:259)
==13695== by 0x4015A90: dl_open_worker (dl-open.c:435)
==13695== by 0x40106C3: _dl_catch_error (dl-error.c:187)
==13695== by 0x4014EA8: _dl_open (dl-open.c:660)
==13695== by 0x4E3AEE8: dlopen_doit (dlopen.c:66)
==13695== by 0x40106C3: _dl_catch_error (dl-error.c:187)
==13695== by 0x4E3B580: _dlerror_run (dlerror.c:163)
==13695== by 0x4E3AF81: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13695== by 0xB199F91: ??? (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==13695== by 0xB19A0CE: _XNoticeCreateBitmap (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==13695== by 0xB19A6E0: XCreatePixmap (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==13695== by 0xDB8ECFC: ??? (in /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31)
==13695== If you believe this happened as a result of a stack
==13695== overflow in your program's main thread (unlikely but
==13695== possible), you can try to increase the size of the
==13695== main thread stack using the --main-stacksize= flag.
==13695== The main thread stack size used in this run was 8388608.
==13695==
==13695== HEAP SUMMARY:
==13695== in use at exit: 62,008,072 bytes in 464,696 blocks
==13695== total heap usage: 2,748,128 allocs, 2,283,432 frees, 229,068,322 bytes allocated
I'm seeing the same issue after upgrading from Ubuntu 16.10 to 17.04
I'm seeing the same. I've included a GDB backtrace in case it's useful. Google reveals all sorts of problems that cause segfaults in elf_machine_rela
, but I haven't found anything that obviously applies here.
$ gdb --args perl `which pac`
[...]
Thread 1 "perl" received signal SIGSEGV, Segmentation fault.
0x00007ffff7de36ec in elf_machine_rela (skip_ifunc=33554432, reloc_addr_arg=0x7fffdbffeff8, version=0x30,
sym=0x7fffdbdfe300, reloc=0x7fffdbdfe5f0, map=0x5555569a0de0) at ../sysdeps/x86_64/dl-machine.h:325
325 ../sysdeps/x86_64/dl-machine.h: No such file or directory.
(gdb) where
#0 0x00007ffff7de36ec in elf_machine_rela (skip_ifunc=33554432, reloc_addr_arg=0x7fffdbffeff8, version=0x30,
sym=0x7fffdbdfe300, reloc=0x7fffdbdfe5f0, map=0x5555569a0de0) at ../sysdeps/x86_64/dl-machine.h:325
#1 elf_dynamic_do_Rela (skip_ifunc=33554432, lazy=<optimized out>, nrelative=<optimized out>,
relsize=<optimized out>, reladdr=<optimized out>, map=0x5555569a0de0) at do-rel.h:137
#2 _dl_relocate_object (scope=<optimized out>, reloc_mode=reloc_mode@entry=1,
consider_profiling=<optimized out>, consider_profiling@entry=0) at dl-reloc.c:259
#3 0x00007ffff7deca91 in dl_open_worker (a=a@entry=0x7fffffffce10) at dl-open.c:435
#4 0x00007ffff7de76c4 in _dl_catch_error (objname=objname@entry=0x7fffffffce00,
errstring=errstring@entry=0x7fffffffce08, mallocedp=mallocedp@entry=0x7fffffffcdff,
operate=operate@entry=0x7ffff7dec570 <dl_open_worker>, args=args@entry=0x7fffffffce10) at dl-error.c:187
#5 0x00007ffff7debea9 in _dl_open (file=0x7ffff2fc0450 "libXcursor.so.1", mode=-2147483647,
caller_dlopen=0x7ffff2ca6f92, nsid=-2, argc=<optimized out>, argv=<optimized out>, env=0x5555559560b0)
at dl-open.c:660
#6 0x00007ffff7bd3ee9 in dlopen_doit (a=a@entry=0x7fffffffd040) at dlopen.c:66
#7 0x00007ffff7de76c4 in _dl_catch_error (objname=0x555555954f30, errstring=0x555555954f38,
mallocedp=0x555555954f28, operate=0x7ffff7bd3e90 <dlopen_doit>, args=0x7fffffffd040) at dl-error.c:187
#8 0x00007ffff7bd4581 in _dlerror_run (operate=operate@entry=0x7ffff7bd3e90 <dlopen_doit>,
args=args@entry=0x7fffffffd040) at dlerror.c:163
#9 0x00007ffff7bd3f82 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
#10 0x00007ffff2ca6f92 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#11 0x00007ffff2ca70cf in _XNoticeCreateBitmap () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#12 0x00007ffff2ca76e1 in XCreatePixmap () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#13 0x00007ffff03c3cfd in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#14 0x00007ffff038fd2f in gdk_pixbuf_render_pixmap_and_mask_for_colormap ()
from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#15 0x00007ffff086dabe in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#16 0x00007ffff0872432 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#17 0x00007fffeb59f341 in ?? () from /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libunity-gtk-module.so
#18 0x00007ffff4eafc25 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff4ec160c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff4eca88c in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff4ecac6f in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff08661e4 in gtk_widget_realize () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#23 0x00007ffff087084d in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#24 0x00007ffff4eafc25 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff4ec160c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff4eca88c in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff4ecac6f in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff0865946 in gtk_widget_show () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#29 0x00007ffff0dc4ba5 in ?? () from /usr/lib/x86_64-linux-gnu/perl5/5.24/auto/Gtk2/Gtk2.so
#30 0x0000555555627980 in Perl_pp_entersub ()
#31 0x000055555561fec6 in Perl_runops_standard ()
#32 0x00005555555a5eb5 in perl_run ()
#33 0x000055555557f13d in main ()
I did following steps
Removed pac
from the system (sudo apt-get remove pac
)
Used https://sourceforge.net/p/pacmanager/bugs/293/#06b8 to build libgnome2-vte-perl_0.11-1_amd64.deb
(preferably do in some virtual machine, so you do not bring build dependencies).
Downloaded pac
binaries pac-4.5.5.7-all.tar.gz
and extracted them.
Copied Vte.so
(replaced original) from DEB file CONTENTS/home/<username>/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Gnome2/Vte
to lib/ex/vte64/auto/Gnome2/Vte
(used mc
to extract and copy).
Started with ./pac
script (from pac-4.5.5.7-all.tar.gz
)
pac
started OK
+1 for the problem after upgrade from 16.10
+1 for solution.
anyway, it is now necessary to remove PAC before compiling.
You can also use the version from http://www.getdeb.net/app/pac which works just fine out of the box.
it starts pac only from shell. with gui it fails.
Installing just the DEB on Ubuntu 17.04 crashes. Removed that and installed the www.getdeb.com version, works better.
Still doesn't have a good feeling of opening and closing reliably. Might get a "A program has crashed" a moment after closing it. Sometimes when I open it (using the Alt+F2 shortcut in Kubuntu) it does nothing. Give it a moment and try again, it opens fine.
you can use "pac-vs" from snap which work very well! install: sudo snap install pac-vs
p.s. After upgrade from ubuntu 17.04 to 17.10 with standard version I have the same problem with segfault
@legionnet yep, this solution works.
But my PAC Manager configuration has been lost. And also, it looks like there is some issue with snaps GTK applications look&feel under KDE: https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1585332.
@tooleks, it is not lost.
copy it from ~/.config/pac to ~/snap/pac-vs/common/.config/pac
or you can create symlink.