<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Hey Luke, update to latest FS and try again this could be a bug that’s already been fixed…. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>If it you’re still getting the issue, I would open a jira.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>K<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] <b>On Behalf Of </b>Luke Wahlmeier<br><b>Sent:</b> Thursday, January 26, 2017 3:57 PM<br><b>To:</b> freeswitch-users@lists.freeswitch.org<br><b>Subject:</b> [Freeswitch-users] Calls getting stuck in playback application playing a tone_stream<o:p></o:p></span></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'>I am having issues with calls getting stuck in the playback application.&nbsp; This seems to happen only when the call is executing javascript with mod_v8 and the javascript calls some kind of sound playback on the channel.<o:p></o:p></p></div><p class=MsoNormal>We are currently on freeswitch 1.6.12-b91a0a6 on 64bit linux Debian Jessie, Linux kernel 4.4.6.<o:p></o:p></p><div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Here is what a stuck call looks like:<br>bef33c54-66f2-4183-b281-35b5b9ade65f,inbound,2017-01-25 13:05:03,1485374703,sofia/external/###########@###.##.##.##,CS_EXECUTE,###########,###########,192.168.24.77,###########,playback,tone_stream://v=-7;&gt;=10;+=.1;%(750,0,293.6,370.0,440.0);v=-7;&gt;=5;+=.1;%(1500,250,293.6,370.0,440.0),XML,public,PCMU,8000,64000,PCMU,8000,64000,,laxvoip6,,,,ACTIVE,,,,,,,###########,###########,192.168.24.77,###########,XML,public<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>The most basic form of the javascript that causes this looks like this:<br><br>&nbsp;&nbsp;&nbsp; if ( session.ready() ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session.answer();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var dtmf = session.getDigits(30, &quot;*&quot;, 20*1000);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var otherUUID = getDTMF(dtmf);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session.execute(&quot;playback&quot;, &quot;tone_stream://v=-7;&gt;=10;+=.1;%(750,0,293.6,370.0,440.0);v=-7;&gt;=5;+=.1;%(1500,250,293.6,370.0,440.0)&quot;);<br>&nbsp;&nbsp;&nbsp; }<o:p></o:p></p></div><div><p class=MsoNormal>99.9% of the calls that go through this path work fine, but about 1 in 1000 get stuck in this state.&nbsp; And once this happens all messages from the far side are ignored, including the BYE, and the media never times out even though there is no data being transmitted anymore.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in'>I have been able to get a core dump and this looks like the offending threads bt:<br><br>#0&nbsp; 0x00007f0187361a9d in read () at ../sysdeps/unix/syscall-template.S:81<br>81&nbsp;&nbsp;&nbsp; ../sysdeps/unix/syscall-template.S: No such file or directory.<br>(gdb) bt<br>#0&nbsp; 0x00007f0187361a9d in read () at ../sysdeps/unix/syscall-template.S:81<br>#1&nbsp; 0x00007f0187ef25b6 in _timerfd_next (timer=0x1bbdeb8) at src/switch_time.c:474<br>#2&nbsp; timer_next (timer=0x1bbdeb8) at src/switch_time.c:838<br>#3&nbsp; 0x00007f0187e27e78 in switch_core_timer_next (timer=&lt;optimized out&gt;) at src/switch_core_timer.c:74<br>#4&nbsp; 0x00007f00fc1f07f4 in read_stream_thread (thread=0x51, obj=0x7f00fc1364a0) at mod_local_stream.c:445<br>#5&nbsp; 0x00007f018811a840 in dummy_worker (opaque=0x1bbea40) at threadproc/unix/thread.c:151<br>#6&nbsp; 0x00007f018735b064 in start_thread (arg=0x7f00fc137700) at pthread_create.c:309<br>#7&nbsp; 0x00007f0186a3362d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111<br>(gdb) thread 46<br>[Switching to thread 46 (Thread 0x7f00db373700 (LWP 9663))]<br>#0&nbsp; 0x00007f0187361e03 in recvfrom () at ../sysdeps/unix/syscall-template.S:81<br>81&nbsp;&nbsp;&nbsp; ../sysdeps/unix/syscall-template.S: No such file or directory.<br>(gdb) bt<br>#0&nbsp; 0x00007f0187361e03 in recvfrom () at ../sysdeps/unix/syscall-template.S:81<br>#1&nbsp; 0x00007f01881184b5 in apr_socket_recvfrom (from=from@entry=0x7f015d2eb8c0, sock=0x7f015d2ebb30, flags=0, buf=0x7efd6a066cf0 &quot;\200&quot;, len=0x7f00db36e230) at network_io/unix/sendrecv.c:155<br>#2&nbsp; 0x00007f0187e0f829 in switch_socket_recvfrom (from=0x7f015d2eb8c0, sock=&lt;optimized out&gt;, flags=&lt;optimized out&gt;, buf=&lt;optimized out&gt;, len=&lt;optimized out&gt;) at src/switch_apr.c:946<br>#3&nbsp; 0x00007f0187ea6198 in do_flush (force=&lt;optimized out&gt;, bytes_in=139644540165635, bytes_in@entry=88, rtp_session=&lt;optimized out&gt;) at src/switch_rtp.c:5111<br>#4&nbsp; rtp_common_read (rtp_session=0x7efd6a05eb58, payload_type=0x7efd6a066cf0 &quot;\200&quot;, payload_type@entry=0x7f015d2dc984 &quot;&quot;, pmapP=0x4020, pmapP@entry=0x7f015d2dc9a8, <br>&nbsp;&nbsp;&nbsp; flags=0x7f0187361e03 &lt;recvfrom+51&gt;, flags@entry=0x7f015d2dc998, io_flags=2) at src/switch_rtp.c:6861<br>#5&nbsp; 0x00007f0187ea6cef in switch_rtp_zerocopy_read_frame (rtp_session=0x7efd6a05eb58, frame=0x7f015d2dc940, io_flags=2) at src/switch_rtp.c:7304<br>#6&nbsp; 0x00007f0187e5b023 in switch_core_media_read_frame (session=0x7f015d2d32d8, frame=0x7f015d2dc2e8, flags=1563281800, stream_id=-2026496509, stream_id@entry=0, type=SWITCH_MEDIA_TYPE_AUDIO)<br>&nbsp;&nbsp;&nbsp; at src/switch_core_media.c:2184<br>#7&nbsp; 0x00007f016b1830a5 in sofia_read_frame (session=0x7f015d2d32d8, frame=0x7f00db370760, flags=2, stream_id=0) at mod_sofia.c:1018<br>#8&nbsp; 0x00007f0187e45b2d in switch_core_session_read_frame (session=0x7f015d2d32d8, frame=0x7f00db370760, flags=16416, stream_id=-2026496509) at src/switch_core_io.c:175<br>#9&nbsp; 0x00007f0187ed133a in switch_ivr_play_file (session=0x7f015d2d32d8, fh=0x7f00db370f40, file=0x7f00db370f00 &quot;\300\004\363h\001\177&quot;, args=0x7f0187361e03 &lt;recvfrom+51&gt;, <br>&nbsp;&nbsp;&nbsp; args@entry=0x7f00db370f00) at src/switch_ivr_play_say.c:1822<br>#10 0x00007f0168f2a7b3 in playback_function (session=0x7f015d2d32d8, data=&lt;optimized out&gt;) at mod_dptools.c:2831<br>#11 0x00007f0187e4036a in switch_core_session_exec (session=0x7f015d2d32d8, application_interface=0x1abb0b8, <br>&nbsp;&nbsp;&nbsp; arg=0x7efd69adf478 &quot;tone_stream://v=-7;&gt;=10;+=.1;%(750,0,293.6,370.0,440.0);v=-7;&gt;=5;+=.1;%(1500,250,293.6,370.0,440.0)&quot;) at src/switch_core_session.c:2784<br>#12 0x00007f00e3bdc1c8 in FSSession::ExecuteImpl (this=0x7efd5d9ca280, info=...) at src/fssession.cpp:1391<br>#13 0x00007f00e3be03cd in FSSession::Execute (info=...) at ./include/fssession.hpp:125<br>#14 0x00007f00e347a619 in v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo&lt;v8::Value&gt; const&amp;)) () from /usr/local/freeswitch/lib/libv8.so<br>#15 0x00007f00e3495b08 in v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) () from /usr/local/freeswitch/lib/libv8.so<br><br>Has anyone seen this before?<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Let me know if there is any other information needed.<br><br><o:p></o:p></p></div><div><p class=MsoNormal>Thanks<br>Luke<o:p></o:p></p></div></div></div></div></body></html>