Hang, when reading VDS if mismatch between source and virtualsource shapes

Using:
Operating System: Debian9
Python version: 2.7.13
Where Python was acquired: conda environment
h5py version: 2.9.0
HDF5 version: 1.10.4

If a mismatch exist between source and virtualsource shapes, at the VDS creation, and then we try to read the virtual dataset, h5py is hanging. It should be good if an exception existed when trying to read a VDS that was incorrectly created, with source shape and virtualsource shape not matching.

The hang can be reproduced with the following python script:
source_smallerthan_vs.txt (1.1 KB)

This script creates a VDS, with source datasets of shape 2x2; and it is indicated that the virtual sources would have a shape of 3x3.

Then we try to read a slice from the VDS, and it hangs:
img = fd[‘dataset’][0]

This is also observed with programs that try to read the same VDS (e.g. silx).

I have also reported this bug in h5py (Hang, when reading VDS if mismatch between source and virtualsource shapes · Issue #1218 · h5py/h5py · GitHub), but as it is a hang, most probably it is coming from the underlying libhdf5 C library; as it is suggested by experts of h5py library.