[asterisk-bugs] [Asterisk 0017564]: Asterisk "locks up" the system when an external process is called from the 'h' extension with a lower priority than Asterisk.
Asterisk Bug Tracker
noreply at bugs.digium.com
Wed Jun 30 07:17:49 CDT 2010
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=17564
======================================================================
Reported By: ramonpeek
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 17564
Category: Resources/General
Reproducibility: always
Severity: minor
Priority: normal
Status: feedback
Asterisk Version: 1.4.33
JIRA:
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2010-06-29 05:47 CDT
Last Modified: 2010-06-30 07:17 CDT
======================================================================
Summary: Asterisk "locks up" the system when an external
process is called from the 'h' extension with a lower priority than Asterisk.
Description:
We noticed that Asterisk "locks up" the system when an external process is
called from the 'h' extension with a lower priority than Asterisk.
This issue is a follow up on issue:
https://issues.asterisk.org/view.php?id=16349
See Additional Information Field for more info....
======================================================================
----------------------------------------------------------------------
(0124075) ramonpeek (reporter) - 2010-06-30 07:17
https://issues.asterisk.org/view.php?id=17564#c124075
----------------------------------------------------------------------
As far as I can see the added code in autoservice.c, is indeed the
problem!:
Because we are in the 'h' extension the value of 'as->chan->_softhangup'
is true and variable x is not yet set when it reaches this new piece of
code:
+ if (!x) {
+ continue;
+ }
This is normally not a problem because the asterisk process is running at
the same kernel_priority as the process run in the 'h extension so that
process gets the chance to be executed.
However when asterisk runs at a higher kernel_priority then the process
running in the 'h' extension, asterisk will 'loop' this part of the code
and the the process in the 'h' extension will hardly get a chance to
execute. Which causes the system to slow down.
And the more priority is given to asterisk, the more likely this is going
to be a problem. Which is very likely the reason that running Asterisk at
highpriority (-p) causes the whole system to "lock up".
Question remains: "Is it wise to reverse this change?"
Issue History
Date Modified Username Field Change
======================================================================
2010-06-30 07:17 ramonpeek Note Added: 0124075
======================================================================
More information about the asterisk-bugs
mailing list