I'm having some trouble loading saved data, and I haven't had any luck in
looking for solutions online. I've reduced the code to as short of an
example as I could:
using HDF5, JLD
type Test
values::Vector{Integer}
end
x = Test([])
@save "test.jld" x
@load "test.jld" x
When I run the above code, I get the following error:
Error dereferencing object
while loading In[1], in expression starting on line 9
in h5r_dereference at /home/zroth/.julia/HDF5/src/plain.jl:1673
in getindex at /home/zroth/.julia/HDF5/src/jld.jl:178
in getrefs at /home/zroth/.julia/HDF5/src/jld.jl:413
in read at /home/zroth/.julia/HDF5/src/jld.jl:344
in read at /home/zroth/.julia/HDF5/src/jld.jl:220
in getrefs at /home/zroth/.julia/HDF5/src/jld.jl:415
in read at /home/zroth/.julia/HDF5/src/jld.jl:384
in read at /home/zroth/.julia/HDF5/src/jld.jl:220
in read at /home/zroth/.julia/HDF5/src/jld.jl:209
in anonymous at no file
HDF5-DIAG: Error detected in HDF5 (1.8.4-patch1) thread 139795549558592:
#000: ../../../src/H5R.c line 533 in H5Rdereference(): unable dereference
object
major: References
minor: Unable to initialize object
#001: ../../../src/H5R.c line 419 in H5R_dereference(): dereferencing deleted
object
major: References
minor: Bad object header link count
#002: ../../../src/H5O.c line 1542 in H5O_link(): unable to load object header
major: Object header
minor: Unable to load metadata into cache
#003: ../../../src/H5AC.c line 1831 in H5AC_protect(): H5C_protect() failed.
major: Object cache
minor: Unable to protect metadata
#004: ../../../src/H5C.c line 6160 in H5C_protect(): can't load entry
major: Object cache
minor: Unable to load metadata into cache
#005: ../../../src/H5C.c line 10990 in H5C_load_entry(): unable to load entry
major: Object cache
minor: Unable to load metadata into cache
#006: ../../../src/H5Ocache.c line 154 in H5O_load(): unable to read object
header
major: Object header
minor: Read failed
#007: ../../../src/H5Fio.c line 113 in H5F_block_read(): read from metadata
accumulator failed
major: Low-level I/O
minor: Read failed
#008: ../../../src/H5Faccum.c line 196 in H5F_accum_read(): driver read
request failed
major: Low-level I/O
minor: Read failed
#009: ../../../src/H5FDint.c line 142 in H5FD_read(): driver read request
failed
major: Virtual File Layer
minor: Read failed
#010: ../../../src/H5FDsec2.c line 739 in H5FD_sec2_read(): addr overflow
major: Invalid arguments to routine
minor: Address overflowed
The problem only seems to occur when [] is passed to Test; for example,
saving the output of Test([1:4]) works just fine for me. (For the record,
I am working with real data that will sometimes be empty; it took me a
while to track down that empty vectors were causing the problem.) And from
what I can tell, the resultant file doesn't seem to be corrupted. If
somebody can help me out, I'd greatly appreciate it.