[Home]

Summary:ASTERISK-26881: bridge_channel.c:989 ast_bridge_channel_queue_frame: We couldn't write alert pipe for Local/XXXXXXX@dialpeer. something is VERY wrong
Reporter:Private Name (falves11)Labels:
Date Opened:2017-03-17 23:36:50Date Closed:2020-01-14 11:13:30.000-0600
Priority:CriticalRegression?
Status:Closed/CompleteComponents:Channels/chan_local
Versions:14.3.0 Frequency of
Occurrence
Related
Issues:
Environment:Linux 64Attachments:( 0) debug.zip
Description:After 600 calls, all of them achieved by
Originate Local/XXXXXXXXXX@dialpeer application MusicOnHold default
Note: all calls are dialed with PJSIP inside the context.

I get this error:

[Mar 18 00:18:01] ERROR[40175][C-000004cb]: bridge_channel.c:989 ast_bridge_channel_queue_frame: We couldn't write alert pipe for 0x7ff39000fd90(Local/XXXXXXX@dialpeer-000004cc;2)... something is VERY wrong

Please let me know where to start looking for the culprit.
Comments:By: Asterisk Team (asteriskteam) 2017-03-17 23:36:51.131-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Rusty Newton (rnewton) 2017-03-20 14:10:50.348-0500

We require additional debug to continue with triage of your issue. Please follow the instructions on the wiki [1] for how to collect debugging information from Asterisk. For expediency, where possible, attach the debug with a '.txt' file extension so that the debug will be usable for further analysis.

Thanks!

[1] https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information



By: Rusty Newton (rnewton) 2017-03-20 14:12:45.183-0500

In addition to a debug log demonstrating the error, and the events happening before and after it, you should attach the dialplan in use within the extension called.

At what rate does this error occur, and on how many calls out of your 600?

Please also describe the other symptoms seen along with this error. How are the calls affected.. do they not complete, is there no audio, is audio distorted, etc.

By: Private Name (falves11) 2017-03-20 15:19:29.227-0500

I have a bash script that generates hundreds of calls and loads them via
{noformat}
while true;do
command="Local/${number}@$Peer ${callerid} MusicOnHold default"
asterisk -rx "$command"
sleep 1
loop
{noformat}
the $Peer is simple
{noformat}
[context]
dial(PJSIP/number@IP)
{noformat}

If somebody answers, Asterisk drops them into MusicOnHold

Basically, the dialplan is one line, the Dial line.
It crashes after 600+ calls. You try to call in via a softphone, and I can see the INVITE coming in, PJSIP sees it, but Asterisk never processes the INVITE, neither sends back the ACK, Asterisk is dead.

ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 1048576
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1048576
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 20000
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimite

free -g
             total        used        free      shared  buff/cache   available
Mem:             61           4           3           0          53          55
Swap:             0           0           0



By: Private Name (falves11) 2017-03-20 23:24:27.729-0500

I could not crash it because the amount of calls would not climb at all. The trace shows the issue. Please look at the warnings. My in the case notes.

By: Private Name (falves11) 2017-03-20 23:33:28.186-0500

The dialplan is one line
[inbound]
exten => _X.,1,Dial(PJSIP/${EXTEN}@ulaw-callgen)

As I said, the script does this once per second
asterisk -rx "Originate Local/1xxxxxxxxx@inbound application MusicOnHold default"
on the other side, on the same network there is an identical machine, with a single line of code as well MusicOnHold(default).
You would think that this should be a perfect demo, well, calls disconnect for lack of rtp after a timeout of 90 seconds, as specified on pjsip.conf
the problem leading to this issue shows in the trace. There are no network issues, the boxes are local to each other.
I could no make the channels climb more than 150 calls and the calls started to drop for lack of RTP.
If somebody tells me how to solve the RTP issue maybe I can originate more calls and reproduce the error message.



By: Rusty Newton (rnewton) 2017-03-23 09:08:22.278-0500

{quote}
You would think that this should be a perfect demo, well, calls disconnect for lack of rtp after a timeout of 90 seconds, as specified on pjsip.conf
...
I could no make the channels climb more than 150 calls and the calls started to drop for lack of RTP. If somebody tells me how to solve the RTP issue maybe I can originate more calls and reproduce the error message.
{quote}

rtp timeout should be disabled by default, you can also manually disable it:

{quote}
;rtp_timeout=      ; Hang up channel if RTP is not received for the specified
                  ; number of seconds when the channel is off hold (default:
                  ; "0" or not enabled)
{quote}

By: Asterisk Team (asteriskteam) 2017-04-06 12:00:01.185-0500

Suspended due to lack of activity. This issue will be automatically re-opened if the reporter posts a comment. If you are not the reporter and would like this re-opened please create a new issue instead. If the new issue is related to this one a link will be created during the triage process. Further information on issue tracker usage can be found in the Asterisk Issue Guidlines [1].

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines