Closed
Description
On Windows 7, Julia v0.6.0, FileIO v0.5.2, JLD2 0.0.4.
using FileIO, JLD2
N = 10^4
M = 10^4
a = rand(Float32, N, M)
b = rand(Float32, N, M)
c = rand(Float32, N, M)
d = rand(Float32, N, M)
e = rand(Float32, N, M)
f = rand(Float32, N, M)
save("test_foo.jld2", Dict("a" => a, "b" => b, "c" => c, "d" => d, "e" => e, "f" => f))
gives
Error encountered while saving "test_foo.jld2".
Fatal error:
ERROR: SystemError: truncate: Invalid argument
Stacktrace:
[1] #systemerror#44 at .\error.jl:64 [inlined]
[2] systemerror(::String, ::Bool) at .\error.jl:64
[3] truncate(::IOStream, ::Int64) at .\iostream.jl:43
[4] truncate_and_close(::JLD2.MmapIO, ::Int64) at C:\Users\jj\.julia\v0.6\
JLD2\src\mmapio.jl:164
[5] close(::JLD2.JLDFile{JLD2.MmapIO}) at C:\Users\jj\.julia\v0.6\JLD2\src
\JLD2.jl:364
[6] #jldopen#29(::Array{Any,1}, ::Function, ::JLD2.##35#36{Dict{String,Array{Fl
oat32,2}}}, ::String, ::Vararg{String,N} where N) at C:\Users\jj\.julia\v0.
6\JLD2\src\loadsave.jl:6
[7] #save#34(::Array{Any,1}, ::Function, ::FileIO.File{FileIO.DataFormat{:JLD2}
}, ::Dict{String,Array{Float32,2}}) at C:\Users\jj\.julia\v0.6\JLD2\src\loa
dsave.jl:85
[8] save(::FileIO.File{FileIO.DataFormat{:JLD2}}, ::Dict{String,Array{Float32,2
}}) at C:\Users\jj\.julia\v0.6\JLD2\src\loadsave.jl:85
[9] eval(::Module, ::Any) at .\boot.jl:235
[10] #save#21(::Array{Any,1}, ::Function, ::FileIO.File{FileIO.DataFormat{:JLD2
}}, ::Dict{String,Array{Float32,2}}, ::Vararg{Dict{String,Array{Float32,2}},N} w
here N) at C:\Users\jj\.julia\v0.6\FileIO\src\loadsave.jl:115
[11] save(::FileIO.File{FileIO.DataFormat{:JLD2}}, ::Dict{String,Array{Float32,
2}}) at C:\Users\jj\.julia\v0.6\FileIO\src\loadsave.jl:106
[12] #save#14(::Array{Any,1}, ::Function, ::String, ::Dict{String,Array{Float32
,2}}, ::Vararg{Dict{String,Array{Float32,2}},N} where N) at C:\Users\jj\.ju
lia\v0.6\FileIO\src\loadsave.jl:61
[13] save(::String, ::Dict{String,Array{Float32,2}}) at C:\Users\jj\.julia
\v0.6\FileIO\src\loadsave.jl:61
If N and M are chosen smaller (<2GB), saving works.