User Tools

Site Tools


debugging_crashes

improvements welcome

tl;dr: $ gdb uzbl, (gdb) run, crash it, (gdb) bt, pastebin

First, check the console output. Is it a segmentation fault or a X error or what? If it is a segmentation fault, you have to use gdb.

$ gdb uzbl
GNU gdb 6.8
Copyright (C) 2008 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 "i686-pc-linux-gnu"...
(no debugging symbols found)

If you get (no debugging symbols found), your distro package manager has probably stripped off them. In arch linux, for example, you have to remove “strip” from the OPTIONS array in /etc/makepkg.conf and rebuild. But for this situation it is recommended to avoid using the package manager and build the latest version from Dieterbe/experimental:

$ git clone git://github.com/Dieterbe/uzbl.git
$ cd uzbl
$ git checkout origin/experimental
$ make
$ gdb ./uzbl
...
(gdb)

gdb allows you to do awesome stuff, but we'll just run

(gdb) run
Starting program: /home/dx/uzbl/uzbl
[Thread debugging using libthread_db enabled]
warning: Lowest section in /usr/lib/libicudata.so.42 is .hash at 000000b4
[New Thread 0xb50a0710 (LWP 7181)]
[New Thread 0xb48e7b70 (LWP 7191)]
[Thread 0xb48e7b70 (LWP 7191) exited]
[New Thread 0xb48e7b70 (LWP 7193)]
[Thread 0xb48e7b70 (LWP 7193) exited]
[New Thread 0xb48e7b70 (LWP 7194)]
[Thread 0xb48e7b70 (LWP 7194) exited]
[New Thread 0xb48e7b70 (LWP 7197)]
[Thread 0xb48e7b70 (LWP 7197) exited]

Here you should make it crash. I don't know any way to make uzbl crash right now, so i'll just send a stop signal which is similar to a segfault.

^Z
Program received signal SIGTSTP, Stopped (user).
0xb7f6e424 in __kernel_vsyscall ()
(gdb)

Here you type bt to print a backtrace:

(gdb) bt
#0  0xb7f6e424 in __kernel_vsyscall ()
#1  0xb6bfa1d6 in poll () from /lib/libc.so.6
#2  0xb6cdc92b in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb6ccf803 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#4  0xb6ccfd2f in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#5  0xb71c64b9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#6  0x08052d3a in main (argc=1, argv=0xbfa18094) at uzbl.c:2797

Just copy the result in pastebin, and post it back to IRC.

debugging_crashes.txt · Last modified: 2016/08/31 14:10 (external edit)