[asterisk-bugs] [JIRA] (ASTERISK-21409) IAX2 locks up with many threads blocked by iax2_destroy_helper
Alec Davis (JIRA)
noreply at issues.asterisk.org
Fri May 31 00:23:03 CDT 2013
[ https://issues.asterisk.org/jira/browse/ASTERISK-21409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=206931#comment-206931 ]
Alec Davis commented on ASTERISK-21409:
---------------------------------------
Another lockup today. 2 threads trying to release the same call, notice the swapped around fr->callno and bridgecallno.
[May 31 14:44:01] VERBOSE[30820] chan_iax2.c: -- Releasing IAX2/auckland-13262 and IAX2/auckland-20457
[May 31 14:44:01] VERBOSE[30824][C-00000536] chan_iax2.c: -- Releasing IAX2/auckland-20457 and IAX2/auckland-13262
{code}
[May 31 14:44:01] DEBUG[12985][C-00000536] channel.c: Returning from native bridge, channels: IAX2/auckland-13262, IAX2/auckland-20457
[May 31 14:44:01] VERBOSE[30820] chan_iax2.c: -- Channel 'IAX2/auckland-13262' ready to transfer
[May 31 14:44:01] VERBOSE[30824][C-00000536] chan_iax2.c: -- Channel 'IAX2/auckland-20457' ready to transfer
[May 31 14:44:01] VERBOSE[30824][C-00000536] chan_iax2.c: -- Releasing IAX2/auckland-20457 and IAX2/auckland-13262
[May 31 14:44:01] VERBOSE[30820] chan_iax2.c: -- Releasing IAX2/auckland-13262 and IAX2/auckland-20457
[May 31 14:44:01] DEBUG[30824][C-00000536] sched.c: Attempted to delete nonexistent schedule entry 209951!
[May 31 14:44:01] ERROR[30824][C-00000536] lock.c: chan_iax2.c line 1918 (iax2_destroy_helper): mutex '&iaxsl[pvt->callno]' freed more times than we've locked!
[May 31 14:44:01] ERROR[30824][C-00000536] lock.c: chan_iax2.c line 1918 (iax2_destroy_helper): Error releasing mutex: Operation not permitted
[May 31 14:44:01] DEBUG[30818][C-00000536] chan_iax2.c: Ooh, voice format changed to 'alaw'
{code}
re: chan_iax.c line ~11558, stop_stuff(iaxs[fr->callno]->bridgecallno);
Shouldn't it have a lock around it, as iax2_destroy_helper() expects the pvt to be locked.
fr-callno is already locked, but the bridgedcall isn't. But this will lead to a deadlock!
> IAX2 locks up with many threads blocked by iax2_destroy_helper
> --------------------------------------------------------------
>
> Key: ASTERISK-21409
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-21409
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_iax2
> Affects Versions: 1.8.15.0, 11.3.0
> Environment: Debian Squeeze
> Reporter: Alec Davis
> Attachments: full.may08.C-0000034cd.txt, iax-coreshowlocks-may08-auckland.txt, iax-lock-asterisk-11.txt, iax-lock-asterisk-1-8-15.txt, var_log_messages.txt
>
>
> Intermittently all IAX calls stop over the trunk.
> I think this is reproduced when a call is transferred back to the originating site, we have "transfer=on"
> Also happened with asterisk SVN-branch-11-r382514.
> Attached are the 1.8.15.0 lockup, and the 11-branch lockup.
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list