User Tools

Site Tools


pom-ng:troubleshooting

Troubleshooting

Crash / Segmentation fault

In order to troubleshoot crashes, pom-ng must be compiled with debug information :

# ./configure CFLAGS="-O0 -pipe -ggdb3"
# make clean
# make
# make install

This step is very important in order to find out where the crash occurs.

The best way to identify where the crash occurs is to run pom-ng inside gdb :

# gdb pom-ng
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
[...]
Reading symbols from /usr/local/bin/pom-ng...done.
(gdb)

Once gdb is started you need to run the program and reproduce the crash :

(gdb) run -d 5
Starting program: /usr/local/bin/pom-ng -d 5
[...]

When the crash occurs, you'll get back to the gdb prompt. Here is an example :

[...]
datastore: Error while locking mutex in datastore.c:621 : Invalid argument
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffdbfff700 (LWP 13470)]
0x00007ffff5d09015 in raise () from /lib64/libc.so.6
(gdb)

The command “bt full” will already provide a lot of informations about the issue :

(gdb) bt full
#0  0x00007ffff5d09015 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007ffff5d0a48b in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x00007ffff7bc8ee1 in datastore_connection_new (d=0x62ab70) at datastore.c:621
        err_num = 22
        res = 0x7fffdbffe930
[...]
(gdb)

* Make sure you provide the full output of gdb (even before you run the pom-ng if possible) in your bug report.*

pom-ng/troubleshooting.txt · Last modified: 2013/12/19 13:52 by gmsoft