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.

Reply via email to