resources

May 21, 2014 – Advisory: Calculation Error in InterSystems Optimization (Itanium Platforms only)

InterSystems has corrected a defect that causes incorrect calculation on Itanium platforms. The defect is present in InterSystems assembly optimizations targeted to Itanium platforms.

This defect is present on all currently released versions of Caché, Ensemble, and HealthShare. It is limited to Itanium platforms.

Specifically, the problem can occur when adding to a local or global variable that has the value 2147483647 (that is, 2**31-1). The problem does not occur for every such operation but depends on preceding activity. See the following example:

>set test=2147483646
>write test set test=test+1
2147483646
>write test set test=test+1
2147483647
>write test
6917529029788565504

Furthermore, it is adding to the value that fails so even an operation such as

>if test+1>xyz …

may experience the failure.

The correction for this defect is identified as JLC1792 and will be included in upcoming release 2014.1.2 of Caché, Ensemble, and HealthShare. It is also available via Ad Hoc distribution from InterSystems Worldwide Response Center (WRC). If you have any questions regarding this advisory, please contact the Worldwide Response Center.