Closed gideonsimpson closed 2 years ago
Is JLD2 just completely broken in Julia 1.7? Trying the example off of the README.md:
README.md
julia> using JLD2 julia> save("example.jld2", Dict("hello" => "world", "foo" => :bar)) Error encountered while save File{DataFormat{:JLD2}, String}("example.jld2"). Fatal error: ERROR: type DataType has no field mutable Stacktrace: [1] getproperty @ ./Base.jl:37 [inlined] [2] ismutabletype(x::DataType) @ JLD2 ~/.julia/packages/JLD2/qncOK/src/datasets.jl:538 [3] write_dataset(f::JLD2.JLDFile{JLD2.MmapIO}, dataspace::JLD2.WriteDataspace{0, Tuple{}}, datatype::JLD2.BasicDatatype, odr::JLD2.FixedLengthString{String}, data::String, wsession::JLD2.JLDWriteSession{Dict{UInt64, JLD2.RelOffset}}) @ JLD2 ~/.julia/packages/JLD2/qncOK/src/datasets.jl:428 [4] write_dataset @ ~/.julia/packages/JLD2/qncOK/src/datasets.jl:542 [inlined] [5] write(g::JLD2.Group{JLD2.JLDFile{JLD2.MmapIO}}, name::String, obj::String, wsession::JLD2.JLDWriteSession{Dict{UInt64, JLD2.RelOffset}}) @ JLD2 ~/.julia/packages/JLD2/qncOK/src/groups.jl:119 [6] write(f::JLD2.JLDFile{JLD2.MmapIO}, name::String, obj::String, wsession::JLD2.JLDWriteSession{Dict{UInt64, JLD2.RelOffset}}) @ JLD2 ~/.julia/packages/JLD2/qncOK/src/JLD2.jl:347 [7] (::JLD2.var"#59#60"{Dict{String, Any}})(file::JLD2.JLDFile{JLD2.MmapIO}) @ JLD2 ~/.julia/packages/JLD2/qncOK/src/fileio.jl:11 [8] jldopen(::JLD2.var"#59#60"{Dict{String, Any}}, ::String, ::Vararg{String}; kws::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ JLD2 ~/.julia/packages/JLD2/qncOK/src/loadsave.jl:4 [9] jldopen @ ~/.julia/packages/JLD2/qncOK/src/loadsave.jl:2 [inlined] [10] #save#58 @ ~/.julia/packages/JLD2/qncOK/src/fileio.jl:5 [inlined] [11] save(f::File{DataFormat{:JLD2}, String}, dict::Dict{String, Any}) @ JLD2 ~/.julia/packages/JLD2/qncOK/src/fileio.jl:5 [12] #invokelatest#2 @ ./essentials.jl:716 [inlined] [13] invokelatest @ ./essentials.jl:714 [inlined] [14] action(call::Symbol, libraries::Vector{Union{Base.PkgId, Module}}, file::Formatted, args::Dict{String, Any}; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:219 [15] action @ ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:197 [inlined] [16] action(call::Symbol, libraries::Vector{Union{Base.PkgId, Module}}, sym::Symbol, file::String, args::Dict{String, Any}; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:185 [17] action @ ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:185 [inlined] [18] #save#20 @ ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:129 [inlined] [19] save(file::String, args::Dict{String, Any}) @ FileIO ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:126 [20] top-level scope @ REPL[5]:1 Stacktrace: [1] handle_error(e::ErrorException, q::Base.PkgId, bt::Vector{Union{Ptr{Nothing}, Base.InterpreterIP}}) @ FileIO ~/.julia/packages/FileIO/FUXWu/src/error_handling.jl:61 [2] handle_exceptions(exceptions::Vector{Tuple{Any, Union{Base.PkgId, Module}, Vector}}, action::String) @ FileIO ~/.julia/packages/FileIO/FUXWu/src/error_handling.jl:56 [3] action(call::Symbol, libraries::Vector{Union{Base.PkgId, Module}}, file::Formatted, args::Dict{String, Any}; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:228 [4] action @ ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:197 [inlined] [5] action(call::Symbol, libraries::Vector{Union{Base.PkgId, Module}}, sym::Symbol, file::String, args::Dict{String, Any}; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:185 [6] action @ ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:185 [inlined] [7] #save#20 @ ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:129 [inlined] [8] save(file::String, args::Dict{String, Any}) @ FileIO ~/.julia/packages/FileIO/FUXWu/src/loadsave.jl:126 [9] top-level scope @ REPL[5]:1
Never mind. I had an outdated version running because of another package.
Is JLD2 just completely broken in Julia 1.7? Trying the example off of the
README.md
: