<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;}
@font-face
{font-family:"Courier New \;color\:\#333333";
panose-1:2 7 3 9 2 2 5 2 4 4;}
@font-face
{font-family:"Courier New \;color\:\#F54E25";
panose-1:2 7 3 9 2 2 5 2 4 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Calibri",sans-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;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
tt
{mso-style-priority:99;
font-family:"Courier New";}
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:11.0pt;
font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";}
span.EmailStyle22
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.dt1
{mso-style-name:dt1;}
span.EmailStyle24
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle25
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@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">Liviu,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">You’re right, there are quite a lot of them. Almost all of our use of parameterized routes and json access is in a subset of code that performs our logging, and none of that changed when the errors began.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Routes:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param(1))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param(2))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_json, $param(2))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $json(rlog/$param(1)))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "thread_name", $pp);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "level", $param(1));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "route", $param(2));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(rlog_start, $param(1), $param(2));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param(3))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "message", $param(3));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $json(rlog_msg))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "message", $var(rlog_msg));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(rlog_v, $param(1));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "callID", $ci);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "requestUri", $ru);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "fromUri", $fu);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "toUri", $tu);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "sipStatus", $rs);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "sipReason", $rr);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "mflags", $mf);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "conversation", $avp(cnv_id));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "callState", $avp(call_state));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(json_rlog, "method", $rm);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $json(rlog_msg))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param($var(add_rlog_i)))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param($var(add_rlog_j)))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_json, $param($var(add_rlog_j)))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param(1))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param($var(i))))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "function", "t_relay", "retcode", $var(relay_rc));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "sipStatus", $param(1), "sipReason", $param(2));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "maxfwd", $hdr(Max-Forwards));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param(1))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param(1))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param(1))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $var(ft_cache_val))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $param(2))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $var(ft_orgs))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "feature", $param(1), "orgID", $param(2), "allow", $var(ft_allow));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "state", $shv(state));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "group", $var(group));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "dir", $var(dir), "group", $var(group));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "rr_params", $rr_params);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "rr_params", $rr_params);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "state", $shv(state));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(add_rlog_msg_data, "domain", $hdr(x-special-header));</span><span style="font-size:11.0pt">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">JSON:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/$param(1)) = NULL;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/$param(1)) := $param(2);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">route(is_null, $json(rlog/$param(1)))<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/$param(1)) = $(param(2){re.subst,/"/\\"/g});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/message) := $json(rlog_msg);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/t) = $(time("%Y-%m-%dT%T."){s.select,1,"}) + $(Tsm{s.fill.left,0,6}) + "Z"; #"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/$param($var(add_rlog_i))) = "<null>";<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/$param($var(add_rlog_i))) := $param($var(add_rlog_j));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/$param($var(add_rlog_i))) = $(param($var(add_rlog_j)){re.subst,/"/\\"/g});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/function) = $param(1);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/retcode) = $var(add_rlog_msg_retcode);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/params[]) = $(param($var(i)){re.subst,/"/\\"/g});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/destUri) = $du;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/srcIp) = $si;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/srcPort) = $sp;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/replyCode) = $T_reply_code;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/protocol) = $(proto{s.tolower});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/errClass) = $(err.class{s.escape.common});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/errLevel) = $(err.level{s.escape.common});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/errInfo) = $(err.info{s.escape.common});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/errRcode) = $(err.rcode{s.escape.common});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/errRreason) = $(err.rreason{s.escape.common});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog/msg) = $(mb{s.escape.common});</span><span style="font-size:11.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">We have a few cases where we used parameterized parameter references, if that makes sense. I suspect it may be something related to that? For example, the only error line number that references a line where
json access or variable assignment is actually being performed is here:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">$json(rlog_msg/$param($var(add_rlog_i))) = $(param($var(add_rlog_j)){re.subst,/"/\\"/g});<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Ben Newlin </span>
<span style="font-size:11.0pt"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><span style="color:black">Users <users-bounces@lists.opensips.org> on behalf of Liviu Chircu <liviu@opensips.org><br>
<b>Reply-To: </b>OpenSIPS users mailling list <users@lists.opensips.org><br>
<b>Date: </b>Thursday, January 24, 2019 at 3:12 PM<br>
<b>To: </b>"users@lists.opensips.org" <users@lists.opensips.org><br>
<b>Subject: </b>Re: [OpenSIPS-Users] Invalid parameter errors<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><tt><span style="font-size:10.0pt">Hi Ben,</span></tt> <o:p>
</o:p></p>
<p>We are actually dealing with two bugs here, which may or may not be related to one another.<o:p></o:p></p>
<p>Bug #1: bad? variable during a route() call<br>
-------------------------------------------------------<o:p></o:p></p>
<p>For this one, can you enumerate all "route()" calls in your script which pass at least one variable, along with their full parameter call syntax? Example call:<o:p></o:p></p>
<p>route(sequential_requests, $rm, $avp(myinfo));<o:p></o:p></p>
<p>Bug #2: bad "key variable" during a $json expansion<br>
----------------------------------------------------------------------<o:p></o:p></p>
<p>For this one, can you enumerate all $json() variable appearances which include at least one parameterized key access? I realize there may be lots of these, but you may group them into "categories" and print out a few ones that might be relevant (i.e. their
index may contain an INT-only variable, which is >wrong<). Example appearances:<o:p></o:p></p>
<p>$json(http_body/$var(tag))<br>
$json(http_body/users[0]/$avp(username))<o:p></o:p></p>
<p>Best regards,<o:p></o:p></p>
<pre>Liviu Chircu<o:p></o:p></pre>
<pre>OpenSIPS Developer<o:p></o:p></pre>
<pre><a href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><o:p></o:p></pre>
<div>
<p class="MsoNormal">On 24.01.2019 01:37, Ben Newlin wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="font-size:11.0pt">Liviu,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Thank you for the quick response. I do see 2 such errors shortly after startup:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">:core:pv_get_param: cannot
get spec value</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">:core:pv_get_param: cannot
get spec value</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">However, after that it just continues on with more of the same errors that keep scrolling. There is a variation of the scrolling errors that was I didn’t included before, in case it helps:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">:core:comp_scriptvar: cannot
get left var value</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">WARNING:core:do_action:
</span><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">error</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif"> in expression at opensips.cfg:583</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">:json:expand_tag_list: Non
string value in key</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">:json:pv_set_json: Cannot
expand variables in path</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">:core:do_assign: setting
PV failed</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">:core:do_assign:
</span><span style="font-size:9.0pt;font-family:"Courier New ;color:#F54E25",serif">error</span><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif"> at opensips.cfg:346</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:8.5pt;font-family:"Courier New ;color:#333333",serif">ALERT:core:pv_get_param: BUG: invalid parameter type 1836017711</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">There aren’t any other non-repeating errors. I have picked up your commit and will try to gather more information from it, but this issue is primarily happening in our production environment so it may take
a bit.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Also, I haven’t completely verified this yet, but it seems that enabling TLS has made the errors stop somehow. Continuing to investigate that.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Ben Newlin </span>
<o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><span style="color:black">Users
<a href="mailto:users-bounces@lists.opensips.org"><users-bounces@lists.opensips.org></a> on behalf of Liviu Chircu
<a href="mailto:liviu@opensips.org"><liviu@opensips.org></a><br>
<b>Reply-To: </b>OpenSIPS users mailling list <a href="mailto:users@lists.opensips.org">
<users@lists.opensips.org></a><br>
<b>Date: </b>Tuesday, January 22, 2019 at 6:08 PM<br>
<b>To: </b><a href="mailto:users@lists.opensips.org">"users@lists.opensips.org"</a>
<a href="mailto:users@lists.opensips.org"><users@lists.opensips.org></a><br>
<b>Subject: </b>Re: [OpenSIPS-Users] Invalid parameter errors</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
</div>
<p><tt><span style="font-size:10.0pt">Hi, Ben!</span></tt><o:p></o:p></p>
<p><tt><span style="font-size:10.0pt">The strange "...type 1836017711" errors seem to be caused by a poorly handed error condition (a secondary bug), which is now fixed [1]. If this theory holds, you must have a "cannot get spec value" error (or slew of errors)
in the earlier section of your OpenSIPS log (possibly right after restart or shortly after starting to process traffic).</span></tt><o:p></o:p></p>
<p><tt><span style="font-size:10.0pt">Could you please confirm/infirm the above? If true, are there any other relevant errors thrown around that initial "cannot get spec value" error message? Those error logs could be key to making progress in understanding
the main bug.</span></tt><o:p></o:p></p>
<p><tt><span style="font-size:10.0pt">Best regards,</span></tt><o:p></o:p></p>
<p><tt><span style="font-size:10.0pt">[1]: <a href="https://github.com/OpenSIPS/opensips/commit/52ff74af8702a">
https://github.com/OpenSIPS/opensips/commit/52ff74af8702a</a></span></tt><o:p></o:p></p>
<pre>Liviu Chircu<o:p></o:p></pre>
<pre>OpenSIPS Developer<o:p></o:p></pre>
<pre><a href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><o:p></o:p></pre>
<div>
<p class="MsoNormal">On 22.01.2019 20:58, Ben Newlin wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Hi,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"> </span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:11.0pt;color:black">Since upgrading to 2.4.4 we are seeing the following logs scrolling nearly continuously on our servers:<br>
<br>
<br>
<br>
<br>
</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:8.5pt;font-family:"Courier New"">ALERT:core:pv_get_param: BUG: invalid parameter type 1836017711</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New"">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New"">:core:comp_scriptvar: cannot get left var value</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:8.5pt;font-family:"Courier New"">WARNING:core:do_action:
</span><span style="font-size:9.0pt;font-family:"Courier New"">error</span><span style="font-size:8.5pt;font-family:"Courier New""> in expression at opensips.cfg:583</span><span style="font-size:10.0pt;color:black"><br>
</span><span style="font-size:8.5pt;font-family:"Courier New"">ALERT:core:pv_get_param: BUG: invalid parameter type 1836017711</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New"">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New"">:core:comp_scriptvar: cannot get left var value</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:8.5pt;font-family:"Courier New"">WARNING:core:do_action:
</span><span style="font-size:9.0pt;font-family:"Courier New"">error</span><span style="font-size:8.5pt;font-family:"Courier New""> in expression at opensips.cfg:583</span><span style="font-size:10.0pt;color:black"><br>
</span><span style="font-size:8.5pt;font-family:"Courier New"">ALERT:core:pv_get_param: BUG: invalid parameter type 1836017711</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New"">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New"">:core:comp_scriptvar: cannot get left var value</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:8.5pt;font-family:"Courier New"">ALERT:core:pv_get_param: BUG: invalid parameter type 1836017711</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:9.0pt;font-family:"Courier New"">ERROR</span><span style="font-size:8.5pt;font-family:"Courier New"">:core:comp_scriptvar: cannot get left var value</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:8.5pt;font-family:"Courier New"">WARNING:core:do_action:
</span><span style="font-size:9.0pt;font-family:"Courier New"">error</span><span style="font-size:8.5pt;font-family:"Courier New""> in expression at opensips.cfg:439</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height:11.25pt;background:white"><span style="font-size:8.5pt;font-family:"Courier New""> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">It seems to be related to our use of the json module. We often pass json variable types as parameters to other routes and I believe the errors are caused by that. But it’s hard to say as there
are a few different script lines referenced in the errors, but some of them point to return statements and other code sections that don’t really make sense. For example, line 583 referenced in the error above is:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:8.5pt;font-family:"Courier New""> return(-1);</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Any ideas?</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Ben Newlin </span>
<o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><br>
<br>
<br>
</span><o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Users mailing list<o:p></o:p></pre>
<pre><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><o:p></o:p></pre>
<pre><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span style="font-size:11.0pt"><br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Users mailing list<o:p></o:p></pre>
<pre><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><o:p></o:p></pre>
<pre><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></pre>
</blockquote>
</div>
</body>
</html>