|
From: | Gábor Boskovits |
Subject: | bug#30591: Vinagre segmentation fault - and gdb cannot find symbols? |
Date: | Sat, 24 Feb 2018 09:24:22 +0100 |
Hi,
Recently, I've noticed that Vinagre segfaults when I initiate a
connection. To reproduce, try doing the following:
1) Install Vinagre.
2) Try to connect to a remote host.
3) Vinagre displays a black screen, and about 10-20 seconds later, it
crashes.
I've obtained a core dump, but it seems I can't get debug symbols from
it. I'm using a custom version that adds a "debug" output, and my
~/.gdbinit is set up according to what Guix recommends in its manual
((guix) Installing Debugging Files). What do I need to do to get gdb to
give me useful information?
Example debugging session follows:
--8<---------------cut here---------------start------------->8---
[0] address@hidden:~/debug-vinagre
$ cat ~/.gdbinit
# Tell GDB where to look for separate debugging files.
set debug-file-directory ~/.guix-profile/lib/debug
# Let GDB auto-load any files it needs.
set auto-load safe-path /
[0] address@hidden:~/debug-vinagre
$ file core
core: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from '/home/marusich/.guix-profile/bin/vinagre', real uid: 1000, effective uid: 1000, real gid: 998, effective gid: 998, execfn: '/gnu/store/ 7w9pimrkk7n1f9zxw9va6jkhmgyw8b bv-maru-vinagre-3.22.0/bin/. vinagre-real', platform: 'x86_64'
[0] address@hidden:~/debug-vinagre
$ tree ~/.guix-profile/lib/debug/
/home/marusich/.guix-profile/lib/debug/
└── gnu
└── store
├── 7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0 -> /gnu/store/ j6nkca3pr1vhbd8bf25pphcwk66fb7 nj-maru-vinagre-3.22.0-debug/ lib/debug/gnu/store/ 7w9pimrkk7n1f9zxw9va6jkhmgyw8b bv-maru-vinagre-3.22.0
└── n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25 -> /gnu/store/ z1y36la9q1xkc5i5vcxqm7d995nrng mn-gcc-toolchain-7.2.0/lib/ debug/gnu/store/ n6nvxlk2j8ysffjh3jphn1k5silnak h6-glibc-2.25
4 directories, 0 files
[0] address@hidden:~/debug-vinagre
$ grep -A99 ~/custom-guix-packages/
marusich.scm marusich.scm~ my-packages/
[0] address@hidden:~/debug-vinagre
$ grep -A99 maru-vinagre ~/custom-guix-packages/marusich.scm
(define-public maru-vinagre
(package (inherit vinagre)
(name "maru-vinagre")
(outputs '("out" "debug"))))
[0] address@hidden:~/debug-vinagre
$ guix package --list-installed | grep maru-vinagre
maru-vinagre 3.22.0 debug /gnu/store/j6nkca3pr1vhbd8bf25pphcwk66fb7 nj-maru-vinagre-3.22.0-debug
maru-vinagre 3.22.0 out /gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8b bv-maru-vinagre-3.22.0
[0] address@hidden:~/debug-vinagre
$ gdb --quiet /gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8b bv-maru-vinagre-3.22.0/bin/. vinagre-real core
Reading symbols from /gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8b bv-maru-vinagre-3.22.0/bin/. vinagre-real...
warning: the debug information found in "/home/marusich/.guix-profile/lib/debug//gnu/store/ 7w9pimrkk7n1f9zxw9va6jkhmgyw8b bv-maru-vinagre-3.22.0/bin/. vinagre-real.debug" does not match "/gnu/store/ 7w9pimrkk7n1f9zxw9va6jkhmgyw8b bv-maru-vinagre-3.22.0/bin/. vinagre-real" (CRC mismatch).
(no debugging symbols found)...done.
[New LWP 28789]
[New LWP 28790]
[New LWP 28791]
[New LWP 28792]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klh ah-glibc-2.25/lib/libthread_ db.so.1".
Core was generated by `/home/marusich/.guix-profile/bin/vinagre'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f173c081707 in vnc_connection_coroutine () from /gnu/store/slxc1lf23wdzjamn6pfp2inrzy74db wh-gtk-vnc-0.7.0/lib/libgvnc- 1.0.so.0
[Current thread is 1 (Thread 0x7f1741e67500 (LWP 28789))]
(gdb) l
No symbol table is loaded. Use the "file" command.
(gdb) where
#0 0x00007f173c081707 in vnc_connection_coroutine () from /gnu/store/slxc1lf23wdzjamn6pfp2inrzy74db wh-gtk-vnc-0.7.0/lib/libgvnc- 1.0.so.0
#1 0x00007f173c08489f in coroutine_trampoline () from /gnu/store/slxc1lf23wdzjamn6pfp2inrzy74db wh-gtk-vnc-0.7.0/lib/libgvnc- 1.0.so.0
#2 0x00007f173ae6c990 in ?? () from /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klh ah-glibc-2.25/lib/libc.so.6
#3 0x000000000101ec08 in ?? ()
#4 0x0000000000000000 in ?? ()
(gdb)
--8<---------------cut here---------------end--------------->8---
I'm pretty new to debugging C programs in gdb, so if I'm making any
obvious mistakes, I'd really appreciate it if you'd let me know!
Thank you,
--
Chris
[Prev in Thread] | Current Thread | [Next in Thread] |