hi,<br><br>sorry for replying so latly. i just checked out the current 1.6.2
branch to confirm this issue. here's a DONT_OPTIMIZE backtrace. the last action i tried before the segfault was removing a channel from a 3-party-bridge.<br><br>regards, marcus<br><br>(gdb) bt<br>#0 0x0000000000000050 in ?? ()<br>
#1 0x00002aaab681e83d in softmix_bridge_thread (bridge=0xe188f8) at bridge_softmix.c:270<br>#2 0x000000000043b084 in bridge_thread (data=<value optimized out>) at bridging.c:370<br>#3 0x00000000004fd4fc in dummy_start (data=<value optimized out>) at utils.c:968<br>
#4 0x00002b128a21df1a in start_thread () from /lib/libpthread.so.0<br>#5 0x00002b1289d625d2 in clone () from /lib/libc.so.6<br>#6 0x0000000000000000 in ?? ()<br>(gdb) bt full<br>#0 0x0000000000000050 in ?? ()<br>No symbol table info available.<br>
#1 0x00002aaab681e83d in softmix_bridge_thread (bridge=0xe188f8) at bridge_softmix.c:270<br> sc = (struct softmix_channel *) 0xe3e3f0<br> bridge_channel = (struct ast_bridge_channel *) 0x0<br> buf = {-1208, -1432, -1032, -936, -664, -872, -1304, -664, -240, -80, -160, -536, 288, 1016, 1000, 128, 600, 1928, 1432, 616, 16, 336, 744, 432, 192, -584, -472, 256, 32, -96, -448, -32, 304, 144, 488, 48, -696, -80, 600, -16, -416, -680, -664, -128, -648, -416, 48, <br>
528, 808, 528, 744, 560, 112, 1224, 600, -728, -552, -432, -32, -592, -1032, -672, -856, -32, -112, -904, -744, -224, 624, 792, -128, -112, 560, 696, 480, 48, -32, -64, -208, -384, -304, -680, 48, 320, -504, -792, -984, -208, -128, -304, -224, -272, 664, 872, 336, 144, 488, <br>
1080, 952, 464, 368, 272, 560, 544, 48, 64, 192, 552, 400, 288, -192, -568, -48, 400, -224, -1432, -1240, -272, -368, -480, -192, -48, 320, 448, -336, -368, -160, 240, 808, 272, -368, -384, 96, 32, -320, 48, 96, -112, 112, 208, -336, -776, -416, -856, -1208, -1464, -1032, <br>
-192, -176, -352, -96, 632, 1528, 1992, 1432, 1112, 1064, 1400, 1224, 568, 0 <repeats 160 times>}<br> timeout = -1<br> timer = (struct ast_timer *) 0xe48fa0<br> timingfd = 15<br>#2 0x000000000043b084 in bridge_thread (data=<value optimized out>) at bridging.c:370<br>
bridge = (struct ast_bridge *) 0xe188f8<br> res = <value optimized out><br> __PRETTY_FUNCTION__ = "bridge_thread"<br>#3 0x00000000004fd4fc in dummy_start (data=<value optimized out>) at utils.c:968<br>
__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {14901408, 0, 0, 0, 1082880656, 14814256, 1082880320, 5231842}, __mask_was_saved = 0}}, __pad = {0x408b7200, 0x0, 0x2b1289eccb08, 0x2b1289eccb10}}<br> __cancel_arg = (void *) 0x408b7960<br>
not_first_call = <value optimized out><br> ret = <value optimized out><br>#4 0x00002b128a21df1a in start_thread () from /lib/libpthread.so.0<br>No symbol table info available.<br>#5 0x00002b1289d625d2 in clone () from /lib/libc.so.6<br>
No symbol table info available.<br>#6 0x0000000000000000 in ?? ()<br>No symbol table info available.<br><br><br><div class="gmail_quote">On Tue, Sep 22, 2009 at 3:50 PM, Asterisk Bug Tracker <span dir="ltr"><<a href="mailto:noreply@bugs.digium.com">noreply@bugs.digium.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
The following issue has been UPDATED.<br>
<div class="im">======================================================================<br>
<a href="https://issues.asterisk.org/view.php?id=15465" target="_blank">https://issues.asterisk.org/view.php?id=15465</a><br>
======================================================================<br>
Reported By: fnordian<br>
Assigned To:<br>
======================================================================<br>
Project: Asterisk<br>
Issue ID: 15465<br>
Category: Core/General<br>
Reproducibility: sometimes<br>
Severity: crash<br>
Priority: normal<br>
Status: closed<br>
Asterisk Version: SVN<br>
Regression: No<br>
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.2<br>
SVN Revision (number only!): 204918<br>
</div>Resolution: suspended<br>
<div><div></div><div class="h5">Fixed in Version:<br>
======================================================================<br>
Date Submitted: 2009-07-08 07:00 CDT<br>
Last Modified: 2009-09-22 08:50 CDT<br>
======================================================================<br>
Summary: crash in bridging api<br>
Description:<br>
There's a racecondition in smart_bridge_operation(). I do not understand<br>
this function completely, but it seems like one of it's purposes is to<br>
change a bridge's technology. For doing so it stops the bridge->thread<br>
before working on it. Stopping is done by setting a flag and sending a<br>
signal. What's missing there imho is a pthread_join to assure the thread is<br>
really gone.<br>
<br>
I noticed crashes when doing transfers from and to the bridges and I guess<br>
one of the reasons is this bug:<br>
<br>
(gdb) bt full<br>
<a href="https://issues.asterisk.org/view.php?id=0" target="_blank">https://issues.asterisk.org/view.php?id=0</a> 0x0000000000000024 in ?? ()<br>
No symbol table info available.<br>
<a href="https://issues.asterisk.org/view.php?id=1" target="_blank">https://issues.asterisk.org/view.php?id=1</a> 0x00002aaab677483d in<br>
softmix_bridge_thread (bridge=0x2aaab7819e88)<br>
at bridge_softmix.c:270<br>
sc = (struct softmix_channel *) 0x2aaab780a7d0<br>
bridge_channel = (struct ast_bridge_channel *) 0x0<br>
buf = {0 <repeats 320 times>}<br>
timeout = -1<br>
timer = (struct ast_timer *) 0x2aaab7833370<br>
timingfd = 40<br>
<a href="https://issues.asterisk.org/view.php?id=2" target="_blank">https://issues.asterisk.org/view.php?id=2</a> 0x000000000043ae34 in bridge_thread<br>
(data=<value optimized out>) at<br>
bridging.c:381<br>
bridge = (struct ast_bridge *) 0x2aaab7819e88<br>
res = <value optimized out><br>
__PRETTY_FUNCTION__ = "bridge_thread"<br>
<a href="https://issues.asterisk.org/view.php?id=3" target="_blank">https://issues.asterisk.org/view.php?id=3</a> 0x00000000004fb96c in dummy_start<br>
(data=<value optimized out>) at<br>
utils.c:968<br>
__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {46912711515904,<br>
0, 0,<br>
0, 1089483408, 1089486848, 1089483072, 5224786}, __mask_was_saved<br>
= 0}},<br>
__pad = {0x40f03200, 0x0, 0x0, 0x0}}<br>
__cancel_arg = (void *) 0x40f03960<br>
not_first_call = <value optimized out><br>
ret = <value optimized out><br>
<a href="https://issues.asterisk.org/view.php?id=4" target="_blank">https://issues.asterisk.org/view.php?id=4</a> 0x00002b56877dff1a in start_thread ()<br>
from /lib/libpthread.so.0<br>
No symbol table info available.<br>
<a href="https://issues.asterisk.org/view.php?id=5" target="_blank">https://issues.asterisk.org/view.php?id=5</a> 0x00002b56873245d2 in clone () from<br>
/lib/libc.so.6<br>
No symbol table info available.<br>
<a href="https://issues.asterisk.org/view.php?id=6" target="_blank">https://issues.asterisk.org/view.php?id=6</a> 0x0000000000000000 in ?? ()<br>
No symbol table info available.<br>
(gdb) p *bridge->technology<br>
$14 = {name = 0x2aaab1ada807 "multiplexed_bridge", capabilities = 2,<br>
preference = AST_BRIDGE_PREFERENCE_HIGH,<br>
create = 0x2aaab1ad9bc0 <multiplexed_bridge_create>,<br>
destroy = 0x2aaab1ad9fc0 <multiplexed_bridge_destroy>,<br>
join = 0x2aaab1ad9a90 <multiplexed_bridge_join>,<br>
leave = 0x2aaab1ad97d0 <multiplexed_bridge_leave>,<br>
suspend = 0x2aaab1ad9740 <multiplexed_bridge_suspend>,<br>
unsuspend = 0x2aaab1ad96b0 <multiplexed_bridge_unsuspend>, compatible =<br>
0,<br>
write = 0x2aaab1ad9370 <multiplexed_bridge_write>, fd = 0, thread = 0,<br>
poke = 0,<br>
formats = 1073741823, suspended = 0, mod = 0x9c9a80, entry = {next =<br>
0x2aaaaedaf300}}<br>
<br>
The crash is in bridge_softmix, working on a bridge which thinks it's<br>
bridge_multiplexed.<br>
<br>
======================================================================<br>
<br>
----------------------------------------------------------------------<br>
(0111160) lmadsen (administrator) - 2009-09-22 08:50<br>
<a href="https://issues.asterisk.org/view.php?id=15465#c111160" target="_blank">https://issues.asterisk.org/view.php?id=15465#c111160</a><br>
----------------------------------------------------------------------<br>
Closed due to no response from reporter. Please reopen if you're able to<br>
provide the requested information. Thanks!<br>
<br>
Issue History<br>
Date Modified Username Field Change<br>
======================================================================<br>
2009-09-22 08:50 lmadsen Note Added: 0111160<br>
2009-09-22 08:50 lmadsen Status feedback => closed<br>
</div></div>2009-09-22 08:50 lmadsen Resolution open => suspended<br>
======================================================================<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Dipl.-Inf. (FH)<br>Marcus Hunger - <a href="mailto:hunger@sipgate.de">hunger@sipgate.de</a><br>Telefon: +49 (0)211-63 55 55-61<br>Telefax: +49 (0)211-63 55 55-22<br><br>sipgate GmbH - Gladbacher Str. 74 - 40219 Düsseldorf<br>
HRB Düsseldorf 39841 - Geschäftsführer: Thilo Salmon, Tim Mois<br>Steuernummer: 106 / 5724 / 7147, Umsatzsteuer-ID: DE219349391<br><br><a href="http://www.sipgate.de">www.sipgate.de</a> - <a href="http://www.sipgate.at">www.sipgate.at</a> - <a href="http://www.sipgate.co.uk">www.sipgate.co.uk</a><br>