[fitsbits] Important notice to CFITSIO users
William Pence
William.Pence at nasa.gov
Tue Feb 9 15:53:07 EST 2016
Important notice to users of the CFITSIO library.
================================================
It has recently been discovered that in some limited cases CFITSIO may
incorrectly read FITS data files when the CFITSIO library is compiled
using v15.0 or v16.0 of the Intel C++ compilers. This problem appears
to be the result by a particular loop optimization technique used by
these compilers (at the -O2 or -O3 optimization level) that causes a
critical 'for' loop in CFITSIO to not be executed in strict sequential
order. This has the side effect of corrupting some of the data values
that are being read from the FITS file. Note that this 'for' loop is
only used when reading 32-bit integer values from a FITS image with
BITPIX = 32 or from a FITS binary table column with TFORMn = 'J'.
Reading other data types is unaffected, as is the writing of all types
of data.
At this time, only the Intel compilers are known to cause this problem,
and most other commonly used C or C++ compilers produce correct code.
One can determine whether the CFITSIO library on a particular system is
affected by this problem by comparing the output of the testprog.c
program that is distributed with CFITSIO with the testprog.out text
file. If there are no differences, then CFITSIO is working correctly.
A new 3.38 version of CFITSIO is now available at
http://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html
which fixes the underlying cause of this problem. It is highly
recommended that all users of any previous version of CFITSIO upgrade to
this new version at their earliest convenience. Besides fixing this
problem when using the Intel compiler, it also safeguards users in the
event that new versions of other compilers adopt similar aggressive loop
optimization techniques.
If you have any further questions or concerns please contact me or the
HEASARC software support staff directly (and preferably not here on the
fitsbits email list).
-Bill Pence
More information about the fitsbits
mailing list