h5py can't load from a fileobj, so if you try read the signature from a fileobj, find the signature and then try to open that file object with h5py it crashes later.  I hadn't thought about the case where it has a different file extension -- in that case I guess we can open the path, but then we need a way to flag to the identification framework that we want to open the file by path, not by fileobj.  This is all rather messy...  perhaps I'll have to do that planned refactoring sooner rather than later.