Well, I've gotta say that you guys have been doing a great job finding what seem to be some very subtle bugs!  In recognition of that - here is yet another that I've found!

I've only tested the following so far on OS X - there is some similarity with my previous problem getting Unsupported types, so I wonder if they are related.  I've also only checked pytables 1.3.

I can load a certain hdf5 file just fine, and can use trMap translation for some of the node names.  But, if I include certain mappings, I get what sound like very serious errors - including HDF5  sometimes (1.6.5) claiming that it's found an internal error in itself (though seemingly only for certain datasets).  I include one error log below.

The problem seems to be contingent upon mapping the name of a node, and then mapping a name for something that is a child of a renamed node.  A simple example is if you have a file with a nested group structure including '/minc-2.0/image'.

# Works fine
h = tables.openFile('pyramid2.mnc', trMap={'minc20': 'minc-2.0'})

# Claims that the renamed image dir is unsupported
h = tables.openFile('pyramid2.mnc', trMap={'minc20': 'minc-2.0', 'im': 'image'})

This is not a huge problem.  I can get the functionality I need using getNode.  But, I'm using a published standard (minc 2.0) which requires a number of naming conventions which are not valid python tokens (the 'im': 'image' example above is not, obviously, an example of this - but I have other nodes with names like '0' and 'image-min').  I expect others may need to deal with this kind of issue at some point.

I think this should be straightforward to replicate on any file, but if you want an example, let me know and I'll send it.  I'll also do some poking around to see if I get this on other systems / versions at some point if you don't fix the problem first.

Cheers!
Dav Clark
917-544-8408

Example scary error messages:

In [11]: h = tables.openFile('pyramid2.mnc', trMap={'minc20': 'minc-2.0', 'zero': '0', 'image_min': 'image-min', 'image_max': 'image-max'})

In [12]: h
HDF5-DIAG: Error detected in HDF5 library version: 1.6.5 thread 0.  Back trace follows.
  #000: H5D.c line 1146 in H5Dopen(): not found
    major(15): Dataset interface
    minor(48): Object not found
  #001: H5G.c line 2296 in H5G_find(): object not found
    major(10): Symbol table layer
    minor(48): Object not found
  #002: H5G.c line 1495 in H5G_namei(): component not found
    major(10): Symbol table layer
    minor(48): Object not found
  #003: H5Gstab.c line 164 in H5G_stab_find(): not found
    major(10): Symbol table layer
    minor(48): Object not found
HDF5-DIAG: Error detected in HDF5 library version: 1.6.5 thread 0.  Back trace follows.
  #000: H5T.c line 1538 in H5Tclose(): not a data type
    major(01): Function arguments
    minor(03): Inappropriate type
HDF5-DIAG: Error detected in HDF5 library version: 1.6.5 thread 0.  Back trace follows.
  #000: H5D.c line 1207 in H5Dclose(): not a dataset
    major(01): Function arguments
    minor(03): Inappropriate type
tables/Group.py:292: UserWarning: leaf ``/minc20/image/zero/image_max`` is of an unsupported type; it will become an ``UnImplemented`` node
tables/Group.py:396: UserWarning: problems loading leaf ``/minc20/image/zero/image_max``::

  tuple index out of range

The leaf will become an ``UnImplemented`` node.

Reply via email to