I'm using pytables (1.3beta2) with mod_python (3.2.8) to manage a brain
imaging data repository.
Right now I break things a lot, and I managed to corrupt a file such that
pytables cannot read it. Matlab, however, can read it.
I am very interested in best-practices for maintaining integrity of my files.
I was using the undo feature for this, but suspect this was part of the
corruption...
More details:
1) I have undo enabled on this file
2) Matlab 7.1 and 7.2 use HDF5 v1.6.2 and v1.6.4 (so far as I can tell), and
both can read the file
3) PyTables error claims 'HDF5-DIAG: Error detected in HDF5 library version:
1.6.5 thread 3086534336.' (full error message below my sig)
4) The file was created with (non-pytables) matlab/hdf5 and later updated /
modified with pytables - mostly copying groups from other hdf5 files
recursively.
5) There were occassions (though I'm not sure about the one right before the
corruption) where mod_python would bomb out and didn't execute a close on the
file that was opened with mode 'a'.
So, the problem may indeed be some strange bug with HDF5 1.6.5. It also may
be that I was using undo with a not-fully-pytables compliant file. Or, it
may simply be that I bombed out of a session where pytables had a file open
(with undo enabled) and didn't properly close it.
Any ideas? I'm not that concerned about fixing this file, but mostly about
ensuring that it doesn't happen when the system goes into production...
corruption of the central repository would be terrible!
Cheers,
--
Dav Clark
@Stanford / Wandell Lab
917-544-8408
))<>((
HDF5-DIAG: Error detected in HDF5 library version: 1.6.5 thread 3086534336.
Back trace follows.
#000: H5Dio.c line 499 in H5Dread(): can't read data
major(15): Dataset interface
minor(24): Read failed
#001: H5Dio.c line 756 in H5D_read(): can't read data
major(15): Dataset interface
minor(24): Read failed
#002: H5Dio.c line 1636 in H5D_chunk_read(): optimized read failed
major(15): Dataset interface
minor(24): Read failed
#003: H5Dselect.c line 510 in H5D_select_read(): read error
major(14): Dataspace interface
minor(24): Read failed
#004: H5Distore.c line 2025 in H5D_istore_readvv(): unable to read raw data
chunk
major(05): Low-level I/O layer
minor(24): Read failed
#005: H5Distore.c line 1612 in H5D_istore_lock(): data pipeline read failed
major(19): Data filters layer
minor(24): Read failed
#006: H5Z.c line 997 in H5Z_pipeline(): filter returned failure during read
major(19): Data filters layer
minor(24): Read failed
#007: H5Zdeflate.c line 113 in H5Z_filter_deflate(): inflate() failed
major(19): Data filters layer
minor(29): Unable to initialize object
---------------------------------------------------------------------------
tables.exceptions.HDF5ExtError Traceback (most
recent call last)
/orange/scr1/mrFile_testing/roi_test/<ipython console>
/usr/lib/python2.4/site-packages/tables/File.py in openFile(filename, mode,
title, trMap, rootUEP, filters, nodeCacheSize)
223 # Finally, create the File instance, and return it
224 return File(path, mode, title, trMap, rootUEP, filters,
--> 225 METADATA_CACHE_SIZE, nodeCacheSize)
226
227
/usr/lib/python2.4/site-packages/tables/File.py in __init__(self, filename,
mode, title, trMap, rootUEP, filters, metadataCacheSize, nodeCacheSize)
599 if not new and _transGroupPath in self:
600 # It does. Enable the undo.
--> 601 self.enableUndo()
602
603
/usr/lib/python2.4/site-packages/tables/File.py in enableUndo(self, filters)
1438 # Open the action log and go to the end of it
1439 self._actionlog = tgroup.actionlog
-> 1440 for row in self._actionlog:
1441 if row["opcode"] == _opToCode["MARK"]:
1442 name = row["arg2"]
/orange/scr1/mrFile_testing/roi_test/TableExtension.pyx in
TableExtension.Row.__next__()
/orange/scr1/mrFile_testing/roi_test/TableExtension.pyx in
TableExtension.Row.__next__general()
/orange/scr1/mrFile_testing/roi_test/TableExtension.pyx in
TableExtension.Row._read_records()
HDF5ExtError: Problems reading records.
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Pytables-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pytables-users