[asterisk-dev] strange segfault in bridging.c

Klaus Darilion klaus.mailinglists at pernau.at
Tue Feb 9 09:41:28 CST 2010


SVN-branch-1.6.2-r245626M (todays SVN)

Hi!

I just play around with the bridging framework and as soon as I add some 
log statements Asterisk segfaults. Here is the backtrace:

#0  0x080874d6 in find_bridge_channel (bridge=0x0, chan=0x92dc590) at 
bridging.c:208
208             AST_LIST_TRAVERSE(&bridge->channels, bridge_channel, 
entry) {
(gdb) bt
#0  0x080874d6 in find_bridge_channel (bridge=0x0, chan=0x92dc590) at 
bridging.c:208
#1  0x08087730 in ast_bridge_handle_trip (bridge=0x0, 
bridge_channel=0x0, chan=0x92dc590, outfd=-1) at bridging.c:280
#2  0xb757c6d8 in multiplexed_thread_function (data=0x92f15a0) at 
bridge_multiplexed.c:236
#3  0x08159ab9 in dummy_start (data=0xb7845e88) at utils.c:968
#4  0xb7b70f3b in start_thread () from /lib/libpthread.so.0
#5  0xb7d8bbee in clone () from /lib/libc.so.6


I have attached the diff of my modifications. It is just logging of 
pointers, so I am pretty sure my log statements are fine.

Maybe it be that there is a race condition between threads which only 
happens if on thread is delayed by logging?

regards
Klaus
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff.txt
Url: http://lists.digium.com/pipermail/asterisk-dev/attachments/20100209/adc1d4af/attachment.txt 


More information about the asterisk-dev mailing list