<h3>Description</h3>
<p>cfgutils route_if_exists can leak when<br>
1: using a $var or $avp<br>
2: some functions are called within the called route</p>
<h3>Troubleshooting</h3>
<h4>Reproduction</h4>
<p>Note the route is executed from <code>rtimer</code> in case this is part of the problem somehow.</p>
<pre><code>modparam("rtimer", "timer", "name=tmetrics;interval=9;mode=1;")
modparam("rtimer", "exec", "timer=tmetrics;route=test")
</code></pre>
<p>example :</p>
<pre><code>route[dummy] {
        xinfo("[dummy]");
        statsd_gauge("dummy_1xx", $stat(1xx_replies));
}
route[test] {
        $var(route_name) = "dummy";
        route_if_exists($var(route_name));
]
</code></pre>
<p>working alternative</p>
<pre><code>route[dummy] {
        xinfo("[dummy]");
        statsd_gauge("dummy_1xx", $stat(1xx_replies));
}
route[test] {
        $var(route_name) = "dummy";
        if (check_route_exists($var(route_name))) {
                     route($var(route_name));
       } 
}
</code></pre>
<h4>Debugging Data</h4>
<pre><code>kamcmd pkg.stats you can see the `real_used` of the timer process with leak every time the route is called
</code></pre>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/issues/1503">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZT1tPGigQpZ2s4wojkHDbQlisnWTks5tqLlxgaJpZM4TcGXt">mute the thread</a>.<img src="https://github.com/notifications/beacon/AF36ZWXhZ0gM7lLUF0rldf6m2RPoY38pks5tqLlxgaJpZM4TcGXt.gif" height="1" width="1" alt="" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/kamailio/kamailio/issues/1503"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/kamailio/kamailio","title":"kamailio/kamailio","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/kamailio/kamailio"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"cfgutils route_if_exists causing leak (#1503)"}],"action":{"name":"View Issue","url":"https://github.com/kamailio/kamailio/issues/1503"}}}</script>