<div dir="ltr">I'm not sure of the cause. I started seeing a bunch of these show up in my logs. I'm not sure which request in the log actually caused the SO.<div><br></div><div><pre style="color:rgb(0,0,0);font-family:hack;font-size:9pt">017-05-16T20:23:07.334Z [ERROR] Uncaught exception; exceptionName="RangeError" exceptionMessage="Maximum call stack size exceeded" exceptionStack="<br>RangeError: Maximum call stack size exceeded<br>    at Object.rpcRequest (/usr/lib64/node_modules/genieacs/lib/session.js:694:22)<br>    at nextRpc (/usr/lib64/node_modules/genieacs/lib/cwmp.js:422:18)<br>    at /usr/lib64/node_modules/genieacs/lib/cwmp.js:538:14<br>    at Object.rpcRequest (/usr/lib64/node_modules/genieacs/lib/session.js:700:12)<br>    at nextRpc (/usr/lib64/node_modules/genieacs/lib/cwmp.js:422:18)<br>    at /usr/lib64/node_modules/genieacs/lib/cwmp.js:538:14<br>    at Object.rpcRequest (/usr/lib64/node_modules/genieacs/lib/session.js:700:12)<br>    at nextRpc (/usr/lib64/node_modules/genieacs/lib/cwmp.js:422:18)<br>    at /usr/lib64/node_modules/genieacs/lib/cwmp.js:538:14<br>    at Object.rpcRequest (/usr/lib64/node_modules/genieacs/lib/session.js:700:12)</pre><pre style="color:rgb(0,0,0);font-family:hack;font-size:9pt"><br></pre><pre style="color:rgb(0,0,0);font-family:hack;font-size:9pt">session.js like 700 is the callback below:</pre><pre style="color:rgb(0,0,0);font-family:hack;font-size:9pt"><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"droid sans mono","courier new",monospace,"droid sans fallback";font-size:14px;line-height:19px"><div>  <span style="color:rgb(197,134,192)">if</span> (<span style="color:rgb(156,220,254)">sessionContext</span>.<span style="color:rgb(156,220,254)">virtualParameters</span>.<span style="color:rgb(156,220,254)">length</span> === <span style="color:rgb(181,206,168)">0</span> && <span style="color:rgb(156,220,254)">sessionContext</span>.<span style="color:rgb(156,220,254)">declarations</span>.<span style="color:rgb(156,220,254)">length</span> === <span style="color:rgb(181,206,168)">0</span> && !(<span style="color:rgb(156,220,254)">_declarations</span> != <span style="color:rgb(86,156,214)">null</span> ? <span style="color:rgb(156,220,254)">_declarations</span>.<span style="color:rgb(156,220,254)">length</span> : <span style="color:rgb(86,156,214)">void</span> <span style="color:rgb(181,206,168)">0</span>) && (<span style="color:rgb(156,220,254)">sessionContext</span>.<span style="color:rgb(156,220,254)">doneProvisions</span> || <span style="color:rgb(156,220,254)">sessionContext</span>.<span style="color:rgb(156,220,254)">provisions</span>.<span style="color:rgb(156,220,254)">length</span> === <span style="color:rgb(181,206,168)">0</span>)) {</div><div>    <span style="color:rgb(197,134,192)">return</span> <span style="color:rgb(220,220,170)">callback</span>();</div><div>  }</div></div></pre><pre style="color:rgb(0,0,0);font-family:hack;font-size:9pt"><br></pre><pre style="color:rgb(0,0,0);font-family:hack;font-size:9pt">cwmp.js line 422 is the return session.rpcRequest line:
<div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"droid sans mono","courier new",monospace,"droid sans fallback";font-size:14px;line-height:19px"><div><span style="color:rgb(220,220,170)">nextRpc</span> = <span style="color:rgb(86,156,214)">function</span>(<span style="color:rgb(156,220,254)">sessionContext</span>) {</div><div>  <span style="color:rgb(197,134,192)">return</span> <span style="color:rgb(156,220,254)">session</span>.<span style="color:rgb(220,220,170)">rpcRequest</span>(<span style="color:rgb(156,220,254)">sessionContext</span>, <span style="color:rgb(86,156,214)">null</span>, <span style="color:rgb(86,156,214)">function</span>(<span style="color:rgb(156,220,254)">err</span>, <span style="color:rgb(156,220,254)">fault</span>, <span style="color:rgb(156,220,254)">id</span>, <span style="color:rgb(156,220,254)">acsRequest</span>) {</div><div>    <span style="color:rgb(86,156,214)">var</span> <span style="color:rgb(156,220,254)">alias</span>, <span style="color:rgb(156,220,254)">channel</span>, <span style="color:rgb(156,220,254)">flags</span>, <span style="color:rgb(156,220,254)">j</span>, <span style="color:rgb(156,220,254)">l</span>, <span style="color:rgb(156,220,254)">len</span>, <span style="color:rgb(156,220,254)">len1</span>, <span style="color:rgb(156,220,254)">len2</span>, <span style="color:rgb(156,220,254)">len3</span>, <span style="color:rgb(156,220,254)">m</span>, <span style="color:rgb(156,220,254)">n</span>, <span style="color:rgb(156,220,254)">o</span>, <span style="color:rgb(156,220,254)">p</span>, <span style="color:rgb(156,220,254)">ref</span>, <span style="color:rgb(156,220,254)">ref1</span>, <span style="color:rgb(156,220,254)">ref2</span>, <span style="color:rgb(156,220,254)">ref3</span>, <span style="color:rgb(156,220,254)">ref4</span>, <span style="color:rgb(156,220,254)">t</span>, <span style="color:rgb(156,220,254)">task</span>, <span style="color:rgb(156,220,254)">taskId</span>;</div><div></div></div>
</pre><pre style="color:rgb(0,0,0);font-family:hack;font-size:9pt"><br></pre><pre style="color:rgb(0,0,0);font-family:hack;font-size:9pt"><br></pre></div></div>