[sr-dev] crash at f_malloc.c

Daniel-Constantin Mierla miconda at gmail.com
Mon Sep 21 20:49:25 CEST 2015


Strange that 'info locals' doesn't print all local variables, can you get:

frame 0
print after

Saniel

On 21/09/15 19:15, Juha Heinanen wrote:
> Daniel-Constantin Mierla writes:
>
>> >From the second core, get:
>>
>> frame 1
>> info locals
>> p *((struct fm_block*)0x7fc3c325f000)
>> p *f
>>
>> frame 0
>> info locals
>> p ((struct fm_block*)0x7fc3c325f000)->free_hash[hash]
>> p *f
> here, juha
>
> (gdb) frame 1
> #1  fm_free (qmp=0x7fc3c325f000, p=0x7fc3c3a758c8) at mem/f_malloc.c:624
> 624	in mem/f_malloc.c
> (gdb) info locals
> f = 0x7fc3c3a758b0
> __FUNCTION__ = "fm_free"
> (gdb) p *((struct fm_block*)0x7fc3c325f000)
> $1 = {type = 0, size = 33554432, used = 6355208, real_used = 7214840, max_real_used = 8902688, ffrags = 110, 
>   first_frag = 0x7fc3c3267478, last_frag = 0x7fc3c525efe8, free_bitmap = {18014398509482118, 12599296, 
>     4035225283304128528, 2048, 8594128896, 0, 0, 0, 0, 2048, 2199023255556, 140737488355840, 274877906944, 16384, 
>     140737488355328, 134217728, 216172782115880964, 0, 0, 0, 2251799813687296, 0, 576460752304472064, 4503599627370496, 0, 
>     288230376151711744, 1073741824, 1048576, 281474976710656, 0, 8796093022208, 0, 2054}, free_hash = {{first = 0x0, 
>       no = 0}, {first = 0x7fc3c389b918, no = 1}, {first = 0x7fc3c3898d40, no = 2}, {first = 0x0, no = 0}, {first = 0x0, 
>       no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x7fc3c3ae1458, no = 1}, {first = 0x0, 
>       no = 0} <repeats 46 times>, {first = 0x7fc3c3933d08, no = 1}, {first = 0x0, no = 0} <repeats 23 times>, {
>       first = 0x7fc3c3a8f898, no = 1}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, 
>       no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x7fc3c39d0880, no = 1}, {
>       first = 0x7fc3c3984360, no = 2}, {first = 0x0, no = 0} <repeats 44 times>, {first = 0x7fc3c3a0eb48, no = 1}, {
>       first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {
>       first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {
>       first = 0x7fc3c3a0e6b8, no = 1}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x7fc3c39f8278, no = 4}, {
>       first = 0x0, no = 0} <repeats 15 times>, {first = 0x7fc3c3a103b8, no = 1}, {first = 0x0, no = 0} <repeats 24 times>, 
>     {first = 0x7fc3c39c2398, no = 1}, {first = 0x7fc3c39fe0a0, no = 1}, {first = 0x7fc3c3a44878, no = 2}, {first = 0x0, 
>       no = 0} <repeats 13 times>, {first = 0x7fc3c3ae4e28, no = 3}, {first = 0x0, no = 0} <repeats 74 times>, {
>       first = 0x7fc3c3a93890, no = 5}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, 
>       no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, no = 0}, {first = 0x0, 
>       no = 0}, {first = 0x0, no = 0}, {first = 0x7fc3c39be508, no = 1}, {first = 0x0, no = 0} <repeats 297 times>, {
>       first = 0x7fc3c3afaa88, no = 1}, {first = 0x0, no = 0} <repeats 54 times>, {first = 0x7fc3c3ae5498, no = 2}, {
>       first = 0x0, no = 0} <repeats 38 times>, {first = 0x7fc3c3aeff90, no = 2}, {first = 0x0, no = 0} <repeats 31 times>, 
>     {first = 0x7fc3c3a57370, no = 18446744073709551615}, {first = 0x0, no = 0} <repeats 37 times>, {
>       first = 0x7fc3c3aff538, no = 3}, {first = 0x0, no = 0} <repeats 54 times>, {first = 0x7fc3c3a510a0, no = 4}, {
>       first = 0x0, no = 0} <repeats 39 times>, {first = 0x7fc3c3a7e538, no = 2}, {first = 0x0, 
>       no = 0} <repeats 96 times>...}}
> (gdb) p *f
> $2 = {size = 35952, u = {nxt_free = 0x7fc3c39d1c3b, reserved = 140478777203771}, prv_free = 0x430a0d6f666e6977}
> (gdb) frame 0
> #0  0x00000000005f7575 in fm_insert_free (frag=<optimized out>, qm=<optimized out>) at mem/f_malloc.c:242
> 242	in mem/f_malloc.c
> (gdb) info locals
> hash = 2050
> (gdb) p ((struct fm_block*)0x7fc3c325f000)->free_hash[hash]
> $4 = {first = 0x7fc3c39d13e0, no = 25}
> (gdb) p *f
> value has been optimized out
> (gdb) 

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - http://asipto.com/u/kat




More information about the sr-dev mailing list