[asterisk-bugs] [Asterisk 0014623]: [patch] Race condition between bridge and channel masquerading
Asterisk Bug Tracker
noreply at bugs.digium.com
Mon Mar 9 18:33:58 CDT 2009
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=14623
======================================================================
Reported By: guillecabeza
Assigned To: russell
======================================================================
Project: Asterisk
Issue ID: 14623
Category: Core/Channels
Reproducibility: sometimes
Severity: crash
Priority: normal
Status: assigned
Asterisk Version: SVN
Regression: No
SVN Branch (only for SVN checkouts, not tarball releases): trunk
SVN Revision (number only!): 180032
Request Review:
======================================================================
Date Submitted: 2009-03-08 16:07 CDT
Last Modified: 2009-03-09 18:33 CDT
======================================================================
Summary: [patch] Race condition between bridge and channel
masquerading
Description:
The bridge checks for zombieness
/* Stop if we're a zombie or need a soft hangup */
if (ast_test_flag(c0, AST_FLAG_ZOMBIE) || ast_check_hangup_locked(c0)
||
ast_test_flag(c1, AST_FLAG_ZOMBIE) || ast_check_hangup_locked(c1))
{
To see if some of the channels is going through a masquerading, but non
atomically, access to channel member variables happens a few lines later
if (!ast_strlen_zero(pbx_builtin_getvar_helper(c0, "BRIDGEPEER")))
pbx_builtin_setvar_helper(c0, "BRIDGEPEER", c1->name);
Without locking on those acceses. That causes random crashes when the
memory is touched or free'd later.
======================================================================
----------------------------------------------------------------------
(0101434) guillecabeza (reporter) - 2009-03-09 18:33
http://bugs.digium.com/view.php?id=14623#c101434
----------------------------------------------------------------------
I think potentially your patch is better (I really don't like usleep's
dangling around that much). But for consistency I think everywhere should
use the same strategy when faced with the same problem, that would mean
changing ast_channel_masquerade also...
my 2 cents.
Issue History
Date Modified Username Field Change
======================================================================
2009-03-09 18:33 guillecabeza Note Added: 0101434
======================================================================
More information about the asterisk-bugs
mailing list