[asterisk-bugs] [Asterisk 0011696]: Asterisk hanging whole system on certain configuration

noreply at bugs.digium.com noreply at bugs.digium.com
Mon Jan 7 07:57:08 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11696 
====================================================================== 
Reported By:                dmartin
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   11696
Category:                   Core-General
Reproducibility:            always
Severity:                   block
Priority:                   normal
Status:                     new
Asterisk Version:           1.4.16.2 
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             01-06-2008 13:18 CST
Last Modified:              01-07-2008 07:57 CST
====================================================================== 
Summary:                    Asterisk hanging whole system on certain
configuration
Description: 
Hi,

I'm using Asterisk 1.4.16.2 from Debian (Sid) on a Sparc machine.

With this configuration, taken from extensions.conf, the whole system
stops responding at all but ICMP pings (no ssh, telnet, nor serial console,
and can't look for any debug).

---------------
[services]
exten => 298,1,Ringing
exten => 298,2,Wait(8)
exten => 298,3,Answer
exten =>
298,4,Monitor(wav,/pool/exports/recv/sw-${CALLERID(num)}-${EPOCH})
exten => 298,5,Playback(/var/lib/asterisk/sounds/custom/sn)
exten => 298,6,Hangup

exten => 55610,1,Dial(Local/298,90,tr)
---------------

If I call 55610, the system hangs. If I call 298, it doesn't hang. If I
comment the line Monitor(...) from 298 definition, the system doesn't hang
either. In all cases when the system doesn't call, the extension works
fine.

If I change the extension 55610 to:

exten => 55610,1,Goto(services,298,1)

It works without a flaw, and no hangs.

Maybe it's a thing of Local/* ? Or the Monitor() application ? Or the
${CALLERID(num)} usage on a mix of these ? That's why I clasiffied bug on
General.

I'm sure that if I apply limits to the proccess (ie, limit cpu time or
proccesses), then the kernel would kill  Asterisk and come back to a usable
state, but I won't do it for this report since the only fact that Asterisk
hang a system should be sufficient to report this.

====================================================================== 

---------------------------------------------------------------------- 
 tzafrir - 01-07-08 07:57  
---------------------------------------------------------------------- 
For starters, run asterisk without the option -p, to make such loops
non-fatal. In Debian: 

echo AST_REALTIME=no >>/etc/default/asterisk

This should let you sort out the exact dialplan loop that occours there. I
suspect that it is related to the 's' extension.

The general problem of a dialplan loop hanging Asterisk if -p was used is
at least partially solved in trunk using the canary process. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-07-08 07:57  tzafrir        Note Added: 0076393                          
======================================================================




More information about the asterisk-bugs mailing list