Re: [SR-Users] Core db_text module

2011-09-30 Thread Bruno Bresciani
Hello ALL,

Someone knows why at line 149 in
.../kamailio-3.1.2/modules_k/db_text/dbt_tb.c the shm_malloc function
sometimes allocates memory to dtp-prev but sometimes doesn't?
I'm asking this question because when the subscriber table is being loading
to shared memory in db_text module, dtp-prev is allocated but on version,
dispatcher, location table it doesn't... Analysing the source code I can't
see any reason to this behavior.

The allocation of dtp-prev to subscriber table is generating a core at
db_text module.

Best Regards

2011/9/27 Bruno Bresciani bruno.bresci...@gmail.com

 Hello Daniel,

 I'm still analyzing the source code of db_text module and I can't get find
 the reason of core when variable _tbc-prev is accessed. Did you obtain some
 conclusion about this core?

 PS: In kamailio 1.5.0 I can't get replicate this core

 Best Regards


 2011/9/26 Bruno Bresciani bruno.bresci...@gmail.com

 Hello,

 Follows the output of *p *_tbc-prev*:

 (gdb) p *_tbc-prev
 Cannot access memory at address 0x4c58586e


 Best Regards




 2011/9/24 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 thanks, the only possibility then is that the previous item in the list
 of tables has something wrong in it, send also the output for:

 p *_tbc-prev

 Actually, from now I see the _tmb-prev is 0x4c58586e and _tbc is
 0xb6175d20, so the pointers are in different memory zones, it could be pkg
 one and shm the other. But lets see first the output of p *_tbc-prev

 Cheers,
 Daniel


 On 9/23/11 2:11 PM, Bruno Bresciani wrote:

 Follows the output:

 *p _tbc*
 $1 = (dbt_table_p) 0xb6175d20

 *(gdb) p *_tbc*
 $312 = {dbname = {s = 0xb616d780 /axs/cfg/db_text, len = 16}, name = {s
 = 0xb616e288 subscriber, len = 10}, hash = 6, mark = 1316722939, flag = 0,
   auto_col = -1, auto_val = 0, nrcols = 10, cols = 0xb616f310, colv =
 0xb6175e70, nrrows = 58, rows = 0xb616e940, mt = 1316722962, next = 0x0,
   prev = 0x4c58586e}




 2011/9/23 Daniel-Constantin Mierla mico...@gmail.com



 On 9/23/11 1:57 PM, Bruno Bresciani wrote:

 Sorry... but I didn't understand how I get the output of:

 p _tbc
 p *_tbc

  run these commands inside gdb.

 Daniel




 Best Regards


 2011/9/23 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 interesting ... give also the output of:

 p _tbc
 p *_tbc

 Cheers,
  Daniel


 On 9/23/11 1:27 PM, Bruno Bresciani wrote:

 Hello,

 Doesn't exist a exact often that the table subscriber is changed, it
 can be changed at any time and almost always the core is generated. I was
 thinking the same thing that you, the deletion of the table is done 
 without
 a lock, but the function dbt_db_get_table that call dbt_db_del_table does
 this lock previously...

 Follows the output of 'bt full' from gdb:

 Program terminated with signal 11, Segmentation fault.
 #0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380,
 sync=0) at dbt_lib.c:238
 238 dbt_lib.c: Arquivo ou diretório não encontrado.
 in dbt_lib.c
 (gdb) bt full
 #0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380,
 sync=0) at dbt_lib.c:238
 _tbc = (dbt_table_p) 0xb6175d20
 hash = 6
 #1  0x008b3f38 in dbt_db_get_table (_dc=0xb60fde60, _s=0xbfc94380) at
 dbt_lib.c:300
 _tbc = (dbt_table_p) 0xb6175d20
 hash = 6
 #2  0x008ae12b in dbt_query (_h=0x82e3c90, _k=0xbfc94378, _op=0x0,
 _v=0xbfc94348, _c=0x82e3e50, _n=1, _nc=2, _o=0x0, _r=0xbfc94390) at
 dbt_base.c:200
 _tbc = value optimized out
 _drp = value optimized out
 _dres = value optimized out
 lkey = value optimized out
 lres = (int *) 0x0
 _o_k = (db_key_t *) 0x0
 _o_op = 0x0
 _o_n = value optimized out
 _o_l = value optimized out
 _o_nc = value optimized out
 #3  0x001ae088 in digest_authenticate (msg=0x82df8f8, realm=value
 optimized out, tname=value optimized out, hftype=HDR_AUTHORIZATION_T) 
 at
 authorize.c:98
 cred = value optimized out
 keys = {0x1b14c8, 0x1b14d0}
 vals = {{type = DB1_STR, nul = 0, free = 165777064, val =
 {int_val = 136948130, ll_val = 17316817314, double_val =
 8.5556445301562903e-314,
   time_val = 136948130,
   string_val = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., str_val = {
 s = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, blob_val = {
 s = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, bitmap_val =
 136948130}}, {type = DB1_STR, nul 

Re: [SR-Users] Core db_text module

2011-09-26 Thread Bruno Bresciani
Hello,

Follows the output of *p *_tbc-prev*:

(gdb) p *_tbc-prev
Cannot access memory at address 0x4c58586e


Best Regards



2011/9/24 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 thanks, the only possibility then is that the previous item in the list of
 tables has something wrong in it, send also the output for:

 p *_tbc-prev

 Actually, from now I see the _tmb-prev is 0x4c58586e and _tbc is
 0xb6175d20, so the pointers are in different memory zones, it could be pkg
 one and shm the other. But lets see first the output of p *_tbc-prev

 Cheers,
 Daniel


 On 9/23/11 2:11 PM, Bruno Bresciani wrote:

 Follows the output:

 *p _tbc*
 $1 = (dbt_table_p) 0xb6175d20

 *(gdb) p *_tbc*
 $312 = {dbname = {s = 0xb616d780 /axs/cfg/db_text, len = 16}, name = {s =
 0xb616e288 subscriber, len = 10}, hash = 6, mark = 1316722939, flag = 0,
   auto_col = -1, auto_val = 0, nrcols = 10, cols = 0xb616f310, colv =
 0xb6175e70, nrrows = 58, rows = 0xb616e940, mt = 1316722962, next = 0x0,
   prev = 0x4c58586e}




 2011/9/23 Daniel-Constantin Mierla mico...@gmail.com



 On 9/23/11 1:57 PM, Bruno Bresciani wrote:

 Sorry... but I didn't understand how I get the output of:

 p _tbc
 p *_tbc

  run these commands inside gdb.

 Daniel




 Best Regards


 2011/9/23 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 interesting ... give also the output of:

 p _tbc
 p *_tbc

 Cheers,
  Daniel


 On 9/23/11 1:27 PM, Bruno Bresciani wrote:

 Hello,

 Doesn't exist a exact often that the table subscriber is changed, it can
 be changed at any time and almost always the core is generated. I was
 thinking the same thing that you, the deletion of the table is done without
 a lock, but the function dbt_db_get_table that call dbt_db_del_table does
 this lock previously...

 Follows the output of 'bt full' from gdb:

 Program terminated with signal 11, Segmentation fault.
 #0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380,
 sync=0) at dbt_lib.c:238
 238 dbt_lib.c: Arquivo ou diretório não encontrado.
 in dbt_lib.c
 (gdb) bt full
 #0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380,
 sync=0) at dbt_lib.c:238
 _tbc = (dbt_table_p) 0xb6175d20
 hash = 6
 #1  0x008b3f38 in dbt_db_get_table (_dc=0xb60fde60, _s=0xbfc94380) at
 dbt_lib.c:300
 _tbc = (dbt_table_p) 0xb6175d20
 hash = 6
 #2  0x008ae12b in dbt_query (_h=0x82e3c90, _k=0xbfc94378, _op=0x0,
 _v=0xbfc94348, _c=0x82e3e50, _n=1, _nc=2, _o=0x0, _r=0xbfc94390) at
 dbt_base.c:200
 _tbc = value optimized out
 _drp = value optimized out
 _dres = value optimized out
 lkey = value optimized out
 lres = (int *) 0x0
 _o_k = (db_key_t *) 0x0
 _o_op = 0x0
 _o_n = value optimized out
 _o_l = value optimized out
 _o_nc = value optimized out
 #3  0x001ae088 in digest_authenticate (msg=0x82df8f8, realm=value
 optimized out, tname=value optimized out, hftype=HDR_AUTHORIZATION_T) at
 authorize.c:98
 cred = value optimized out
 keys = {0x1b14c8, 0x1b14d0}
 vals = {{type = DB1_STR, nul = 0, free = 165777064, val =
 {int_val = 136948130, ll_val = 17316817314, double_val =
 8.5556445301562903e-314,
   time_val = 136948130,
   string_val = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., str_val = {
 s = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, blob_val = {
 s = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, bitmap_val =
 136948130}}, {type = DB1_STR, nul = 0, free = 8200,
 val = {int_val = 137215560, ll_val = 64561725000, double_val =
 3.1897730358749953e-313, time_val = 137215560, string_val = 0x82dbe48
 192.168.166.199,
   str_val = {s = 0x82dbe48 192.168.166.199, len = 15}, blob_val =
 {s = 0x82dbe48 192.168.166.199, len = 15}, bitmap_val = 137215560}}}
 result = {s = 0x0, len = 0}
 n = value optimized out
 ha1 =
 \000\000\000\000\220GÉ¿\000\000\000\000ï=\000\000ÒBÉ¿L\215á\t\000\000\000\000(Óà\tÔBÉ¿F\000\000\000yv¯\000L\215á\t,
 '\0' repeats 12 times,
 \a\000\000\000a{¯\000^{¯\000\000\000\000\000\000\000\000\000+\000\000\000\000\000\000\000\001\000\000\0008DÉ¿\210\033-\bÈVÉ¿HDÉ¿\205\017\bÈVÉ¿øø-\b8DÉ¿P\020-\b,
 '\0' repeats 32 times, 
 e¯\000TDÉ¿`ñ\000\000ÐÑ\000\000\\\222¯d\030\000\000\000\000\000\000\000»¬£\000;\216á\t
 1±\000\000 \000\000ÔCÉ¿8\216á\t\bÔ\r¶...
 h = (struct hdr_field *) 0x82e0398
 domain = 

Re: [SR-Users] Core db_text module

2011-09-24 Thread Daniel-Constantin Mierla

Hello,

thanks, the only possibility then is that the previous item in the list 
of tables has something wrong in it, send also the output for:


p *_tbc-prev

Actually, from now I see the _tmb-prev is 0x4c58586e and _tbc is 
0xb6175d20, so the pointers are in different memory zones, it could be 
pkg one and shm the other. But lets see first the output of p *_tbc-prev


Cheers,
Daniel

On 9/23/11 2:11 PM, Bruno Bresciani wrote:

Follows the output:

*p _tbc*
$1 = (dbt_table_p) 0xb6175d20

*(gdb) p *_tbc*
$312 = {dbname = {s = 0xb616d780 /axs/cfg/db_text, len = 16}, name = 
{s = 0xb616e288 subscriber, len = 10}, hash = 6, mark = 1316722939, 
flag = 0,
  auto_col = -1, auto_val = 0, nrcols = 10, cols = 0xb616f310, colv = 
0xb6175e70, nrrows = 58, rows = 0xb616e940, mt = 1316722962, next = 0x0,

  prev = 0x4c58586e}




2011/9/23 Daniel-Constantin Mierla mico...@gmail.com 
mailto:mico...@gmail.com




On 9/23/11 1:57 PM, Bruno Bresciani wrote:

Sorry... but I didn't understand how I get the output of:

p _tbc
p *_tbc

run these commands inside gdb.

Daniel





Best Regards


2011/9/23 Daniel-Constantin Mierla mico...@gmail.com
mailto:mico...@gmail.com

Hello,

interesting ... give also the output of:

p _tbc
p *_tbc

Cheers,
Daniel


On 9/23/11 1:27 PM, Bruno Bresciani wrote:

Hello,

Doesn't exist a exact often that the table subscriber is
changed, it can be changed at any time and almost always the
core is generated. I was thinking the same thing that you,
the deletion of the table is done without a lock, but the
function dbt_db_get_table that call dbt_db_del_table does
this lock previously...

Follows the output of 'bt full' from gdb:

Program terminated with signal 11, Segmentation fault.
#0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60,
_s=0xbfc94380, sync=0) at dbt_lib.c:238
238 dbt_lib.c: Arquivo ou diretório não encontrado.
in dbt_lib.c
(gdb) bt full
#0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60,
_s=0xbfc94380, sync=0) at dbt_lib.c:238
_tbc = (dbt_table_p) 0xb6175d20
hash = 6
#1  0x008b3f38 in dbt_db_get_table (_dc=0xb60fde60,
_s=0xbfc94380) at dbt_lib.c:300
_tbc = (dbt_table_p) 0xb6175d20
hash = 6
#2  0x008ae12b in dbt_query (_h=0x82e3c90, _k=0xbfc94378,
_op=0x0, _v=0xbfc94348, _c=0x82e3e50, _n=1, _nc=2, _o=0x0,
_r=0xbfc94390) at dbt_base.c:200
_tbc = value optimized out
_drp = value optimized out
_dres = value optimized out
lkey = value optimized out
lres = (int *) 0x0
_o_k = (db_key_t *) 0x0
_o_op = 0x0
_o_n = value optimized out
_o_l = value optimized out
_o_nc = value optimized out
#3  0x001ae088 in digest_authenticate (msg=0x82df8f8,
realm=value optimized out, tname=value optimized out,
hftype=HDR_AUTHORIZATION_T) at authorize.c:98
cred = value optimized out
keys = {0x1b14c8, 0x1b14d0}
vals = {{type = DB1_STR, nul = 0, free = 165777064,
val = {int_val = 136948130, ll_val = 17316817314
tel:17316817314, double_val = 8.5556445301562903e-314,
  time_val = 136948130,
  string_val = 0x829a9a2 3022\,
realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., str_val = {
s = 0x829a9a2 3022\, realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4},
blob_val = {
s = 0x829a9a2 3022\, realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4},
bitmap_val = 136948130}}, {type = DB1_STR, nul = 0, free = 8200,
val = {int_val = 137215560, ll_val = 64561725000,
double_val = 3.1897730358749953e-313, time_val = 137215560,
string_val = 0x82dbe48 192.168.166.199,
  str_val = {s = 0x82dbe48 192.168.166.199, len = 15},
blob_val = {s = 0x82dbe48 192.168.166.199, len = 15},
bitmap_val = 137215560}}}
result = {s = 0x0, len = 0}
n = value optimized out
ha1 =


Re: [SR-Users] Core db_text module

2011-09-23 Thread Daniel-Constantin Mierla

Hello,

can you send the output of 'bt full' from gdb?

How often the subscriber table is changed? I see in this case the 
deletion of the table is done without a lock.


Cheers,
Daniel

On 9/22/11 9:44 PM, Bruno Bresciani wrote:

Hi All,

Kamailio 3.1.2 generate a core in db_text module when subscriber table 
is updated and after this action some SIP message require 
authentication process...


Someone Can Help me to understand why this core is happening? Below  
is part of kamailio's trace and gdb core too.



Kamailio's trace:

*Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]: 
DEBUG: auth_db [authorize.c:239]: realm value [192.168.166.199]*
Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]: 
DEBUG: auth [api.c:95]: auth: digest-algo: MD5 parsed value: 1
*Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]: 
DEBUG: db_text [dbt_file.c:78]: [subscriber] was updated*
Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2324]: 
ALERT: core [main.c:741]: child process 2327 exited by a signal 11
Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2324]: 
ALERT: core [main.c:744]: core was generated
Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2324]: 
INFO: core [main.c:756]: INFO: terminating due to SIGCHLD
Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2335]: 
INFO: core [main.c:807]: INFO: signal 15 received c
Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2335]: 
DEBUG: core [main.c:818]: Memory status (pkg):


gdb core trace:

Core was generated by `/home2/local/kamailio/sbin/kamailio -P 
/var/run/kamailio.pid'.

Program terminated with signal 11, Segmentation fault.
*#0  0x00f21603 in dbt_db_del_table (_dc=0xb6071e60, _s=0xbf837040, 
sync=0) at dbt_lib.c:238*

238 dbt_lib.c: Arquivo ou diretório não encontrado.
in dbt_lib.c


Best Regards


___
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
http://linkedin.com/in/miconda -- http://twitter.com/miconda

___
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


Re: [SR-Users] Core db_text module

2011-09-23 Thread Bruno Bresciani
Hello,

Doesn't exist a exact often that the table subscriber is changed, it can be
changed at any time and almost always the core is generated. I was thinking
the same thing that you, the deletion of the table is done without a lock,
but the function dbt_db_get_table that call dbt_db_del_table does this lock
previously...

Follows the output of 'bt full' from gdb:

Program terminated with signal 11, Segmentation fault.
#0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380, sync=0)
at dbt_lib.c:238
238 dbt_lib.c: Arquivo ou diretório não encontrado.
in dbt_lib.c
(gdb) bt full
#0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380, sync=0)
at dbt_lib.c:238
_tbc = (dbt_table_p) 0xb6175d20
hash = 6
#1  0x008b3f38 in dbt_db_get_table (_dc=0xb60fde60, _s=0xbfc94380) at
dbt_lib.c:300
_tbc = (dbt_table_p) 0xb6175d20
hash = 6
#2  0x008ae12b in dbt_query (_h=0x82e3c90, _k=0xbfc94378, _op=0x0,
_v=0xbfc94348, _c=0x82e3e50, _n=1, _nc=2, _o=0x0, _r=0xbfc94390) at
dbt_base.c:200
_tbc = value optimized out
_drp = value optimized out
_dres = value optimized out
lkey = value optimized out
lres = (int *) 0x0
_o_k = (db_key_t *) 0x0
_o_op = 0x0
_o_n = value optimized out
_o_l = value optimized out
_o_nc = value optimized out
#3  0x001ae088 in digest_authenticate (msg=0x82df8f8, realm=value optimized
out, tname=value optimized out, hftype=HDR_AUTHORIZATION_T) at
authorize.c:98
cred = value optimized out
keys = {0x1b14c8, 0x1b14d0}
vals = {{type = DB1_STR, nul = 0, free = 165777064, val = {int_val =
136948130, ll_val = 17316817314, double_val = 8.5556445301562903e-314,
  time_val = 136948130,
  string_val = 0x829a9a2 3022\, realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., str_val = {
s = 0x829a9a2 3022\, realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, blob_val = {
s = 0x829a9a2 3022\, realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, bitmap_val =
136948130}}, {type = DB1_STR, nul = 0, free = 8200,
val = {int_val = 137215560, ll_val = 64561725000, double_val =
3.1897730358749953e-313, time_val = 137215560, string_val = 0x82dbe48
192.168.166.199,
  str_val = {s = 0x82dbe48 192.168.166.199, len = 15}, blob_val = {s =
0x82dbe48 192.168.166.199, len = 15}, bitmap_val = 137215560}}}
result = {s = 0x0, len = 0}
n = value optimized out
ha1 =
\000\000\000\000\220GÉ¿\000\000\000\000ï=\000\000ÒBÉ¿L\215á\t\000\000\000\000(Óà\tÔBÉ¿F\000\000\000yv¯\000L\215á\t,
'\0' repeats 12 times,
\a\000\000\000a{¯\000^{¯\000\000\000\000\000\000\000\000\000+\000\000\000\000\000\000\000\001\000\000\0008DÉ¿\210\033-\bÈVÉ¿HDÉ¿\205\017\bÈVÉ¿øø-\b8DÉ¿P\020-\b,
'\0' repeats 32 times, 
e¯\000TDÉ¿`ñ\000\000ÐÑ\000\000\\\222¯d\030\000\000\000\000\000\000\000»¬£\000;\216á\t
1±\000\000 \000\000ÔCÉ¿8\216á\t\bÔ\r¶...
h = (struct hdr_field *) 0x82e0398
domain = {s = 0x82dbe48 192.168.166.199, len = 15}
table = {s = 0x82d8f60 subscriber, len = 10}
result = (db1_res_t *) 0x0
ret = 0


Best Regards

2011/9/23 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 can you send the output of 'bt full' from gdb?

 How often the subscriber table is changed? I see in this case the deletion
 of the table is done without a lock.

 Cheers,
 Daniel


 On 9/22/11 9:44 PM, Bruno Bresciani wrote:

 Hi All,

 Kamailio 3.1.2 generate a core in db_text module when subscriber table is
 updated and after this action some SIP message require authentication
 process...

 Someone Can Help me to understand why this core is happening? Below  is
 part of kamailio's trace and gdb core too.


 Kamailio's trace:

 *Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]:
 DEBUG: auth_db [authorize.c:239]: realm value [192.168.166.199]*
 Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]: DEBUG:
 auth [api.c:95]: auth: digest-algo: MD5 parsed value: 1
 *Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]:
 DEBUG: db_text [dbt_file.c:78]: [subscriber] was updated*
 Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2324]: ALERT:
 core [main.c:741]: child process 2327 exited by a signal 11
 Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2324]: ALERT:
 core [main.c:744]: core was generated
 Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2324]: INFO:
 core [main.c:756]: INFO: terminating due to 

Re: [SR-Users] Core db_text module

2011-09-23 Thread Daniel-Constantin Mierla

Hello,

interesting ... give also the output of:

p _tbc
p *_tbc

Cheers,
Daniel

On 9/23/11 1:27 PM, Bruno Bresciani wrote:

Hello,

Doesn't exist a exact often that the table subscriber is changed, it 
can be changed at any time and almost always the core is generated. I 
was thinking the same thing that you, the deletion of the table is 
done without a lock, but the function dbt_db_get_table that call 
dbt_db_del_table does this lock previously...


Follows the output of 'bt full' from gdb:

Program terminated with signal 11, Segmentation fault.
#0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380, 
sync=0) at dbt_lib.c:238

238 dbt_lib.c: Arquivo ou diretório não encontrado.
in dbt_lib.c
(gdb) bt full
#0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380, 
sync=0) at dbt_lib.c:238

_tbc = (dbt_table_p) 0xb6175d20
hash = 6
#1  0x008b3f38 in dbt_db_get_table (_dc=0xb60fde60, _s=0xbfc94380) at 
dbt_lib.c:300

_tbc = (dbt_table_p) 0xb6175d20
hash = 6
#2  0x008ae12b in dbt_query (_h=0x82e3c90, _k=0xbfc94378, _op=0x0, 
_v=0xbfc94348, _c=0x82e3e50, _n=1, _nc=2, _o=0x0, _r=0xbfc94390) at 
dbt_base.c:200

_tbc = value optimized out
_drp = value optimized out
_dres = value optimized out
lkey = value optimized out
lres = (int *) 0x0
_o_k = (db_key_t *) 0x0
_o_op = 0x0
_o_n = value optimized out
_o_l = value optimized out
_o_nc = value optimized out
#3  0x001ae088 in digest_authenticate (msg=0x82df8f8, realm=value 
optimized out, tname=value optimized out, 
hftype=HDR_AUTHORIZATION_T) at authorize.c:98

cred = value optimized out
keys = {0x1b14c8, 0x1b14d0}
vals = {{type = DB1_STR, nul = 0, free = 165777064, val = 
{int_val = 136948130, ll_val = 17316817314, double_val = 
8.5556445301562903e-314,

  time_val = 136948130,
  string_val = 0x829a9a2 3022\, realm=\192.168.166.199\, 
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\, 
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, 
uri=\sip:192.168.166.199\, 
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., str_val = {
s = 0x829a9a2 3022\, realm=\192.168.166.199\, 
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\, 
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, 
uri=\sip:192.168.166.199\, 
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, blob_val = {
s = 0x829a9a2 3022\, realm=\192.168.166.199\, 
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\, 
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, 
uri=\sip:192.168.166.199\, 
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, 
bitmap_val = 136948130}}, {type = DB1_STR, nul = 0, free = 8200,
val = {int_val = 137215560, ll_val = 64561725000, double_val = 
3.1897730358749953e-313, time_val = 137215560, string_val = 0x82dbe48 
192.168.166.199,
  str_val = {s = 0x82dbe48 192.168.166.199, len = 15}, blob_val 
= {s = 0x82dbe48 192.168.166.199, len = 15}, bitmap_val = 137215560}}}

result = {s = 0x0, len = 0}
n = value optimized out
ha1 = 
\000\000\000\000\220GÉ¿\000\000\000\000ï=\000\000ÒBÉ¿L\215á\t\000\000\000\000(Óà\tÔBÉ¿F\000\000\000yv¯\000L\215á\t, 
'\0' repeats 12 times, 
\a\000\000\000a{¯\000^{¯\000\000\000\000\000\000\000\000\000+\000\000\000\000\000\000\000\001\000\000\0008DÉ¿\210\033-\bÈVÉ¿HDÉ¿\205\017\bÈVÉ¿øø-\b8DÉ¿P\020-\b, 
'\0' repeats 32 times,  
e¯\000TDÉ¿`ñ\000\000ÐÑ\000\000\\\222¯d\030\000\000\000\000\000\000\000»¬£\000;\216á\t 
1±\000\000 \000\000ÔCÉ¿8\216á\t\bÔ\r¶...

h = (struct hdr_field *) 0x82e0398
domain = {s = 0x82dbe48 192.168.166.199, len = 15}
table = {s = 0x82d8f60 subscriber, len = 10}
result = (db1_res_t *) 0x0
ret = 0


Best Regards

2011/9/23 Daniel-Constantin Mierla mico...@gmail.com 
mailto:mico...@gmail.com


Hello,

can you send the output of 'bt full' from gdb?

How often the subscriber table is changed? I see in this case the
deletion of the table is done without a lock.

Cheers,
Daniel


On 9/22/11 9:44 PM, Bruno Bresciani wrote:

Hi All,

Kamailio 3.1.2 generate a core in db_text module when subscriber
table is updated and after this action some SIP message require
authentication process...

Someone Can Help me to understand why this core is happening?
Below  is part of kamailio's trace and gdb core too.


Kamailio's trace:

*Sep 22 16:35:54 sswpst00
/home2/local/kamailio/sbin/kamailio[2327]: DEBUG: auth_db
[authorize.c:239]: realm value [192.168.166.199]*
Sep 22 16:35:54 sswpst00
/home2/local/kamailio/sbin/kamailio[2327]: DEBUG: auth
[api.c:95]: auth: digest-algo: MD5 parsed value: 1
*Sep 22 16:35:54 sswpst00
/home2/local/kamailio/sbin/kamailio[2327]: DEBUG: db_text
[dbt_file.c:78]: [subscriber] was updated*
Sep 22 16:35:54 sswpst00
/home2/local/kamailio/sbin/kamailio[2324]: ALERT: core

Re: [SR-Users] Core db_text module

2011-09-23 Thread Bruno Bresciani
Sorry... but I didn't understand how I get the output of:

p _tbc
p *_tbc


Best Regards


2011/9/23 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 interesting ... give also the output of:

 p _tbc
 p *_tbc

 Cheers,
 Daniel


 On 9/23/11 1:27 PM, Bruno Bresciani wrote:

 Hello,

 Doesn't exist a exact often that the table subscriber is changed, it can be
 changed at any time and almost always the core is generated. I was thinking
 the same thing that you, the deletion of the table is done without a lock,
 but the function dbt_db_get_table that call dbt_db_del_table does this lock
 previously...

 Follows the output of 'bt full' from gdb:

 Program terminated with signal 11, Segmentation fault.
 #0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380, sync=0)
 at dbt_lib.c:238
 238 dbt_lib.c: Arquivo ou diretório não encontrado.
 in dbt_lib.c
 (gdb) bt full
 #0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380, sync=0)
 at dbt_lib.c:238
 _tbc = (dbt_table_p) 0xb6175d20
 hash = 6
 #1  0x008b3f38 in dbt_db_get_table (_dc=0xb60fde60, _s=0xbfc94380) at
 dbt_lib.c:300
 _tbc = (dbt_table_p) 0xb6175d20
 hash = 6
 #2  0x008ae12b in dbt_query (_h=0x82e3c90, _k=0xbfc94378, _op=0x0,
 _v=0xbfc94348, _c=0x82e3e50, _n=1, _nc=2, _o=0x0, _r=0xbfc94390) at
 dbt_base.c:200
 _tbc = value optimized out
 _drp = value optimized out
 _dres = value optimized out
 lkey = value optimized out
 lres = (int *) 0x0
 _o_k = (db_key_t *) 0x0
 _o_op = 0x0
 _o_n = value optimized out
 _o_l = value optimized out
 _o_nc = value optimized out
 #3  0x001ae088 in digest_authenticate (msg=0x82df8f8, realm=value
 optimized out, tname=value optimized out, hftype=HDR_AUTHORIZATION_T) at
 authorize.c:98
 cred = value optimized out
 keys = {0x1b14c8, 0x1b14d0}
 vals = {{type = DB1_STR, nul = 0, free = 165777064, val = {int_val
 = 136948130, ll_val = 17316817314, double_val = 8.5556445301562903e-314,
   time_val = 136948130,
   string_val = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\, response=\45b23bc0e48592fb57b1ebc87f0e3dbc\...,
 str_val = {
 s = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\, response=\45b23bc0e48592fb57b1ebc87f0e3dbc\...,
 len = 4}, blob_val = {
 s = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\, response=\45b23bc0e48592fb57b1ebc87f0e3dbc\...,
 len = 4}, bitmap_val = 136948130}}, {type = DB1_STR, nul = 0, free = 8200,
 val = {int_val = 137215560, ll_val = 64561725000, double_val =
 3.1897730358749953e-313, time_val = 137215560, string_val = 0x82dbe48
 192.168.166.199,
   str_val = {s = 0x82dbe48 192.168.166.199, len = 15}, blob_val = {s
 = 0x82dbe48 192.168.166.199, len = 15}, bitmap_val = 137215560}}}
 result = {s = 0x0, len = 0}
 n = value optimized out
 ha1 =
 \000\000\000\000\220GÉ¿\000\000\000\000ï=\000\000ÒBÉ¿L\215á\t\000\000\000\000(Óà\tÔBÉ¿F\000\000\000yv¯\000L\215á\t,
 '\0' repeats 12 times,
 \a\000\000\000a{¯\000^{¯\000\000\000\000\000\000\000\000\000+\000\000\000\000\000\000\000\001\000\000\0008DÉ¿\210\033-\bÈVÉ¿HDÉ¿\205\017\bÈVÉ¿øø-\b8DÉ¿P\020-\b,
 '\0' repeats 32 times, 
 e¯\000TDÉ¿`ñ\000\000ÐÑ\000\000\\\222¯d\030\000\000\000\000\000\000\000»¬£\000;\216á\t
 1±\000\000 \000\000ÔCÉ¿8\216á\t\bÔ\r¶...
 h = (struct hdr_field *) 0x82e0398
 domain = {s = 0x82dbe48 192.168.166.199, len = 15}
 table = {s = 0x82d8f60 subscriber, len = 10}
 result = (db1_res_t *) 0x0
 ret = 0


 Best Regards

 2011/9/23 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 can you send the output of 'bt full' from gdb?

 How often the subscriber table is changed? I see in this case the deletion
 of the table is done without a lock.

 Cheers,
 Daniel


 On 9/22/11 9:44 PM, Bruno Bresciani wrote:

  Hi All,

 Kamailio 3.1.2 generate a core in db_text module when subscriber table is
 updated and after this action some SIP message require authentication
 process...

 Someone Can Help me to understand why this core is happening? Below  is
 part of kamailio's trace and gdb core too.


 Kamailio's trace:

 *Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]:
 DEBUG: auth_db [authorize.c:239]: realm value [192.168.166.199]*
 Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]: DEBUG:
 auth [api.c:95]: auth: digest-algo: MD5 parsed value: 1
 *Sep 22 16:35:54 sswpst00 /home2/local/kamailio/sbin/kamailio[2327]:
 DEBUG: db_text [dbt_file.c:78]: [subscriber] was updated*
 Sep 22 

Re: [SR-Users] Core db_text module

2011-09-23 Thread Daniel-Constantin Mierla



On 9/23/11 1:57 PM, Bruno Bresciani wrote:

Sorry... but I didn't understand how I get the output of:

p _tbc
p *_tbc

run these commands inside gdb.

Daniel




Best Regards


2011/9/23 Daniel-Constantin Mierla mico...@gmail.com 
mailto:mico...@gmail.com


Hello,

interesting ... give also the output of:

p _tbc
p *_tbc

Cheers,
Daniel


On 9/23/11 1:27 PM, Bruno Bresciani wrote:

Hello,

Doesn't exist a exact often that the table subscriber is changed,
it can be changed at any time and almost always the core is
generated. I was thinking the same thing that you, the deletion
of the table is done without a lock, but the function
dbt_db_get_table that call dbt_db_del_table does this lock
previously...

Follows the output of 'bt full' from gdb:

Program terminated with signal 11, Segmentation fault.
#0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60,
_s=0xbfc94380, sync=0) at dbt_lib.c:238
238 dbt_lib.c: Arquivo ou diretório não encontrado.
in dbt_lib.c
(gdb) bt full
#0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60,
_s=0xbfc94380, sync=0) at dbt_lib.c:238
_tbc = (dbt_table_p) 0xb6175d20
hash = 6
#1  0x008b3f38 in dbt_db_get_table (_dc=0xb60fde60,
_s=0xbfc94380) at dbt_lib.c:300
_tbc = (dbt_table_p) 0xb6175d20
hash = 6
#2  0x008ae12b in dbt_query (_h=0x82e3c90, _k=0xbfc94378,
_op=0x0, _v=0xbfc94348, _c=0x82e3e50, _n=1, _nc=2, _o=0x0,
_r=0xbfc94390) at dbt_base.c:200
_tbc = value optimized out
_drp = value optimized out
_dres = value optimized out
lkey = value optimized out
lres = (int *) 0x0
_o_k = (db_key_t *) 0x0
_o_op = 0x0
_o_n = value optimized out
_o_l = value optimized out
_o_nc = value optimized out
#3  0x001ae088 in digest_authenticate (msg=0x82df8f8,
realm=value optimized out, tname=value optimized out,
hftype=HDR_AUTHORIZATION_T) at authorize.c:98
cred = value optimized out
keys = {0x1b14c8, 0x1b14d0}
vals = {{type = DB1_STR, nul = 0, free = 165777064, val =
{int_val = 136948130, ll_val = 17316817314 tel:17316817314,
double_val = 8.5556445301562903e-314,
  time_val = 136948130,
  string_val = 0x829a9a2 3022\, realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., str_val = {
s = 0x829a9a2 3022\, realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4},
blob_val = {
s = 0x829a9a2 3022\, realm=\192.168.166.199\,
nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5,
uri=\sip:192.168.166.199\,
response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4},
bitmap_val = 136948130}}, {type = DB1_STR, nul = 0, free = 8200,
val = {int_val = 137215560, ll_val = 64561725000, double_val
= 3.1897730358749953e-313, time_val = 137215560, string_val =
0x82dbe48 192.168.166.199,
  str_val = {s = 0x82dbe48 192.168.166.199, len = 15},
blob_val = {s = 0x82dbe48 192.168.166.199, len = 15},
bitmap_val = 137215560}}}
result = {s = 0x0, len = 0}
n = value optimized out
ha1 =

\000\000\000\000\220GÉ¿\000\000\000\000ï=\000\000ÒBÉ¿L\215á\t\000\000\000\000(Óà\tÔBÉ¿F\000\000\000yv¯\000L\215á\t,
'\0' repeats 12 times,

\a\000\000\000a{¯\000^{¯\000\000\000\000\000\000\000\000\000+\000\000\000\000\000\000\000\001\000\000\0008DÉ¿\210\033-\bÈVÉ¿HDÉ¿\205\017\bÈVÉ¿øø-\b8DÉ¿P\020-\b,
'\0' repeats 32 times, 

e¯\000TDÉ¿`ñ\000\000ÐÑ\000\000\\\222¯d\030\000\000\000\000\000\000\000»¬£\000;\216á\t
1±\000\000 \000\000ÔCÉ¿8\216á\t\bÔ\r¶...
h = (struct hdr_field *) 0x82e0398
domain = {s = 0x82dbe48 192.168.166.199, len = 15}
table = {s = 0x82d8f60 subscriber, len = 10}
result = (db1_res_t *) 0x0
ret = 0


Best Regards

2011/9/23 Daniel-Constantin Mierla mico...@gmail.com
mailto:mico...@gmail.com

Hello,

can you send the output of 'bt full' from gdb?

How often the subscriber table is changed? I see in this case
the deletion of the table is done without a lock.

Cheers,
Daniel


On 9/22/11 9:44 PM, Bruno Bresciani wrote:

Hi All,

Kamailio 3.1.2 generate a core in db_text module when
subscriber table is updated and after this action some SIP
message require authentication process...

Someone Can Help me to 

Re: [SR-Users] Core db_text module

2011-09-23 Thread Bruno Bresciani
Follows the output:

*p _tbc*
$1 = (dbt_table_p) 0xb6175d20

*(gdb) p *_tbc*
$312 = {dbname = {s = 0xb616d780 /axs/cfg/db_text, len = 16}, name = {s =
0xb616e288 subscriber, len = 10}, hash = 6, mark = 1316722939, flag = 0,
  auto_col = -1, auto_val = 0, nrcols = 10, cols = 0xb616f310, colv =
0xb6175e70, nrrows = 58, rows = 0xb616e940, mt = 1316722962, next = 0x0,
  prev = 0x4c58586e}




2011/9/23 Daniel-Constantin Mierla mico...@gmail.com



 On 9/23/11 1:57 PM, Bruno Bresciani wrote:

 Sorry... but I didn't understand how I get the output of:

 p _tbc
 p *_tbc

 run these commands inside gdb.

 Daniel




 Best Regards


 2011/9/23 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 interesting ... give also the output of:

 p _tbc
 p *_tbc

 Cheers,
  Daniel


 On 9/23/11 1:27 PM, Bruno Bresciani wrote:

 Hello,

 Doesn't exist a exact often that the table subscriber is changed, it can
 be changed at any time and almost always the core is generated. I was
 thinking the same thing that you, the deletion of the table is done without
 a lock, but the function dbt_db_get_table that call dbt_db_del_table does
 this lock previously...

 Follows the output of 'bt full' from gdb:

 Program terminated with signal 11, Segmentation fault.
 #0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380, sync=0)
 at dbt_lib.c:238
 238 dbt_lib.c: Arquivo ou diretório não encontrado.
 in dbt_lib.c
 (gdb) bt full
 #0  0x008b3603 in dbt_db_del_table (_dc=0xb60fde60, _s=0xbfc94380, sync=0)
 at dbt_lib.c:238
 _tbc = (dbt_table_p) 0xb6175d20
 hash = 6
 #1  0x008b3f38 in dbt_db_get_table (_dc=0xb60fde60, _s=0xbfc94380) at
 dbt_lib.c:300
 _tbc = (dbt_table_p) 0xb6175d20
 hash = 6
 #2  0x008ae12b in dbt_query (_h=0x82e3c90, _k=0xbfc94378, _op=0x0,
 _v=0xbfc94348, _c=0x82e3e50, _n=1, _nc=2, _o=0x0, _r=0xbfc94390) at
 dbt_base.c:200
 _tbc = value optimized out
 _drp = value optimized out
 _dres = value optimized out
 lkey = value optimized out
 lres = (int *) 0x0
 _o_k = (db_key_t *) 0x0
 _o_op = 0x0
 _o_n = value optimized out
 _o_l = value optimized out
 _o_nc = value optimized out
 #3  0x001ae088 in digest_authenticate (msg=0x82df8f8, realm=value
 optimized out, tname=value optimized out, hftype=HDR_AUTHORIZATION_T) at
 authorize.c:98
 cred = value optimized out
 keys = {0x1b14c8, 0x1b14d0}
 vals = {{type = DB1_STR, nul = 0, free = 165777064, val = {int_val
 = 136948130, ll_val = 17316817314, double_val = 8.5556445301562903e-314,
   time_val = 136948130,
   string_val = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., str_val = {
 s = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, blob_val = {
 s = 0x829a9a2 3022\, realm=\192.168.166.199\,
 nonce=\TnuaJ057mPskvCOYDgyAURuuottiYy7cIAQKLUA=\,
 cnonce=\4VwQFl/7Ei+IWecbrZ9rug\, algorithm=MD5, uri=\
 sip:192.168.166.199\,
 response=\45b23bc0e48592fb57b1ebc87f0e3dbc\..., len = 4}, bitmap_val =
 136948130}}, {type = DB1_STR, nul = 0, free = 8200,
 val = {int_val = 137215560, ll_val = 64561725000, double_val =
 3.1897730358749953e-313, time_val = 137215560, string_val = 0x82dbe48
 192.168.166.199,
   str_val = {s = 0x82dbe48 192.168.166.199, len = 15}, blob_val = {s
 = 0x82dbe48 192.168.166.199, len = 15}, bitmap_val = 137215560}}}
 result = {s = 0x0, len = 0}
 n = value optimized out
 ha1 =
 \000\000\000\000\220GÉ¿\000\000\000\000ï=\000\000ÒBÉ¿L\215á\t\000\000\000\000(Óà\tÔBÉ¿F\000\000\000yv¯\000L\215á\t,
 '\0' repeats 12 times,
 \a\000\000\000a{¯\000^{¯\000\000\000\000\000\000\000\000\000+\000\000\000\000\000\000\000\001\000\000\0008DÉ¿\210\033-\bÈVÉ¿HDÉ¿\205\017\bÈVÉ¿øø-\b8DÉ¿P\020-\b,
 '\0' repeats 32 times, 
 e¯\000TDÉ¿`ñ\000\000ÐÑ\000\000\\\222¯d\030\000\000\000\000\000\000\000»¬£\000;\216á\t
 1±\000\000 \000\000ÔCÉ¿8\216á\t\bÔ\r¶...
 h = (struct hdr_field *) 0x82e0398
 domain = {s = 0x82dbe48 192.168.166.199, len = 15}
 table = {s = 0x82d8f60 subscriber, len = 10}
 result = (db1_res_t *) 0x0
 ret = 0


 Best Regards

 2011/9/23 Daniel-Constantin Mierla mico...@gmail.com

  Hello,

 can you send the output of 'bt full' from gdb?

 How often the subscriber table is changed? I see in this case the
 deletion of the table is done without a lock.

 Cheers,
 Daniel


 On 9/22/11 9:44 PM, Bruno Bresciani wrote:

  Hi All,

 Kamailio 3.1.2 generate a core in db_text module when subscriber table is
 updated and after this action some SIP message require authentication
 process...