pc2 / MPITape.jl

Record MPI operations on tape
MIT License
21 stars 3 forks source link

Error reading BSON data from previous run #5

Closed Mellich closed 1 year ago

Mellich commented 1 year ago

After executing the examples, the BSON files are still present and should be readable again with MPITape.

However, executing the following code fails:

using MPI
using MPITape

t = MPITape.readall_and_merge()

With the following error message:

ERROR: LoadError: UndefVarError: Params not defined
Stacktrace:
  [1] #31
    @ ~/.julia/packages/BSON/73cTU/src/extensions.jl:21 [inlined]
  [2] (::Base.BottomRF{BSON.var"#31#32"})(acc::Module, x::String)
    @ Base ./reduce.jl:81
  [3] _foldl_impl(op::Base.BottomRF{BSON.var"#31#32"}, init::Module, itr::Vector{Any})
    @ Base ./reduce.jl:62
  [4] foldl_impl
    @ ./reduce.jl:48 [inlined]
  [5] mapfoldl_impl
    @ ./reduce.jl:44 [inlined]
  [6] _mapreduce_dim
    @ ./reducedim.jl:362 [inlined]
  [7] #mapreduce#765
    @ ./reducedim.jl:357 [inlined]
  [8] #reduce#767
    @ ./reducedim.jl:406 [inlined]
  [9] resolve(fs::Vector{Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/extensions.jl:21
 [10] (::BSON.var"#35#36")(d::Dict{Symbol, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/extensions.jl:64
 [11] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:80
 [12] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:93
 [13] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:98
 [14] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/BSON.jl:26
 [15] raise_recursive
    @ ~/.julia/packages/BSON/73cTU/src/read.jl:98 [inlined]
 [16] (::BSON.var"#17#20"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:80
 [17] applychildren!(f::BSON.var"#17#20"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/BSON.jl:19
 [18] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:80
 [19] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:93
 [20] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:98
 [21] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/BSON.jl:26
 [22] raise_recursive
    @ ~/.julia/packages/BSON/73cTU/src/read.jl:98 [inlined]
 [23] (::BSON.var"#18#21"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:82
 [24] applychildren!(f::BSON.var"#18#21"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/BSON.jl:19
 [25] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:82
 [26] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:93
 [27] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:98
 [28] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/BSON.jl:26
 [29] raise_recursive
    @ ~/.julia/packages/BSON/73cTU/src/read.jl:98 [inlined]
 [30] (::BSON.var"#18#21"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:82
 [31] applychildren!(f::BSON.var"#18#21"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/BSON.jl:19
 [32] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:82
 [33] (::BSON.var"#49#50")(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/extensions.jl:168
 [34] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:92
 [35] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:98
 [36] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/BSON.jl:26
 [37] raise_recursive
    @ ~/.julia/packages/BSON/73cTU/src/read.jl:98 [inlined]
 [38] (::BSON.var"#19#22"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:86
 [39] applychildren!(f::BSON.var"#19#22"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/73cTU/src/BSON.jl:19
 [40] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:86
 [41] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/73cTU/src/read.jl:93
 [42] raise_recursive
    @ ~/.julia/packages/BSON/73cTU/src/read.jl:103 [inlined]
 [43] load (repeats 2 times)
    @ ~/.julia/packages/BSON/73cTU/src/read.jl:108 [inlined]
 [44] read(fname::String)
    @ MPITape ~/Documents/repos/MPITape.jl/src/fileio.jl:12
 [45] readall_and_merge(dir::String; prefix::String)
    @ MPITape ~/Documents/repos/MPITape.jl/src/fileio.jl:31
 [46] readall_and_merge (repeats 2 times)
    @ ~/Documents/repos/MPITape.jl/src/fileio.jl:25 [inlined]

Maybe this is caused by our parameterized MPIEvents? https://github.com/JuliaIO/BSON.jl/issues/19

carstenbauer commented 1 year ago

Hm, bad. Maybe we should use a different file format than (or switch back to JLD2). I'll try something else when I find the time.