Public bug reported:

Files written by older HDF5 versions, which read fine with hdf5 1.14.6, fail to 
read with hdf5
2.2.0 in stonking. Every affected read fails with:

```
HDF5-DIAG: Error detected in HDF5 (2.2.0) thread 1:
[...]
#006: ./src/H5Dchunk.c line 3142 in H5D__chunk_read(): unable to lock raw data 
chunk
#007: ./src/H5Dchunk.c line 4856 in H5D__chunk_lock(): chunk size is incorrect 
after being
unfiltered
major: Dataset
minor: Bad value
```

I first hit this through the uncalled autopkgtest. uncalled 2.3+ds-3ubuntu1 in 
stonking-proposed
builds fine, but its run-unit-test regression fails on every architecture 
tested, so its
migration out of proposed is blocked:

https://autopkgtest.ubuntu.com/results/autopkgtest-stonking/stonking/amd64v3/u/uncalled/20260922_
225035_d1f10@/log.gz

The test data is an older fast5 file shipped in the uncalled source package. I 
checked it
directly: the dataset is chunked with a compression filter, the single chunk is 
partial, and the
writer stored the compressed stream of the valid data only, not of the whole 
chunk buffer. That
is the pattern older writers produced, and 1.14.6 reads it without complaint.

HDF5 2.2.0 added a check in H5D__chunk_lock (src/H5Dchunk.c line 4856 in the 
released source)
that requires the unfiltered chunk to come back at exactly the full chunk size. 
For these older
files it comes back smaller, so the read is rejected. The check is listed in 
the 2.2.0 changelog
under "Added checks for data filter behavior".

Reproducer: any program that opens one of these files read-only and reads the 
dataset triggers
the error. I reproduced it with a build of the 2.2.0 release tarball; the same 
program linked
against 1.14.6 succeeds.

Scope: any stonking program that reads older HDF5 files with the same 
partial-chunk layout. This
is a runtime regression: build and link work fine, and all architectures are 
affected.

Migration impact: until hdf5 is fixed, every package whose tests or users read 
older HDF5 files
will regress on autopkgtest or at runtime. uncalled is blocked in 
stonking-proposed right now.

Upstream and Debian will likely hit the same issue. Upstream does not report 
dropping support
for those legacy files in release notes so this might be an unintended 
side-effect.

** Affects: hdf5 (Ubuntu)
     Importance: Undecided
     Assignee: Valentin Haudiquet (vhaudiquet)
         Status: In Progress

** Affects: uncalled (Ubuntu)
     Importance: Undecided
         Status: Invalid

** Also affects: uncalled (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: uncalled (Ubuntu)
       Status: New => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2168435

Title:
  hdf5 2.2.0 fails to read legacy fast5 files: chunk size is incorrect
  after being unfiltered

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/hdf5/+bug/2168435/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to