Details
-
Type:
Incident report
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.20, 2.0.11, 2.2.2
-
Fix Version/s: 2.3.0
-
Component/s: Server (S)
-
Labels:
Description
The following expression is evaluated incorrectly, yielding "false": 9*(1/9)=1.
The reason it happens is due to expression rewriting in function evaluate(). There 1/9 is evaluated first and the result is inserted into the original expression with 6 digits after the decimal point: 9*0.111111=1. This is further evaluated as 0.999999=1, which is false.