[SR-Users] Child process exited by a signal 11

Alex Balashov abalashov at evaristesys.com
Wed Mar 19 23:57:55 CET 2014


On 03/19/2014 06:50 PM, Allen Zhang wrote:

> 1, I noticed that the main thread was 4097 and 4098 died. what is the
> child process created straight after main? My guess is this 4098 child
> process manages TCP connections. Is this correct?
>
> 2, Why does debugging level has an impact on this? Is it because higher
> debugging level introduces some delay?

That's hard to say. However, changing any aspect of the execution 
behaviour changes the state of the program, and can certainly have an 
impact on when it crashes, and whether it crashes at all.

The nature of memory bugs is that memory boundaries are often 
overstepped, but this does not necessarily result in a crash. The crash 
arises from the consequences of accessing that out-of-bounds memory, 
such as when the program ingests garbage from that memory area because 
it has been written to by something else. And, all of this behaviour 
varies with the order of operations, the particular libc you are using, 
its version, and the memory footprint of various other executed components.

The way to troubleshoot an issue like this is to analyse the core dump 
that is generated by the process that died due to the segmentation fault 
(signal 11). You should be able to find that core dump somewhere on your 
system. When you do, you can read it with 'gdb':

    gdb /path/to/kamailio/binary /path/to/core.4098

Note that by default, many values will be optimised out. To get a fuller 
picture, you may need to compile Kamailio without -Ox compiler 
optimisations, and with additional debug information, e.g. -g.

-- Alex

-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/



More information about the sr-users mailing list