Apparently octave does not handle the datatype H5T_STRING. While Matlab properly parses the hdf5 file, octave fails with a segfault. The h5dump of the file is: HDF5 "file.hdf5" { GROUP "/" { GROUP "MatrixA" { DATASET "columnlabels" { DATATYPE H5T_STRING { STRSIZE 6; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SIMPLE { ( 1, 3 ) / ( 1, 3 ) } DATA { (0,0): "col_0", "col_1", "col_2" } } DATASET "data" { DATATYPE H5T_IEEE_F64LE DATASPACE SIMPLE { ( 3, 3 ) / ( 3, 3 ) } DATA { (0,0): 1, 4, 7, (1,0): 2, 5, 8, (2,0): 3, 6, 9 } } DATASET "rowlabels" { DATATYPE H5T_STRING { STRSIZE 6; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SIMPLE { ( 1, 3 ) / ( 1, 3 ) } DATA { (0,0): "row_0", "row_1", "row_2" } } } } } Reproducible: Always Steps to Reproduce: 1. run octave 2. load('-hdf5', 'file.hdf5')
Created attachment 215372 [details] This HDF5 file crashes octave
Hi, It does not seem Gentoo related, I checked octave-3.2.3 on other Linux boxes and it segfaults as well. Could you report your bug upstream? Thanks.
(In reply to comment #2) > It does not seem Gentoo related, I checked octave-3.2.3 on other Linux boxes > and it segfaults as well. Could you report your bug upstream? > Thanks. There is a response from upstream on twin debian bug ( http://bugs.debian.org/565216 ). In short octave is not supposed to read HDF5 files not created by itself in a first place.
Thanks for your response. Since nobody from the octave staff seems to care about this apparent bug, I propose to disable the HDF5 flag from octave until this issue is cleared.
Fixed in 3.2.4-r1.