-
Notifications
You must be signed in to change notification settings - Fork 12
Description
I’m opening this issue to track the problem with Stream2 when using BS-LZ4 and Decompress=0.
I’m able to reproduce the failure consistently. When starting a capture with Stream2 + BS-LZ4 (single threshold), NDFileHDF5 immediately reports:
NDPluginFile::doCapture: ERROR, must collect an array to get dimensions first
NDFileHDF5Dataset::writeFile ERROR Unable to write pre-compressed data - mismatched chunk definition
NDFileHDF5::writeFile ERROR: could not write to dataset. Aborting
NDPluginFile::writeFileBase Error writing file, status=3
If I press Start Capture again, the IOC crashes with:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Compression filters (bitshuffle/LZ4) are installed, and HDF5_PLUGIN_PATH is set correctly, so it appears to be related to how Stream2 delivers the compressed data.
@MarkRivers mentioned that Stream2 may not work with pre-compressed data because plugins expect the full [NX, NY, NTHRESHOLDS] block to be compressed as a single chunk, while Dectris sends each threshold image separately.
I’ll test the regular Stream interface tomorrow as a workaround and report back with results.