-
Notifications
You must be signed in to change notification settings - Fork 250
Open
Description
https://zenodo.org/records/17406102 includes an .ims file that cannot be read with 8.3.0:
$ showinf -no-upgrade tmp.ims
Checking file format [Bitplane Imaris 5.5 (HDF)]
Initializing reader
ImarisHDFReader initializing tmp.ims
Exception in thread "main" java.io.IOException: java.io.EOFException: Reading tmp.ims at 4776428349165719766 file length = 4776428349165719766
at ucar.nc2.NetcdfFiles.open(NetcdfFiles.java:281)
at ucar.nc2.NetcdfFiles.open(NetcdfFiles.java:245)
at ucar.nc2.NetcdfFiles.open(NetcdfFiles.java:218)
at loci.formats.services.NetCDFServiceImpl.init(NetCDFServiceImpl.java:311)
at loci.formats.services.NetCDFServiceImpl.setFile(NetCDFServiceImpl.java:104)
at loci.formats.in.ImarisHDFReader.initFile(ImarisHDFReader.java:260)
at loci.formats.FormatReader.setId(FormatReader.java:1480)
at loci.formats.ImageReader.setId(ImageReader.java:864)
at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:692)
at loci.formats.tools.ImageInfo.testRead(ImageInfo.java:1054)
at loci.formats.tools.ImageInfo.main(ImageInfo.java:1165)
Caused by: java.io.EOFException: Reading tmp.ims at 4776428349165719766 file length = 4776428349165719766
at ucar.unidata.io.RandomAccessFile.readFully(RandomAccessFile.java:840)
at ucar.unidata.io.RandomAccessFile.readFully(RandomAccessFile.java:819)
at ucar.unidata.io.RandomAccessFile.readString(RandomAccessFile.java:1564)
at ucar.unidata.io.RandomAccessFile.readString(RandomAccessFile.java:1550)
at ucar.nc2.iosp.hdf5.FractalHeap.readIndirectBlock(FractalHeap.java:456)
at ucar.nc2.iosp.hdf5.FractalHeap.readIndirectBlock(FractalHeap.java:517)
at ucar.nc2.iosp.hdf5.FractalHeap.<init>(FractalHeap.java:192)
at ucar.nc2.internal.iosp.hdf5.H5objects$DataObject.processAttributeInfoMessage(H5objects.java:423)
at ucar.nc2.internal.iosp.hdf5.H5objects$DataObject.<init>(H5objects.java:407)
at ucar.nc2.internal.iosp.hdf5.H5objects$DataObject.<init>(H5objects.java:238)
at ucar.nc2.internal.iosp.hdf5.H5objects.readDataObject(H5objects.java:235)
at ucar.nc2.internal.iosp.hdf5.H5headerNew.getDataObject(H5headerNew.java:2265)
at ucar.nc2.internal.iosp.hdf5.H5objects$DataObjectFacade.<init>(H5objects.java:108)
at ucar.nc2.internal.iosp.hdf5.H5objects.readGroupNew(H5objects.java:2154)
at ucar.nc2.internal.iosp.hdf5.H5objects.access$700(H5objects.java:27)
at ucar.nc2.internal.iosp.hdf5.H5objects$H5Group.<init>(H5objects.java:200)
at ucar.nc2.internal.iosp.hdf5.H5objects$H5Group.<init>(H5objects.java:158)
at ucar.nc2.internal.iosp.hdf5.H5objects.readH5Group(H5objects.java:155)
at ucar.nc2.internal.iosp.hdf5.H5headerNew.makeNetcdfGroup(H5headerNew.java:524)
at ucar.nc2.internal.iosp.hdf5.H5headerNew.read(H5headerNew.java:254)
at ucar.nc2.internal.iosp.hdf5.H5iospNew.build(H5iospNew.java:126)
at ucar.nc2.NetcdfFiles.build(NetcdfFiles.java:835)
at ucar.nc2.NetcdfFiles.open(NetcdfFiles.java:770)
at ucar.nc2.NetcdfFiles.open(NetcdfFiles.java:278)
... 10 more
That initially looks like the file may be truncated, but other tools (e.g. h5dump/h5ls) can read it just fine. Upgrading cdm-core from 5.6.0 to 5.9.1 did not fix this, and I don't see any relevant open issues in https://github.com/Unidata/netcdf-java/issues. Given the stack trace, I'd suspect this is an issue somewhere in netcdf-java. A next step would be to try reading with JHDF, and/or investigate a bit further then report upstream on netcdf-java.
Metadata
Metadata
Assignees
Labels
No labels