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

Mark Michelson mmichelson at digium.com
Wed Nov 25 09:03:35 CST 2009


Leif Madsen wrote:
> 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.

"core show locks" is made available with the DEBUG_THREADS option. MALLOC_DEBUG 
is useful for determining the memory usage by enabling the "memory show summary" 
and "memory show allocations" commands. DEBUG_CHANNEL_LOCKS is useless and 
should be eradicated IMHO.

> 
> 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.
> 
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
> 
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev




More information about the asterisk-dev mailing list