Closed BioTurboNick closed 1 year ago
@JonasIsensee - if you wouldn't mind taking a look? Fix may be as simple as modifying DataLayout
.
I don't quite recall why I decided to use UInt32 there. I made the change in #452. Could you please test if this solves the problem for you?
This error can only ever occur if you're trying to read arrays with more than typemax(UInt32)
elements in one direction.
(is that what you were trying?)
I wasn't deliberately trying to save that much, but I'm not too surprised that our workflow sometimes produces an array that big.
I had brute-forced a patch by overwriting methods to accept the modified DataLayout struct, which worked. So I'll assume it is fixed and report back if not. Thanks!
Quite a long stacktrace here.
Possibly relevant, I'm using CodecBzip2 for compression, so there may be a relation of some sort to #399 ?
I guess the proximate cause is trying to copy from a
Vector{UInt64}
to aVector{UInt32}
.Maybe
chunk_dimensions
is the culprit injlread
?https://github.com/JuliaIO/JLD2.jl/blob/5cda06dc2b5816097d0095f8dc92a84c77906338/src/object_headers.jl#L440
Looks like
read_nb_uint
returns aUInt64
, makingchunk_dimensions
aUInt64
array.So is the solution just to change
DataLayout
to havechunk_dimensions::Vector{UInt64}
?