[asterisk-dev] file: branch 1.2 r47711 - /branches/1.2/channels/chan_local.c

Johansson Olle E olle at voop.com
Thu Nov 16 09:45:30 MST 2006


16 nov 2006 kl. 11.13 skrev Martin Vít:

> There should be the same fix for chan_sip.c in sip_fixup. I've  
> random crashes (not often) with version 1.2.7.1.
>
Done.

/O
'
> #0  0xb7f2a7f1 in pthread_mutex_lock () from /lib/tls/libpthread.so.0
> #1  0xb6719591 in sip_fixup (oldchan=0x8569788, newchan=0x84e17f8)  
> at lock.h:592
> #2  0x08064a32 in ast_do_masquerade (original=0x84e17f8) at  
> channel.c:3047
> #3  0x080885a8 in ast_async_goto (chan=0x84e18c4, context=0x42  
> <Address 0x42 out of bounds>, exten=0x1 <Address 0x1 out of  
> bounds>, priority=1) at pbx.c:4580
> #4  0x080ada26 in action_redirect (s=0xb4b04708, m=0xb55faab0) at  
> manager.c:890
> #5  0x080b3464 in process_message (s=0xb4b04708, m=0xb55faab0) at  
> manager.c:1305
> #6  0x080b204a in session_do (data=0xb4b04708) at manager.c:1401
> #7  0xb7f28b63 in start_thread () from /lib/tls/libpthread.so.0
> #8  0xb7e2318a in clone () from /lib/tls/libc.so.6
>
>
> svn-commits at lists.digium.com wrote:
>> Author: file
>> Date: Wed Nov 15 16:29:30 2006
>> New Revision: 47711
>>
>> URL: http://svn.digium.com/view/asterisk?view=rev&rev=47711
>> Log:
>> Make sure that the pvt structure exists before trying to do fixup  
>> on Local channels. (issue #7937 reported by mada123, fix by  
>> alamantia with mods by me)
>>
>> Modified:
>>     branches/1.2/channels/chan_local.c
>>
>> Modified: branches/1.2/channels/chan_local.c
>> URL: http://svn.digium.com/view/asterisk/branches/1.2/channels/ 
>> chan_local.c?view=diff&rev=47711&r1=47710&r2=47711
>> ===================================================================== 
>> =========
>> --- branches/1.2/channels/chan_local.c (original)
>> +++ branches/1.2/channels/chan_local.c Wed Nov 15 16:29:30 2006
>> @@ -263,6 +263,10 @@
>>  static int local_fixup(struct ast_channel *oldchan, struct  
>> ast_channel *newchan)
>>  {
>>  	struct local_pvt *p = newchan->tech_pvt;
>> +
>> +	if (!p)
>> +		return -1;
>> +
>>  	ast_mutex_lock(&p->lock);
>>   	if ((p->owner != oldchan) && (p->chan != oldchan)) {
>>
>> _______________________________________________
>> --Bandwidth and Colocation provided by Easynews.com --
>>
>> svn-commits mailing list
>> To UNSUBSCRIBE or update options visit:
>>    http://lists.digium.com/mailman/listinfo/svn-commits
>>
>>
>
>
> -- 
> Martin Vít
> LAM plus s.r.o.
> http://www.vasesit.cz/
> mobil: 605 267 610
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev

---
Olle E. Johansson * Asterisk Evangelist, developer * VOOP A/S
olle at voop.com





More information about the asterisk-dev mailing list