|Summary:||ASTERISK-18722: ast_expr2 reports "op_times: overflow" on some calculations, though the number is calculated correctly.|
|Reporter:||Ian Anderson (seadweller)||Labels:|
|Date Opened:||2011-10-13 13:02:04||Date Closed:|
|Versions:||SVN 184.108.40.206 13.18.4||Frequency of|
|Environment:||CentOS 5.7 32 and 64 Bit||Attachments:|
|Description:||It seems when Asterisk 1.6.20 (may affect alter versions as the ast_expr2.y code looks same in SVN) does some multiplication (and I believe division) calculations, it will report an overflow error when checking the results.|
Eg. Set(test=$[((0.0046 * 30) / 20) + ((0.0046 * 1) / 10)])
results in Asterisk returning test=0.00736 (CORRECT) however this is seen in the console
[Oct 13 17:56:16] WARNING: ast_expr2.y:1458 op_times: overflow
It appears that when the chk_times is run (also may affect chk_div),the reversed calcuation doesn't equal (floating point issue?) and thus the warning is generated. Depending on the numbers in the calculation the error may or may not appear, but when it appears it is always reproducable with the same numbers.
|Comments:||By: Leif Madsen (lmadsen) 2011-11-01 07:58:48.734-0500|
Alternatively you may want to use the MATH() function here instead of doing it directly in dialplan. I will acknowledge this issue though.
By: Matt Jordan (mjordan) 2012-10-03 15:46:53.765-0500
Please be aware that AEL is an extended support module, and support for it typically comes from the Asterisk community. As such, response times may reflect that.