[asterisk-users] long return times from System() calls with 1.6.2.6?

David Backeberg dbackeberg at gmail.com
Wed Apr 21 14:03:45 CDT 2010


On Thu, Apr 8, 2010 at 6:04 PM, David Backeberg <dbackeberg at gmail.com> wrote:
> On Thu, Apr 8, 2010 at 5:01 PM, Kevin P. Fleming <kpfleming at digium.com> wrote:
>> David Backeberg wrote:
>>
>>>> I'm doing really, really innocent things, like:
>>>>
>>>> exten => s,n,System(test -e ${MESSAGE_PATH}${EXTEN})
>>>
>>> So I did some more testing. Same dialplan, reverted to
>>> asterisk-1.6.0.13, and the contexts that do these test -e calls runs
>>> lightning fast. It's like maybe there's something going on where it
>>> needs to run sudo or something?
>>
>> There was a big change in the way the ast_safe_system() API call (used
>> by the System() dialplan application) works between 1.6.0 and 1.6.2;
>> it's possible you are seeing a side effect of this change. If you'd like
>> to experiment, open up main/app.c (in 1.6.2), search for the
>> ast_close_fds_above_n() function, and in the for() loop that runs from
>> 'n+1' to 'rl.rlim_cur', change 'rl.rlim_cur' to '4096'. If that changes
>> the behavior, we've found the culprit, and you can open an issue on
>> issues.asterisk.org so this can be investigated.
>
> On further review, I'm having other problems with this machine. I need
> more data points before I point the finger at asterisk, as it seems
> that the other 1.6.2.6 machine was fine.
>

I now have another system as a datapoint. This is a second CentOS
system, and it's having the same weird lag problem when calling
System().

I'm going to try Kevin's proposal. This new system is a very beefy,
new i7 multi-cpu, multi-core, boatloads of ram box, and there's no
good explanation for lag on this idle system. Will report results
soon.



More information about the asterisk-users mailing list