timholy / Rebugger.jl

An expression-level debugger for Julia with a provocative command-line (REPL) user interface
Other
171 stars 18 forks source link

precompilation fails on linux with 1.6.0 #88

Open mkarikom opened 3 years ago

mkarikom commented 3 years ago

steps to reproduce:

$ mkdir /tmp/testenv
$ cd /tmp/testenv/
me@pc:/tmp/testenv$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.0 (2021-03-24)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using Pkg; Pkg.add("Rebugger"); using Rebugger
   Resolving package versions...
  No Changes to `/tmp/testenv/Project.toml`
  No Changes to `/tmp/testenv/Manifest.toml`
[ Info: Precompiling Rebugger [ee283ea6-eecd-56e3-beb3-83eb4d3c31e9]
ERROR: LoadError: InitError: MethodError: no method matching Base.TOMLCache()
Closest candidates are:
  Base.TOMLCache(::Base.TOML.Parser, ::Dict{String, Base.CachedTOMLDict}) at loading.jl:215
  Base.TOMLCache(::Any, ::Any) at loading.jl:215
Stacktrace:
  [1] manifest_file(project_file::String)
    @ Revise ~/.julia/packages/Revise/qxX5H/src/pkgs.jl:451
  [2] manifest_file
    @ ~/.julia/packages/Revise/qxX5H/src/pkgs.jl:461 [inlined]
  [3] __init__()
    @ Revise ~/.julia/packages/Revise/qxX5H/src/Revise.jl:1334
  [4] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:674
  [5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:760
  [6] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:998
  [7] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:914
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:901
  [9] include
    @ ./Base.jl:386 [inlined]
 [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1213
 [11] top-level scope
    @ none:1
 [12] eval
    @ ./boot.jl:360 [inlined]
 [13] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [14] top-level scope
    @ none:1
during initialization of module Revise
in expression starting at /home/au/.julia/packages/Rebugger/ApBeQ/src/Rebugger.jl:1
ERROR: Failed to precompile Rebugger [ee283ea6-eecd-56e3-beb3-83eb4d3c31e9] to /home/au/.julia/compiled/v1.6/Rebugger/jl_sRXpNj.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1360
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1306
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1021
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:914
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:901
adamryczkowski commented 3 years ago

It also fails on Julia 1.6.2:

$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.2 (2021-07-14)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using Rebugger
[ Info: Precompiling Rebugger [ee283ea6-eecd-56e3-beb3-83eb4d3c31e9]
ERROR: LoadError: InitError: MethodError: no method matching Base.TOMLCache()
Closest candidates are:
  Base.TOMLCache(::Base.TOML.Parser, ::Dict{String, Base.CachedTOMLDict}) at loading.jl:215
  Base.TOMLCache(::Any, ::Any) at loading.jl:215
Stacktrace:
  [1] manifest_file(project_file::String)
    @ Revise ~/.julia/packages/Revise/qxX5H/src/pkgs.jl:451
  [2] manifest_file
    @ ~/.julia/packages/Revise/qxX5H/src/pkgs.jl:461 [inlined]
  [3] __init__()
    @ Revise ~/.julia/packages/Revise/qxX5H/src/Revise.jl:1334
  [4] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:696
  [5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:782
  [6] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1020
  [7] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:936
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:923
  [9] include
    @ ./Base.jl:386 [inlined]
 [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1235
 [11] top-level scope
    @ none:1
 [12] eval
    @ ./boot.jl:360 [inlined]
 [13] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [14] top-level scope
    @ none:1
during initialization of module Revise
in expression starting at /home/adam/.julia/packages/Rebugger/ApBeQ/src/Rebugger.jl:1
ERROR: Failed to precompile Rebugger [ee283ea6-eecd-56e3-beb3-83eb4d3c31e9] to /home/adam/.julia/compiled/v1.6/Rebugger/jl_veJD4P.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1385
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1329
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1043
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:936
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:923
gwd666 commented 2 years ago

fails with same error ERROR: LoadError: InitError: MethodError: no method matching Base.TOMLCache() on Julia-1.6.4 on Windows 10 as well

adamryczkowski commented 2 years ago

I confirm the same problem on Julia 1.7, Ubuntu 20.04 64bit.

kwmartin commented 2 years ago

And on Julia 1.7.2 Ubuntu 20.04 64bit, but Debugger is now working