Apollo3zehn / PureHDF

A pure .NET library that makes reading and writing of HDF5 files (groups, datasets, attributes, ...) very easy.
MIT License
47 stars 16 forks source link

Blosc decompression error at compression level 0 #74

Closed marklam closed 2 months ago

marklam commented 2 months ago

Doesn't happen with the default compression level (at least on this chunk configuration).

I've created a branch with a repro case in it in case it's specific to the chunk sizes or data type etc.

https://github.com/marklam/Roundtrip3DArrayOfStructList/tree/blosc

System.Reflection.TargetInvocationException
  HResult=0x80131604
  Message=Exception has been thrown by the target of an invocation.
  Source=System.Private.CoreLib
  StackTrace:
   at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) in /_/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBaseInvoker.cs:line 272
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) in /_/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBase.cs:line 56
   at PureHDF.VOL.Native.NativeDataset.Read[T](Selection fileSelection, Selection memorySelection, UInt64[] memoryDims, H5DatasetAccess datasetAccess) in /home/runner/work/PureHDF/PureHDF/src/PureHDF/VOL/Native/API.Reading/NativeDataset.cs:line 203
   at PureHDF.VOL.Native.NativeDataset.Read[T](Selection fileSelection, Selection memorySelection, UInt64[] memoryDims) in /home/runner/work/PureHDF/PureHDF/src/PureHDF/VOL/Native/API.Reading/NativeDataset.cs:line 161
   at Program.initializer@1-4(Int32 i, Int32 j) in C:\Users\markl\source\repos\ConsolePureHDFroundtrip\ConsolePureHDFroundtrip\Program.fs:line 95
   at Program.initializer@1-3(Int32 i) in C:\Users\markl\source\repos\ConsolePureHDFroundtrip\ConsolePureHDFroundtrip\Program.fs:line 90
   at <StartupCode$ConsolePureHDFroundtrip>.$Program.main@() in C:\Users\markl\source\repos\ConsolePureHDFroundtrip\ConsolePureHDFroundtrip\Program.fs:line 87

  This exception was originally thrown at this call stack:
    PureHDF.Filters.Blosc2Filter.Filter(PureHDF.Filters.FilterInfo) in Blosc2Filter.cs
    PureHDF.Filters.H5Filter.ExecutePipeline(PureHDF.VOL.Native.FilterDescription[], uint, PureHDF.Filters.H5FilterFlags, int, System.Memory<byte>) in H5Filter.cs

Inner Exception 1:
Exception: Filter pipeline failed.

Inner Exception 2:
Exception: Blosc decompression error.
Apollo3zehn commented 2 months ago

Thank you, I`ll try to investigate this and your other issue today evening

Apollo3zehn commented 2 months ago

It should work now with version 1.0.0-beta.12 (for both dependencies, PureHDF and PureHDF.Filters.Blosc2) :-)

There were two bugs:

marklam commented 2 months ago

Thanks, that no longer crashes.