While trying to open an arbitrary HDF5 file via n5-viewer, I received the following error:
[ERROR] Error encountered during metadata parsing
java.util.concurrent.ExecutionException: ncsa.hdf.hdf5lib.exceptions.HDF5DatasetInterfaceException: Dataset:Inappropriate type ["..\..\src\H5D.c line 365 in H5Dopen2(): not a dataset
"]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.janelia.saalfeldlab.n5.N5DatasetDiscoverer.parseMetadataRecursive(N5DatasetDiscoverer.java:510)
at org.janelia.saalfeldlab.n5.ui.DatasetSelectorDialog.lambda$openContainer$16(DatasetSelectorDialog.java:657)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: ncsa.hdf.hdf5lib.exceptions.HDF5DatasetInterfaceException: Dataset:Inappropriate type ["..\..\src\H5D.c line 365 in H5Dopen2(): not a dataset
"]
at ch.systemsx.cisd.hdf5.hdf5lib.H5.H5Dopen(Native Method)
at ch.systemsx.cisd.hdf5.hdf5lib.H5D.H5Dopen(H5D.java:78)
at ch.systemsx.cisd.hdf5.HDF5.openDataSet(HDF5.java:755)
at ch.systemsx.cisd.hdf5.HDF5BaseReader$2.call(HDF5BaseReader.java:830)
at ch.systemsx.cisd.hdf5.HDF5BaseReader$2.call(HDF5BaseReader.java:1)
at ch.systemsx.cisd.hdf5.cleanup.CleanUpCallable.call(CleanUpCallable.java:40)
at ch.systemsx.cisd.hdf5.HDF5BaseReader.getDataSetInformation(HDF5BaseReader.java:854)
at ch.systemsx.cisd.hdf5.HDF5ObjectReadOnlyInfoProviderHandler.getDataSetInformation(HDF5ObjectReadOnlyInfoProviderHandler.java:319)
at ch.systemsx.cisd.hdf5.HDF5ObjectReadOnlyInfoProviderHandler.getDataSetInformation(HDF5ObjectReadOnlyInfoProviderHandler.java:310)
at ch.systemsx.cisd.hdf5.HDF5ObjectReadOnlyInfoProviderHandler.getDataSetInformation(HDF5ObjectReadOnlyInfoProviderHandler.java:303)
at org.janelia.saalfeldlab.n5.hdf5.N5HDF5Reader.getDatasetAttributes(N5HDF5Reader.java:643)
at org.janelia.saalfeldlab.n5.metadata.canonical.CanonicalMetadataParser.parseMetadata(CanonicalMetadataParser.java:111)
at org.janelia.saalfeldlab.n5.metadata.N5MetadataParser.apply(N5MetadataParser.java:84)
at org.janelia.saalfeldlab.n5.N5DatasetDiscoverer.parseMetadata(N5DatasetDiscoverer.java:293)
at org.janelia.saalfeldlab.n5.N5DatasetDiscoverer.parseMetadataRecursive(N5DatasetDiscoverer.java:518)
at org.janelia.saalfeldlab.n5.N5DatasetDiscoverer.lambda$parseMetadataRecursive$5(N5DatasetDiscoverer.java:496)
... 5 common frames omitted
While trying to parse a HDF5 node tree, we appear to be trying to open a HDF5 group as a HDF5 dataset.
The fix is likely similar to 34150ce . We should also intercept HDF5DatasetInterfaceException and HDF5AttributeInterfaceException and rethrow them as IOException.
xref: https://forum.image.sc/t/length-is-too-large-error-in-imagej/62952/8?u=markkitt
While trying to open an arbitrary HDF5 file via n5-viewer, I received the following error:
While trying to parse a HDF5 node tree, we appear to be trying to open a HDF5 group as a HDF5 dataset.
The fix is likely similar to 34150ce . We should also intercept
HDF5DatasetInterfaceExceptionandHDF5AttributeInterfaceExceptionand rethrow them asIOException.xref: https://forum.image.sc/t/length-is-too-large-error-in-imagej/62952/8?u=markkitt