Skip to content

saving >2GB file on Windows 7 gives ERROR: SystemError: truncate: Invalid Argument #50

Closed
@jaakkor2

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.

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions