Subject: bug#30591: closed (Re: bug#30591: Vinagre segmentation fault - and gdb cannot find symbols?)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 13 Sep 2021 00:44:01 +0000

Your bug report

#30591: Vinagre segmentation fault - and gdb cannot find symbols?

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
30591: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30591
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#30591: Vinagre segmentation fault - and gdb cannot find symbols?
From: Sarah Morgensen <[email-masked]>
To: Chris Marusich <[email-masked]>
Cc: [email-masked],Gábor Boskovits <[email-masked]>
Date: Sun, 12 Sep 2021 17:43:46 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Chris,

Chris Marusich <[email-masked]> writes:

> The backtrace makes it look like maybe the segfault occurred in gtk-vnc,
> not vinagre itself, so I guess I'll need to customize more packages to
> build more debug outputs and try again...
>
> I'll keep poking at this as I get time.  If anyone has any tips, I'd
> really appreciate it.

I can't replicate this, and it's rather old, so I'm closing this.  It
looks like this may have been an issue with freerdp [0] which was since
fixed.

Please reopen if this is still an issue.  Thanks,

[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898448

--
Sarah

Subject: Vinagre segmentation fault - and gdb cannot find symbols?
From: Chris Marusich <[email-masked]>
To: [email-masked]
Date: Sat, 24 Feb 2018 08:59:16 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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] [email-masked]:~/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] [email-masked]:~/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/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0/bin/.vinagre-real', platform: 'x86_64'
[0] [email-masked]:~/debug-vinagre
$ tree ~/.guix-profile/lib/debug/
/home/marusich/.guix-profile/lib/debug/
└── gnu
    └── store
        ├── 7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0 -> /gnu/store/j6nkca3pr1vhbd8bf25pphcwk66fb7nj-maru-vinagre-3.22.0-debug/lib/debug/gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0
        └── n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25 -> /gnu/store/z1y36la9q1xkc5i5vcxqm7d995nrngmn-gcc-toolchain-7.2.0/lib/debug/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25

4 directories, 0 files
[0] [email-masked]:~/debug-vinagre
$ grep -A99 ~/custom-guix-packages/
marusich.scm   marusich.scm~  my-packages/   
[0] [email-masked]:~/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] [email-masked]:~/debug-vinagre
$ guix package --list-installed | grep maru-vinagre
maru-vinagre	3.22.0	debug	/gnu/store/j6nkca3pr1vhbd8bf25pphcwk66fb7nj-maru-vinagre-3.22.0-debug
maru-vinagre	3.22.0	out	/gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0
[0] [email-masked]:~/debug-vinagre
$ gdb --quiet /gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0/bin/.vinagre-real core
Reading symbols from /gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0/bin/.vinagre-real...
warning: the debug information found in "/home/marusich/.guix-profile/lib/debug//gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0/bin/.vinagre-real.debug" does not match "/gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-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/3h31zsqxjjg52da5gp3qmhkh4x8klhah-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/slxc1lf23wdzjamn6pfp2inrzy74dbwh-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/slxc1lf23wdzjamn6pfp2inrzy74dbwh-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0
#1  0x00007f173c08489f in coroutine_trampoline () from /gnu/store/slxc1lf23wdzjamn6pfp2inrzy74dbwh-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0
#2  0x00007f173ae6c990 in ?? () from /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-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