[asterisk-bugs] [JIRA] (ASTERISK-28829) app_queue: leaking stasis subscription when Redirect'ing call

lvl (JIRA) noreply at issues.asterisk.org
Tue Apr 14 10:21:25 CDT 2020


lvl created ASTERISK-28829:
------------------------------

             Summary: app_queue: leaking stasis subscription when Redirect'ing call 
                 Key: ASTERISK-28829
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28829
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Applications/app_queue
    Affects Versions: 16.9.0
            Reporter: lvl


Given..

* A queue
* A local channel as member in that queue
* A call to that member
* An AMI Redirect on that call

.. app_queue will permanently leak two stasis subscriptions.

In setup_stasis_subs we'll create these subscriptions:

{code}
queue_data->bridge_router = stasis_message_router_create_pool(ast_bridge_topic_all());
queue_data->channel_router = stasis_message_router_create_pool(ast_channel_topic_all());
{code}

.. which will continue to exist even after the call has hung up.

This is probably caused by the stasis subscriptions not properly tracking the masquerading process and surrogate channels, meaning {{handle_hangup}} is never called.

You can easily spot this by "core show taskprocessors" showing dozens or hundreds of "stasis/p:bridge:all" and "stasis/p:channel:all" lines even when there are no active channels.

Because a testcase says more than a thousand words, I will submit one that reproduces the problem shortly.

These hanging subscriptions (to *all* channel and bridge events) can eventually grind Asterisk to a halt. I will create a separate ticket for that and leave it at your discretion to close or merge that one.



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



More information about the asterisk-bugs mailing list