[asterisk-dev] Calling System() from the "h" extension ?

Leif Madsen leif.madsen at asteriskdocs.org
Tue Nov 24 21:32:05 CST 2009


Pavel Troller wrote:
> Hi!
>   I've found a problem in my dialplan scripts, which I think was not there
> before.
<snip>
>   Now, in 1.6.1.10, executing this System() commands eats lots of a CPU cycles
> momentarily (for about 5 seconds). It's enough to increase the CPU load from
> 0.00 to 2.55. All the calls bridged are choppy during this period, Asterisk
> even cannot write to the console. After a while, all goes back to normal and
> the command normally executes its function, i.e. the phone addressed by the
> originate cmd starts ringing, console dumps what it has to (just a regular
> processing of the dialplan including the System() command, nothing suspicious)
> etc.
<snip>
> Could it be a bug ?

This does sound like a regression, especially if you can't reproduce the issue 
by reverting back to an earlier version (such as 1.6.1.9 or 1.6.1.4). If 
changing nothing but the version causes this to go between working and not 
working, then I'd suggest this to be a regression.

If this is the case, then please open a new issue in the issue tracker at 
https://issues.asterisk.org with a backtrace generated after attaching to the 
running Asterisk process and reproducing the issue. Also, I believe the output 
of 'core show locks' would be useful after enabling MALLOC_DEBUG and 
DEBUG_CHANNEL_LOCKS* in the Compiler Flags section of menuselect.

Don't forget to enable DONT_OPTIMIZE before getting the backtrace. More 
information is in the doc/backtrace.txt file of your Asterisk source.

Thanks!
Leif Madsen.

* I can never remember which flag it is to enable the output for 'core show 
locks', so just enable both :)  I'm sure someone will respond here and tell me 
which is correct.



More information about the asterisk-dev mailing list