[asterisk-bugs] [JIRA] (ASTERISK-25837) file: Blocking when using FIFO

Rusty Newton (JIRA) noreply at issues.asterisk.org
Wed Mar 23 12:20:56 CDT 2016


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rusty Newton updated ASTERISK-25837:
------------------------------------

    Description: 
We encountered an Asterisk freeze recently. The machine was not especially loaded, less than 10 calls where going on.
It seems that two channels where stuck in the application StopMixMonitor.
Please find attach the results of "core show threads", "core show taskprocessors" and a backtrace.

h3. Reproduction

{code:title=extensions.conf|borderStyle=solid}
[default]
exten => 601,1,System(mkfifo /var/spool/asterisk/monitor/${UNIQUEID}-in.alaw)
same  => n,System(mkfifo /var/spool/asterisk/monitor/${UNIQUEID}-out.alaw)
same  => n,MixMonitor(/dev/null,bt(${UNIQUEID}-out.alaw)r(${UNIQUEID}-in.alaw))
same  => n,Set(DB(test/monitoredChannel)=${CHANNEL})
same  => n,Dial(SIP/601)

exten => 602,1,System(mkfifo /var/spool/asterisk/monitor/${UNIQUEID}-in.alaw)
same  => n,System(mkfifo /var/spool/asterisk/monitor/${UNIQUEID}-out.alaw)
same  => n,MixMonitor(/dev/null,bt(${UNIQUEID}-out.alaw)r(${UNIQUEID}-in.alaw))
same  => n,Dial(SIP/602,,F)
same  => n,StopMixMonitor()
same  => n,AGI(stopMixMonitorOnOtherChannel.php,${DB(test/monitoredChannel)})
{code}

The AGI script stopMixMonitorOnOtherChannel.php connects to the AMI and calls the command StopMixMonitor on the provided channel.

Then, here are the actions to perform to freeze :
- 600 dials 601
- 601 unhooks the call
- on a seconds line, 601 dials 602
- 602 unhooks the call
- 601 hangups the call with 602

Here asterisk freezes.

  was:
We encountered an Asterisk freeze recently. The machine was not especially loaded, less than 10 calls where going on.
It seems that two channels where stuck in the application StopMixMonitor.
Please find attach the results of "core show threads", "core show taskprocessors" and a backtrace.


> file: Blocking when using FIFO
> ------------------------------
>
>                 Key: ASTERISK-25837
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25837
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_mixmonitor
>    Affects Versions: 13.7.2
>         Environment: OS : RedHat 7.2
> Kernel: 3.10.0
> Asterisk: 13.7.2
>            Reporter: Jean Aunis - Prescom
>            Assignee: Unassigned
>         Attachments: backtrace-threads-2016-03-16.txt, backtrace-threads.txt, core-show-locks-2016-03-16.txt, core-show-taskprocessors-2016-03-16.txt, core-show-taskprocessors.txt, core-show-threads-2016-03-16.txt, core-show-threads.txt, debug_log_25837.txt, full-20160310
>
>
> We encountered an Asterisk freeze recently. The machine was not especially loaded, less than 10 calls where going on.
> It seems that two channels where stuck in the application StopMixMonitor.
> Please find attach the results of "core show threads", "core show taskprocessors" and a backtrace.
> h3. Reproduction
> {code:title=extensions.conf|borderStyle=solid}
> [default]
> exten => 601,1,System(mkfifo /var/spool/asterisk/monitor/${UNIQUEID}-in.alaw)
> same  => n,System(mkfifo /var/spool/asterisk/monitor/${UNIQUEID}-out.alaw)
> same  => n,MixMonitor(/dev/null,bt(${UNIQUEID}-out.alaw)r(${UNIQUEID}-in.alaw))
> same  => n,Set(DB(test/monitoredChannel)=${CHANNEL})
> same  => n,Dial(SIP/601)
> exten => 602,1,System(mkfifo /var/spool/asterisk/monitor/${UNIQUEID}-in.alaw)
> same  => n,System(mkfifo /var/spool/asterisk/monitor/${UNIQUEID}-out.alaw)
> same  => n,MixMonitor(/dev/null,bt(${UNIQUEID}-out.alaw)r(${UNIQUEID}-in.alaw))
> same  => n,Dial(SIP/602,,F)
> same  => n,StopMixMonitor()
> same  => n,AGI(stopMixMonitorOnOtherChannel.php,${DB(test/monitoredChannel)})
> {code}
> The AGI script stopMixMonitorOnOtherChannel.php connects to the AMI and calls the command StopMixMonitor on the provided channel.
> Then, here are the actions to perform to freeze :
> - 600 dials 601
> - 601 unhooks the call
> - on a seconds line, 601 dials 602
> - 602 unhooks the call
> - 601 hangups the call with 602
> Here asterisk freezes.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list