[asterisk-bugs] [JIRA] (ASTERISK-26095) chan_iax2: Deadlock

Ben Crox (JIRA) noreply at issues.asterisk.org
Wed Jun 8 06:27:56 CDT 2016


    [ https://issues.asterisk.org/jira/browse/ASTERISK-26095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=230937#comment-230937 ] 

Ben Crox commented on ASTERISK-26095:
-------------------------------------

Thanks Joshua for following up. I need to recompile for DONT_OPTIMIZE and BETTER_BACKTRACES.

Since the crash is a bit random, I don't have a specific flow to reproduce it.
I can avoid crash by switching off IAX2 channel. 
( The same box has over 9 month uptime and tens thousands of calls handled before getting the IAX2 trouble. Was using 12.5.1 ) 

Every time asterisk freezes, there is at least one IAX2 to Dahdi found in core show channels.
Source of IAX2 is another Asterisk 13.7.2 connected by VPN, which so far never hangs.

Typical hang:

boxB: .... Dial(IAX2/id:pw at boxA/${DESTNUM})

boxA: 
[from-iax2] 
exten => _XXXX.,1,Dial(DAHDI/g0/${EXTEN})
exten => _XXXX.,n,Hangup
exten => h,1,Hangup
exten => t,1,Hangup
exten => i,1,Hangup

boxA:
app_dial.c: DAHDI/i1/XXXXXXXX-YY answered IAX2/BoxB-ZZZZ
bridge_channel.c: Channel DAHDI/i1/XXXXXXXX-YY joined 'simple_bridge' basic-bridge <....UUID>
bridge_channel.c: Channel IAX2/BoxB-ZZZZ joined 'simple_bridge' basic-bridge <....UUID>
   .... after several minutes
sig_pri.c: Span 1: Channel 0/1 got hangup request, cause 16
sig_pri.c: Span 1: Channel 0/1 got hangup, cause 102
( frozen ) 

boxB:
during that time, if there are another calls via IAX2 starts 

NOTICE[XXXXX] chan_iax2.c: Auto-congesting call due to slow response

the same happens untils boxA is restarted.

boxA:
does not log the new call

If boxA is not frozen, multiple concurrent IAX2 calls  works.


> chan_iax2: Deadlock
> -------------------
>
>                 Key: ASTERISK-26095
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26095
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_iax2
>    Affects Versions: 12.5.1, 13.7.1
>         Environment: Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)
> wcte13xp+    d161:800a Wildcard TE131/TE133
>            Reporter: Ben Crox
>            Assignee: Ben Crox
>
> Asterisk ran out of threads during some of iax2 to dahdi calls.
> 1 out of 20+ calls may end in such issue.
> Meanwhile, there are merely 6k calls per month, 400 call from iax2 to dadhi for the box. 20 hangs per month shall be considered quite severe. 
> No freepbx, no hylafax, just asterisk + libpri + dahdi + AMI applications
> When frozen, 1 of cpu might have 100% usage, memory usage is just 20% ~ 40%, harddisks, network, NAS are all fine.
> CLI is accessible, but no new log / verbose / debug messages. 
> Core show locks reveals huge amount of MUTEX lock by chan_iax2.so .
> fd limit is not yet a problem for any other new process.  
> core restart does not work ( and may held CLI ) 
> service asterisk restart does not work.
> Can only hard KILL safe_asterisk or reboot the box.
>  ( version 13.1-cert7  )



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list