bug#30591: Vinagre segmentation fault - and gdb cannot find symbols?
Hi Chris, Chris Marusich 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
bug#30591: Vinagre segmentation fault - and gdb cannot find symbols?
Gábor Boskovits writes: > I've also seen this before. My workaround was that I created a package > disabling strip-binaries. That worked well enough. I've also added -g3 to > flags, as I needed macro expansions in debug. If you find out anything > useful for the CRC mismatch thing thou, I would be really interested. That > would have saved me lot of time. I was able to work around the problem by defining and then installing the following custom package into my profile: --8<---cut here---start->8--- (define-public maru-vinagre (package (inherit vinagre) (name "maru-vinagre") (outputs '("out")) (arguments (append (package-arguments vinagre) '(#:strip-binaries? #f) --8<---cut here---end--->8--- It does NOT add a debug output; instead, it simply disables the stripping of binaries. GDB seems to be unhappy if I strip the symbols and put them into the debug output. I guess maybe it's related to the CRC mismatch mentioned above? Anyway, here's a little more info about what was going on at the time of the segmentation fault: --8<---cut here---start->8--- [0] marusich@garuda.local:~/debug-vinagre $ gdb --quiet /gnu/store/xz88x8dnckvv0ipqfyvj8f2knbyx98lg-maru-vinagre-3.22.0/bin/.vinagre-real core Reading symbols from /gnu/store/xz88x8dnckvv0ipqfyvj8f2knbyx98lg-maru-vinagre-3.22.0/bin/.vinagre-real...done. [New LWP 26776] [New LWP 26778] [New LWP 26803] [New LWP 26779] [Thread debugging using libthread_db enabled] Using host libthread_db library "/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/lib/libthread_db.so.1". Core was generated by `/home/marusich/.guix-profile/bin/vinagre'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x7f8255f06717 in vnc_connection_coroutine () from /gnu/store/pk2ff5244nway4cpirqgm0hm4c39i6xr-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0 [Current thread is 1 (Thread 0x7f825bd29940 (LWP 26776))] (gdb) l 156 ../vinagre-3.22.0/vinagre/vinagre-main.c: No such file or directory. (gdb) help directory Add directory DIR to beginning of search path for source files. Forget cached info on source file locations and line positions. DIR can also be $cwd for the current working directory, or $cdir for the directory in which the source file was compiled into object code. With no argument, reset the search path to $cdir:$cwd, the default. (gdb) directory vinagre-3.22.0 Source directories searched: /home/marusich/debug-vinagre/vinagre-3.22.0:$cdir:$cwd (gdb) l 156 { 157 gtk_window_present_with_time (window, GDK_CURRENT_TIME); 158 } 159 160 vinagre_options_process_command_line (GTK_APPLICATION (app), window, &optionstate); 161 162 out: 163 g_strfreev (argv); 164 165 g_option_context_free (context); (gdb) where #0 0x7f8255f06717 in vnc_connection_coroutine () from /gnu/store/pk2ff5244nway4cpirqgm0hm4c39i6xr-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0 #1 0x7f8255f098af in coroutine_trampoline () from /gnu/store/pk2ff5244nway4cpirqgm0hm4c39i6xr-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0 #2 0x7f8254c887e0 in ?? () from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/lib/libc.so.6 #3 0x00ae3578 in ?? () #4 0x in ?? () (gdb) --8<---cut here---end--->8--- 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. -- Chris signature.asc Description: PGP signature
bug#30591: Vinagre segmentation fault - and gdb cannot find symbols?
2018-02-24 8:59 GMT+01:00 Chris Marusich : > 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] marusich@garuda.local:~/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] marusich@garuda.local:~/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] marusich@garuda.local:~/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] marusich@garuda.local:~/debug-vinagre > $ grep -A99 ~/custom-guix-packages/ > marusich.scm marusich.scm~ my-packages/ > [0] marusich@garuda.local:~/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] marusich@garuda.local:~/debug-vinagre > $ guix package --list-installed | grep maru-vinagre > maru-vinagre3.22.0 debug /gnu/store/j6nkca3pr1vhbd8bf25pphcwk66fb7 > nj-maru-vinagre-3.22.0-debug > maru-vinagre3.22.0 out /gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8b > bv-maru-vinagre-3.22.0 > [0] marusich@garuda.local:~/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/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0/bin/.vinagre-real" > (CRC mismatch). > > I've also seen this before. My workaround was that I created a package disabling strip-binaries. That worked well enough. I've also added -g3 to flags, as I needed macro expansions in debug. If you find out anything useful for the CRC mismatch thing thou, I would be really interested. That would have saved me lot of time. > (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 0x7f173c081707 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 0x7f173c081707 in vnc_connection_coroutine () from /gnu/store/ > slxc1lf23wdzjamn6pfp2inrzy74dbwh-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0 > #1 0x7f173c08489f in coroutine_trampoline () from /gnu/store/ > slxc1lf23wdzjamn6pfp2inrzy74dbwh-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0 > #2 0x7f173ae6c990 in ?? () from /gnu/store/ > 3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/libc.so.6 > #3 0x0101ec08 in ?? () > #4 0x 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 >
bug#30591: Vinagre segmentation fault - and gdb cannot find symbols?
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] marusich@garuda.local:~/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] marusich@garuda.local:~/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] marusich@garuda.local:~/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] marusich@garuda.local:~/debug-vinagre $ grep -A99 ~/custom-guix-packages/ marusich.scm marusich.scm~ my-packages/ [0] marusich@garuda.local:~/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] marusich@garuda.local:~/debug-vinagre $ guix package --list-installed | grep maru-vinagre maru-vinagre3.22.0 debug /gnu/store/j6nkca3pr1vhbd8bf25pphcwk66fb7nj-maru-vinagre-3.22.0-debug maru-vinagre3.22.0 out /gnu/store/7w9pimrkk7n1f9zxw9va6jkhmgyw8bbv-maru-vinagre-3.22.0 [0] marusich@garuda.local:~/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 0x7f173c081707 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 0x7f173c081707 in vnc_connection_coroutine () from /gnu/store/slxc1lf23wdzjamn6pfp2inrzy74dbwh-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0 #1 0x7f173c08489f in coroutine_trampoline () from /gnu/store/slxc1lf23wdzjamn6pfp2inrzy74dbwh-gtk-vnc-0.7.0/lib/libgvnc-1.0.so.0 #2 0x7f173ae6c990 in ?? () from /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/libc.so.6 #3 0x0101ec08 in ?? () #4 0x 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 signature.asc Description: PGP signature