On Saturday 23 August 2008, Jonathan K. Creasy wrote:
We're using Carrier route with about 53,000 routes
stored in a mysql
databse. We're getting this crash in production that we never had in the
lab.
The bt is below. Does anyone have any suggestions?
nline static void free_to_params(struct to_body* tb)
{
struct to_param *tp=tb->param_lst;
struct to_param *foo;
while (tp){
foo = tp->next; <-- **** Line 75 *****
pkg_free(tp);
tp=foo;
}
}
#0 free_to (tb=0x817cf10) at parser/parse_to.c:75
#1 0x080daf70 in clean_hdr_field (hf=0x8a8ee18) at parser/hf.c:182
#2 0x080db05b in free_hdr_field_lst (hf=0x8a905b8) at parser/hf.c:209
#3 0x080db12d in free_sip_msg (msg=0x8193030) at parser/msg_parser.c:660
Hi Jonathan,
this seems not related to carrierroute, as you can see from the backtrace the
crash is in the parser code. Would be interesting if this is related to some
invalid message, or an unrelated error. Have you tried to replay the message
in your lab that causes the crash, after isolating it from the backtrace?
You should also take a look into the "tp" pointer with the debugger, try to
investigate why it has an apparently invalid value here.
Cheers,
Henning