[asterisk-bugs] [JIRA] (ASTERISK-24422) Monitor still alive after channel is hanged up

Matt Jordan (JIRA) noreply at issues.asterisk.org
Mon Dec 8 11:36:29 CST 2014


    [ https://issues.asterisk.org/jira/browse/ASTERISK-24422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=223931#comment-223931 ] 

Matt Jordan commented on ASTERISK-24422:
----------------------------------------

I'm going to go out on a limb and say that this isn't the problem any way. In {{ast_channel_destructor}}:

{code}
	/* Stop monitoring */
	if (ast_channel_monitor(chan)) {
		ast_channel_monitor(chan)->stop(chan, 0);
	}
{code}

If a channel is destroyed and it has a Monitor on it, we will unilaterally stop the Monitor.

My guess is that [~d.pischenko] has a channel reference leak, as that would exhibit the behaviour he is seeing. However, without any information on how his system got into that state, there's no way we can reproduce or diagnose the problem.

> Monitor still alive after channel is hanged up
> ----------------------------------------------
>
>                 Key: ASTERISK-24422
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24422
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/General
>    Affects Versions: 11.11.0
>            Reporter: Dmitry Pischenko
>            Assignee: Rusty Newton
>         Attachments: monitor-leaks.patch
>
>
> Monitor still alive after channel is hanged up.
> Dialplan example:
> {noformat}
> exten => _4XXX,n,Monitor(gsm,${UNIQUEID},b) 
> exten => _4XXX,n,Dial(SIP/KMPX/1${EXTEN:1})
> exten => _4XXX,n,Hangup
> {noformat}
> After hanging up ast_monitor_stop() called one time with one of channels. If monitor started on other channel then ast_monitor_stop() do not call with other channel. After each call asterisk holds output files. And after some time asterisk cannot create any descriptors and I need restart asterisk.
> lsof when all calls is over:
> {noformat}
> asterisk   1009       root   31w      REG        8,2   491520    2627254 /var/spool/asterisk/monitor/softpbx11-1413208359.0-in.gsm
> asterisk   1009       root   32u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   33w      REG        8,2    98304    2627258 /var/spool/asterisk/monitor/softpbx11-1413208735.11-in.gsm
> asterisk   1009       root   34u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   35w      REG        8,2   491520    2627255 /var/spool/asterisk/monitor/softpbx11-1413208359.0-out.gsm
> asterisk   1009       root   36u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   37u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   38w      REG        8,2       99    2627256 /var/spool/asterisk/monitor/softpbx11-1413208463.3-in.gsm
> asterisk   1009       root   39w      REG        8,2        0    2627257 /var/spool/asterisk/monitor/softpbx11-1413208463.3-out.gsm
> asterisk   1009       root   40u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   41u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   42u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   43w      REG        8,2    98304    2627259 /var/spool/asterisk/monitor/softpbx11-1413208735.11-out.gsm
> asterisk   1009       root   44w      REG        8,2    65536    2627260 /var/spool/asterisk/monitor/softpbx11-1413208826.14-in.gsm
> asterisk   1009       root   45w      REG        8,2    65536    2627261 /var/spool/asterisk/monitor/softpbx11-1413208826.14-out.gsm
> asterisk   1009       root   47u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   49u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   50w      REG        8,2   360448    2627262 /var/spool/asterisk/monitor/softpbx11-1413208932.16-in.gsm
> asterisk   1009       root   51w      REG        8,2   360580    2627263 /var/spool/asterisk/monitor/softpbx11-1413208932.16-out.gsm
> asterisk   1009       root   52u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   53w      REG        8,2   131072    2627266 /var/spool/asterisk/monitor/softpbx11-1413209382.22-in.gsm
> asterisk   1009       root   54w      REG        8,2    65536    2627264 /var/spool/asterisk/monitor/softpbx11-1413209274.19-in.gsm
> asterisk   1009       root   55w      REG        8,2    65536    2627265 /var/spool/asterisk/monitor/softpbx11-1413209274.19-out.gsm
> asterisk   1009       root   58u      CHR    196,253      0t0       9995 /dev/dahdi/timer
> asterisk   1009       root   59w      REG        8,2   131072    2627267 /var/spool/asterisk/monitor/softpbx11-1413209382.22-out.gsm
> {noformat}
> This affected in 11.11 but I see similar code in trunk. I do not check trunk but I guess that situation is present in trunk too.
> I suggest patch in attached file. Patch to revision 425385



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



More information about the asterisk-bugs mailing list