Summary:ASTERISK-09295: function find_call in chan_sip.c
Reporter:german aracil boned (tecnoxarxa)Labels:
Date Opened:2007-04-22 03:53:34Date Closed:2011-06-07 14:00:45
Versions:Frequency of
Description:Repeat crash 0009534:

Program terminated with signal 11, Segmentation fault.
#0  0xb7222a8d in find_call (req=0xb720d11c, sin=0xb720d10c, intended_method=4) at chan_sip.c:4357
4357                    if (ast_strlen_zero(p->callid))


I think this is not good solution:

if (ast_strlen_zero(p->callid))

no efective solution for crash.

I think put this line:

if (p->callid && callid)
Comments:By: german aracil boned (tecnoxarxa) 2007-04-22 04:06:11

Sorry I need put "!" to posible solution:

if (!(p->callid && callid))

By: Joshua C. Colp (jcolp) 2007-04-22 20:03:02

That is not the issue. The presence of callid is already checked upon entering the function. Upon further investigation it looks like the pvt structure is not locked while checking the callid. It could be possible (although I can not think of a situation where it would happen) that two threads are accessing that callid information at the same time. One reading and one writing.

By: german aracil boned (tecnoxarxa) 2007-04-23 09:08:07

I understand you, but, crash exist.

I need time for study/probe.. please wait.

By: Olle Johansson (oej) 2007-04-27 09:05:45

Ok, we're waiting for feedback!

By: german aracil boned (tecnoxarxa) 2007-04-27 09:42:25

System is in testing progress.

5/2/2007 I write results.

regards, German A.

By: german aracil boned (tecnoxarxa) 2007-05-03 03:39:23

Hello !

Now, I don't have more crash. I run asterisk with this line:

if (!(p->callid && callid))

no make other change.

But, I get other error for post.. goto function, if go to same extension, asterisk  crash.. but this is other world..

thank for wait!

By: Olle Johansson (oej) 2007-05-09 08:51:23

Seems like you fixed your issue. If there are further errors with this, please re-open this bug report.