<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hello,</p>
<p>I've recently setup a small load test against an instance of Asterisks. I've tested on asterisk 13.5 and 14.6 with the same results.</p>
<p>I am using PJSIP. My dial plan is,</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p></p>
<div>[test]</div>
<p></p>
<p></p>
<div>exten => 1001,1,Answer</div>
<p></p>
<p></p>
<div>exten => 1001,n,MusicOnHold(15)</div>
<p></p>
<p></p>
<div>exten => 1001,n,Hangup</div>
<p></p>
</blockquote>
<p></p>
<div></div>
<div><br>
</div>
I am using SIPP to test. I can share XML if desired but it simply waits on the line while music plays for 8 seconds. I used sippycup to generate it with the following steps in the yaml file.
<p></p>
<p></p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p><br>
</p>
<p></p>
<div>steps:</div>
<p></p>
<p></p>
<div> - invite</div>
<p></p>
<p></p>
<div> - wait_for_answer</div>
<p></p>
<p></p>
<div> - ack_answer</div>
<p></p>
<p></p>
<div> - sleep 8</div>
<p></p>
<p></p>
<div> - send_bye</div>
<p></p>
</blockquote>
<p></p>
<p></p>
<div></div>
<div></div>
<div></div>
<div><br>
</div>
<div>At around 500 calls per second I begin to see the following ERRORs,</div>
<p></p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p></p>
<div><br>
</div>
<p></p>
<p></p>
<div>
<div>[Aug 28 17:46:14] ERROR[26150][C-00005594]: frame.c:343 ast_frdup: Excessive refcount 100000 reached on ao2 object 0x26bffc0</div>
</div>
<p></p>
<p></p>
<div>
<div>[Aug 28 17:46:14] ERROR[26150][C-00005594]: frame.c:343 ast_frdup: FRACK!, Failed assertion Excessive refcount 100000 reached on ao2 object 0x26bffc0 (0)</div>
</div>
<p></p>
<p></p>
<div>
<div>Got 19 backtrace records</div>
</div>
<p></p>
<p></p>
<div>
<div>#0: [0x45d229] /usr/sbin/asterisk(__ao2_ref+0x1a9) [0x45d229]</div>
</div>
<p></p>
<p></p>
<div>
<div>#1: [0x526ce6] /usr/sbin/asterisk(ast_frdup+0x116) [0x526ce6]</div>
</div>
<p></p>
<p></p>
<div>
<div>#2: [0x5fa616] /usr/sbin/asterisk(ast_translate+0x306) [0x5fa616]</div>
</div>
<p></p>
<p></p>
<div>
<div>#3: [0x4bf16b] /usr/sbin/asterisk(ast_write+0x104b) [0x4bf16b]</div>
</div>
<p></p>
<p></p>
<div>
<div>#4: [0x7efeb578230b] /usr/lib/asterisk/modules/res_musiconhold.so(+0x430b) [0x7efeb578230b]</div>
</div>
<p></p>
<p></p>
<div>
<div>#5: [0x4b5b52] /usr/sbin/asterisk() [0x4b5b52]</div>
</div>
<p></p>
<p></p>
<div>
<div>#6: [0x4c259c] /usr/sbin/asterisk() [0x4c259c]</div>
</div>
<p></p>
<p></p>
<div>
<div>#7: [0x4c4a45] /usr/sbin/asterisk() [0x4c4a45]</div>
</div>
<p></p>
<p></p>
<div>
<div>#8: [0x7efeb578478d] /usr/lib/asterisk/modules/res_musiconhold.so(+0x678d) [0x7efeb578478d]</div>
</div>
<p></p>
<p></p>
<div>
<div>#9: [0x58ec79] /usr/sbin/asterisk(pbx_exec+0xb9) [0x58ec79]</div>
</div>
<p></p>
<p></p>
<div>
<div>#10: [0x582e84] /usr/sbin/asterisk() [0x582e84]</div>
</div>
<p></p>
<p></p>
<div>
<div>#11: [0x584e7c] /usr/sbin/asterisk() [0x584e7c]</div>
</div>
<p></p>
<p></p>
<div>
<div>#12: [0x5863fb] /usr/sbin/asterisk() [0x5863fb]</div>
</div>
<p></p>
<p></p>
<div>
<div>#13: [0x60002a] /usr/sbin/asterisk() [0x60002a]</div>
</div>
<div><br>
</div>
<p></p>
</blockquote>
I've also seen similar behavior when using playback instead of MusicOnHold. CPU usage gets around 50%. Can anyone enlighten me on the meaning and cause of the error? Is there some steps (config etc) that can be taken to alleviate the issue?
<div><br>
</div>
<div>Thanks</div>
<div>Joseph</div>
<div><br>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p></p>
<div>
<div><br>
</div>
</div>
<p></p>
</blockquote>
<p></p>
<div><br>
</div>
<br>
<p></p>
</div>
</div>
</body>
</html>