Revise.jl icon indicating copy to clipboard operation
Revise.jl copied to clipboard

Revise gets confused about ssair show.jl

Open Keno opened this issue 5 years ago • 5 comments

┌ Warning: /home/keno/julia-rebase/base/base/compiler/ssair/show.jl is not a file, omitting from revision tracking
└ @ Revise ~/.julia/packages/Revise/AMRie/src/parsing.jl:24

Note the extra base in the path that it's complaining about.

Keno avatar Jun 09 '20 21:06 Keno

What triggered this? Here's what I tried, but it didn't work (note 1+1 is just a way of letting revisions happen):

julia> Revise.track(Core.Compiler)

julia> 1+1
2

julia> id = Base.PkgId(Core.Compiler)
Core [top-level]

julia> Revise.pkgdatas[id]
PkgData(Core [top-level], basedir "/home/tim/src/julia-master/base/compiler:
  "abstractinterpretation.jl": FileInfo(Core.Compiler=>ExprsSigs(<24 expressions>, <27 signatures>), )
  "bootstrap.jl": FileInfo(Core.Compiler=>ExprsSigs(<1 expressions>, <0 signatures>), )
  "cicache.jl": FileInfo(Core.Compiler=>ExprsSigs(<13 expressions>, <11 signatures>), )
  "inferenceresult.jl": FileInfo(Core.Compiler=>ExprsSigs(<5 expressions>, <4 signatures>), )
  "inferencestate.jl": FileInfo(Core.Compiler=>ExprsSigs(<14 expressions>, <13 signatures>), )
  "optimize.jl": FileInfo(Core.Compiler=>ExprsSigs(<26 expressions>, <22 signatures>), )
  "parsing.jl": FileInfo(Core.Compiler=>ExprsSigs(<2 expressions>, <2 signatures>), )
  "ssair/domtree.jl": FileInfo(Core.Compiler=>ExprsSigs(<31 expressions>, <27 signatures>), )
  "ssair/driver.jl": FileInfo(Core.Compiler=>ExprsSigs(<15 expressions>, <6 signatures>), )
  "ssair/inlining.jl": FileInfo(Core.Compiler=>ExprsSigs(<50 expressions>, <55 signatures>), )
  "ssair/ir.jl": FileInfo(Core.Compiler=>ExprsSigs(<92 expressions>, <113 signatures>), )
  "ssair/legacy.jl": FileInfo(Core.Compiler=>ExprsSigs(<4 expressions>, <4 signatures>), )
  "ssair/passes.jl": FileInfo(Core.Compiler=>ExprsSigs(<30 expressions>, <32 signatures>), )
  "ssair/queries.jl": FileInfo(Core.Compiler=>ExprsSigs(<8 expressions>, <7 signatures>), )
  "ssair/show.jl": FileInfo(Base.IRShow=>ExprsSigs(<33 expressions>, <38 signatures>), )
  "ssair/slot2ssa.jl": FileInfo(Core.Compiler=>ExprsSigs(<29 expressions>, <34 signatures>), )
  "ssair/verify.jl": FileInfo(Core.Compiler=>ExprsSigs(<5 expressions>, <4 signatures>), )
  "tfuncs.jl": FileInfo(Core.Compiler=>ExprsSigs(<181 expressions>, <66 signatures>), )
  "typeinfer.jl": FileInfo(Core.Compiler=>ExprsSigs(<29 expressions>, <31 signatures>), )
  "typelattice.jl": FileInfo(Core.Compiler=>ExprsSigs(<34 expressions>, <35 signatures>), )
  "typelimits.jl": FileInfo(Core.Compiler=>ExprsSigs(<13 expressions>, <10 signatures>), )
  "types.jl": FileInfo(Core.Compiler=>ExprsSigs(<19 expressions>, <20 signatures>), )
  "typeutils.jl": FileInfo(Core.Compiler=>ExprsSigs(<25 expressions>, <25 signatures>), )
  "utilities.jl": FileInfo(Core.Compiler=>ExprsSigs(<27 expressions>, <27 signatures>), )
  "validation.jl": FileInfo(Core.Compiler=>ExprsSigs(<28 expressions>, <14 signatures>), )


shell> touch ~/src/julia-master/base/compiler/ssair/show.jl

julia> 1+1
2

timholy avatar Jun 09 '20 21:06 timholy

IRShow is in Base:

julia> using Revise

shell> touch ~/julia-rebase/base/compiler/ssair/show.jl

julia> Revise.track(Base)

julia> ┌ Warning: /home/keno/julia-rebase/base/base/ryu is not an existing directory, Revise is not watching
└ @ Revise /home/keno/.julia/packages/Revise/AMRie/src/Revise.jl:492
┌ Warning: /home/keno/julia-rebase/base/base is not an existing directory, Revise is not watching
└ @ Revise /home/keno/.julia/packages/Revise/AMRie/src/Revise.jl:492
┌ Warning: /home/keno/julia-rebase/base/base/special is not an existing directory, Revise is not watching
└ @ Revise /home/keno/.julia/packages/Revise/AMRie/src/Revise.jl:492
┌ Warning: /home/keno/julia-rebase/base/base/grisu is not an existing directory, Revise is not watching
└ @ Revise /home/keno/.julia/packages/Revise/AMRie/src/Revise.jl:492
┌ Warning: /home/keno/julia-rebase/base/base/strings is not an existing directory, Revise is not watching
└ @ Revise /home/keno/.julia/packages/Revise/AMRie/src/Revise.jl:492
┌ Warning: /home/keno/julia-rebase/base/base/compiler/ssair is not an existing directory, Revise is not watching
└ @ Revise /home/keno/.julia/packages/Revise/AMRie/src/Revise.jl:492
┌ Warning: /home/keno/julia-rebase/base/base/docs is not an existing directory, Revise is not watching
└ @ Revise /home/keno/.julia/packages/Revise/AMRie/src/Revise.jl:492
julia>

julia>

julia> 1+1
┌ Warning: /home/keno/julia-rebase/base/base/compiler/ssair/show.jl is not a file, omitting from revision tracking
└ @ Revise ~/.julia/packages/Revise/AMRie/src/parsing.jl:24
┌ Error: Failed to revise /home/keno/julia-rebase/base/base/compiler/ssair/show.jl
│   exception =
│    MethodError: Cannot `convert` an object of type Nothing to an object of type OrderedCollections.OrderedDict{Module,OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}}}
│    Closest candidates are:
│      convert(::Type{OrderedCollections.OrderedDict{K,V}}, ::OrderedCollections.OrderedDict{K,V}) where {K, V} at /home/keno/.julia/packages/OrderedCollections/P6ntV/src/ordered_dict.jl:113
│      convert(::Type{OrderedCollections.OrderedDict{K,V}}, ::AbstractDict) where {K, V} at /home/keno/.julia/packages/OrderedCollections/P6ntV/src/ordered_dict.jl:98
│      convert(::Type{T}, ::T) where T<:AbstractDict at abstractdict.jl:515
│      ...
│    Stacktrace:
│     [1] push!(::Array{OrderedCollections.OrderedDict{Module,OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}}},1}, ::Nothing) at ./array.jl:936
│     [2] revise() at /home/keno/.julia/packages/Revise/AMRie/src/Revise.jl:622
└ @ Revise ~/.julia/packages/Revise/AMRie/src/Revise.jl:602
┌ Warning: Due to a previously reported error, the running code does not match saved version for the following files:
│
│   /home/keno/julia-rebase/base/base/compiler/ssair/show.jl
│
│ Use Revise.errors() to report errors again.
└ @ Revise ~/.julia/packages/Revise/AMRie/src/Revise.jl:660
2

Keno avatar Jun 09 '20 21:06 Keno

Hmm, I can't replicate this. Not quite sure what to suggest, but perhaps the next stop is:

julia> using Revise

julia> Revise.juliadir
"/home/tim/src/julia-master"

julia> Revise.basesrccache
"/home/tim/src/julia-master/usr/share/julia/base.cache"

julia> Revise.basebuilddir
"/home/tim/src/julia-master"

julia> Revise.juliadir
"/home/tim/src/julia-master"

julia> Revise.cache_file_key
Dict{String,String}()

julia> Revise.track(Base)

julia> Revise.cache_file_key
Dict{String,String} with 6 entries:
  "/home/tim/src/julia-master/base/version_git.jl"    => "/home/tim/src/julia-master/base/./version_git.jl"
  "/home/tim/src/julia-master/base/errno_h.jl"        => "/home/tim/src/julia-master/base/./errno_h.jl"
  "/home/tim/src/julia-master/base/uv_constants.jl"   => "/home/tim/src/julia-master/base/./uv_constants.jl"
  "/home/tim/src/julia-master/base/build_h.jl"        => "/home/tim/src/julia-master/base/./build_h.jl"
  "/home/tim/src/julia-master/base/pcre_h.jl"         => "/home/tim/src/julia-master/base/./pcre_h.jl"
  "/home/tim/src/julia-master/base/file_constants.jl" => "/home/tim/src/julia-master/base/./file_constants.jl"

julia> Revise.src_file_key
Dict{String,String} with 6 entries:
  "/home/tim/src/julia-master/base/./file_constants.jl" => "/home/tim/src/julia-master/base/file_constants.jl"
  "/home/tim/src/julia-master/base/./version_git.jl"    => "/home/tim/src/julia-master/base/version_git.jl"
  "/home/tim/src/julia-master/base/./pcre_h.jl"         => "/home/tim/src/julia-master/base/pcre_h.jl"
  "/home/tim/src/julia-master/base/./build_h.jl"        => "/home/tim/src/julia-master/base/build_h.jl"
  "/home/tim/src/julia-master/base/./errno_h.jl"        => "/home/tim/src/julia-master/base/errno_h.jl"
  "/home/tim/src/julia-master/base/./uv_constants.jl"   => "/home/tim/src/julia-master/base/uv_constants.jl"

(Those dots surprise me a little bit, but it doesn't seem to hurt anything.)

timholy avatar Jun 09 '20 23:06 timholy

julia> Revise.cache_file_key
Dict{String,String} with 172 entries:
  "/home/keno/julia-rebase/base/base/linked_list.jl"         => "/home/keno/julia-rebase/base/linked_list.jl"
  "/home/keno/julia-rebase/base/base/meta.jl"                => "/home/keno/julia-rebase/base/meta.jl"
  "/home/keno/julia-rebase/base/base/weakkeydict.jl"         => "/home/keno/julia-rebase/base/weakkeydict.jl"
  "/home/keno/julia-rebase/base/base/strings/search.jl"      => "/home/keno/julia-rebase/base/strings/search.jl"
  "/home/keno/julia-rebase/base/base/initdefs.jl"            => "/home/keno/julia-rebase/base/initdefs.jl"
  "/home/keno/julia-rebase/base/base/stream.jl"              => "/home/keno/julia-rebase/base/stream.jl"
  "/home/keno/julia-rebase/base/base/special/log.jl"         => "/home/keno/julia-rebase/base/special/log.jl"
  "/home/keno/julia-rebase/base/base/subarray.jl"            => "/home/keno/julia-rebase/base/subarray.jl"
  "/home/keno/julia-rebase/base/base/shell.jl"               => "/home/keno/julia-rebase/base/shell.jl"
  "/home/keno/julia-rebase/base/base/gcutils.jl"             => "/home/keno/julia-rebase/base/gcutils.jl"
  "/home/keno/julia-rebase/base/base/rational.jl"            => "/home/keno/julia-rebase/base/rational.jl"
  "/home/keno/julia-rebase/base/base/strings/basic.jl"       => "/home/keno/julia-rebase/base/strings/basic.jl"
  "/home/keno/julia-rebase/base/base/version_git.jl"         => "/home/keno/julia-rebase/base/./version_git.jl"
  "/home/keno/julia-rebase/base/base/some.jl"                => "/home/keno/julia-rebase/base/some.jl"
  "/home/keno/julia-rebase/base/base/mpfr.jl"                => "/home/keno/julia-rebase/base/mpfr.jl"
  "/home/keno/julia-rebase/base/base/uv_constants.jl"        => "/home/keno/julia-rebase/base/./uv_constants.jl"
  "/home/keno/julia-rebase/base/base/tuple.jl"               => "/home/keno/julia-rebase/base/tuple.jl"
  "/home/keno/julia-rebase/base/base/threads.jl"             => "/home/keno/julia-rebase/base/threads.jl"
  "/home/keno/julia-rebase/base/base/client.jl"              => "/home/keno/julia-rebase/base/client.jl"
  "/home/keno/julia-rebase/base/base/bitarray.jl"            => "/home/keno/julia-rebase/base/bitarray.jl"
  "/home/keno/julia-rebase/base/base/char.jl"                => "/home/keno/julia-rebase/base/char.jl"
  "/home/keno/julia-rebase/base/base/ryu/utils.jl"           => "/home/keno/julia-rebase/base/ryu/utils.jl"
  "/home/keno/julia-rebase/base/base/grisu/float.jl"         => "/home/keno/julia-rebase/base/grisu/float.jl"
  "/home/keno/julia-rebase/base/base/floatfuncs.jl"          => "/home/keno/julia-rebase/base/floatfuncs.jl"
  "/home/keno/julia-rebase/base/base/cmd.jl"                 => "/home/keno/julia-rebase/base/cmd.jl"
  "/home/keno/julia-rebase/base/base/options.jl"             => "/home/keno/julia-rebase/base/options.jl"
  "/home/keno/julia-rebase/base/base/channels.jl"            => "/home/keno/julia-rebase/base/channels.jl"
  "/home/keno/julia-rebase/base/base/threadcall.jl"          => "/home/keno/julia-rebase/base/threadcall.jl"
  "/home/keno/julia-rebase/base/base/essentials.jl"          => "/home/keno/julia-rebase/base/essentials.jl"
  "/home/keno/julia-rebase/base/base/ordering.jl"            => "/home/keno/julia-rebase/base/ordering.jl"
  "/home/keno/julia-rebase/base/base/grisu/fastprecision.jl" => "/home/keno/julia-rebase/base/grisu/fastprecision.jl"
  "/home/keno/julia-rebase/base/base/arrayshow.jl"           => "/home/keno/julia-rebase/base/arrayshow.jl"
  "/home/keno/julia-rebase/base/base/complex.jl"             => "/home/keno/julia-rebase/base/complex.jl"
  "/home/keno/julia-rebase/base/base/irrationals.jl"         => "/home/keno/julia-rebase/base/irrationals.jl"
  "/home/keno/julia-rebase/base/base/build_h.jl"             => "/home/keno/julia-rebase/base/./build_h.jl"
  "/home/keno/julia-rebase/base/base/file_constants.jl"      => "/home/keno/julia-rebase/base/./file_constants.jl"
  "/home/keno/julia-rebase/base/base/ntuple.jl"              => "/home/keno/julia-rebase/base/ntuple.jl"
  "/home/keno/julia-rebase/base/base/strings/substring.jl"   => "/home/keno/julia-rebase/base/strings/substring.jl"
  "/home/keno/julia-rebase/base/base/gmp.jl"                 => "/home/keno/julia-rebase/base/gmp.jl"
  "/home/keno/julia-rebase/base/base/stacktraces.jl"         => "/home/keno/julia-rebase/base/stacktraces.jl"
  "/home/keno/julia-rebase/base/base/set.jl"                 => "/home/keno/julia-rebase/base/set.jl"
  "/home/keno/julia-rebase/base/base/iostream.jl"            => "/home/keno/julia-rebase/base/iostream.jl"
  "/home/keno/julia-rebase/base/base/iterators.jl"           => "/home/keno/julia-rebase/base/iterators.jl"
  "/home/keno/julia-rebase/base/base/twiceprecision.jl"      => "/home/keno/julia-rebase/base/twiceprecision.jl"
  "/home/keno/julia-rebase/base/base/ryu/Ryu.jl"             => "/home/keno/julia-rebase/base/ryu/Ryu.jl"
  "/home/keno/julia-rebase/base/base/multinverses.jl"        => "/home/keno/julia-rebase/base/multinverses.jl"
  "/home/keno/julia-rebase/base/base/timing.jl"              => "/home/keno/julia-rebase/base/timing.jl"
  "/home/keno/julia-rebase/base/base/range.jl"               => "/home/keno/julia-rebase/base/range.jl"
  "/home/keno/julia-rebase/base/base/accumulate.jl"          => "/home/keno/julia-rebase/base/accumulate.jl"
  "/home/keno/julia-rebase/base/base/io.jl"                  => "/home/keno/julia-rebase/base/io.jl"
  "/home/keno/julia-rebase/base/base/Base.jl"                => "/home/keno/julia-rebase/base/Base.jl"
  "/home/keno/julia-rebase/base/base/reinterpretarray.jl"    => "/home/keno/julia-rebase/base/reinterpretarray.jl"
  "/home/keno/julia-rebase/base/base/grisu/fastshortest.jl"  => "/home/keno/julia-rebase/base/grisu/fastshortest.jl"
  "/home/keno/julia-rebase/base/base/error.jl"               => "/home/keno/julia-rebase/base/error.jl"
  "/home/keno/julia-rebase/base/base/views.jl"               => "/home/keno/julia-rebase/base/views.jl"
  "/home/keno/julia-rebase/base/base/indices.jl"             => "/home/keno/julia-rebase/base/indices.jl"
  "/home/keno/julia-rebase/base/base/intfuncs.jl"            => "/home/keno/julia-rebase/base/intfuncs.jl"
  "/home/keno/julia-rebase/base/base/refpointer.jl"          => "/home/keno/julia-rebase/base/refpointer.jl"
  "/home/keno/julia-rebase/base/base/deprecated.jl"          => "/home/keno/julia-rebase/base/deprecated.jl"
  "/home/keno/julia-rebase/base/base/bitset.jl"              => "/home/keno/julia-rebase/base/bitset.jl"
  "/home/keno/julia-rebase/base/base/strings/unicode.jl"     => "/home/keno/julia-rebase/base/strings/unicode.jl"
  ⋮                                                          => ⋮

julia> Revise.src_file_key
┌ Warning: Due to a previously reported error, the running code does not match saved version for the following files:
│
│   /home/keno/julia-rebase/base/base/compiler/ssair/show.jl
│
│ Use Revise.errors() to report errors again.
└ @ Revise ~/.julia/packages/Revise/tV8FE/src/Revise.jl:804
Dict{String,String} with 172 entries:
  "/home/keno/julia-rebase/base/iddict.jl"             => "/home/keno/julia-rebase/base/base/iddict.jl"
  "/home/keno/julia-rebase/base/multimedia.jl"         => "/home/keno/julia-rebase/base/base/multimedia.jl"
  "/home/keno/julia-rebase/base/grisu/bignum.jl"       => "/home/keno/julia-rebase/base/base/grisu/bignum.jl"
  "/home/keno/julia-rebase/base/weakkeydict.jl"        => "/home/keno/julia-rebase/base/base/weakkeydict.jl"
  "/home/keno/julia-rebase/base/idset.jl"              => "/home/keno/julia-rebase/base/base/idset.jl"
  "/home/keno/julia-rebase/base/process.jl"            => "/home/keno/julia-rebase/base/base/process.jl"
  "/home/keno/julia-rebase/base/bool.jl"               => "/home/keno/julia-rebase/base/base/bool.jl"
  "/home/keno/julia-rebase/base/special/exp.jl"        => "/home/keno/julia-rebase/base/base/special/exp.jl"
  "/home/keno/julia-rebase/base/grisu/fastshortest.jl" => "/home/keno/julia-rebase/base/base/grisu/fastshortest.jl"
  "/home/keno/julia-rebase/base/grisu/grisu.jl"        => "/home/keno/julia-rebase/base/base/grisu/grisu.jl"
  "/home/keno/julia-rebase/base/./pcre_h.jl"           => "/home/keno/julia-rebase/base/base/pcre_h.jl"
  "/home/keno/julia-rebase/base/accumulate.jl"         => "/home/keno/julia-rebase/base/base/accumulate.jl"
  "/home/keno/julia-rebase/base/Enums.jl"              => "/home/keno/julia-rebase/base/base/Enums.jl"
  "/home/keno/julia-rebase/base/ryu/Ryu.jl"            => "/home/keno/julia-rebase/base/base/ryu/Ryu.jl"
  "/home/keno/julia-rebase/base/lock.jl"               => "/home/keno/julia-rebase/base/base/lock.jl"
  "/home/keno/julia-rebase/base/array.jl"              => "/home/keno/julia-rebase/base/base/array.jl"
  "/home/keno/julia-rebase/base/sort.jl"               => "/home/keno/julia-rebase/base/base/sort.jl"
  "/home/keno/julia-rebase/base/linked_list.jl"        => "/home/keno/julia-rebase/base/base/linked_list.jl"
  "/home/keno/julia-rebase/base/show.jl"               => "/home/keno/julia-rebase/base/base/show.jl"
  "/home/keno/julia-rebase/base/stacktraces.jl"        => "/home/keno/julia-rebase/base/base/stacktraces.jl"
  "/home/keno/julia-rebase/base/loading.jl"            => "/home/keno/julia-rebase/base/base/loading.jl"
  "/home/keno/julia-rebase/base/./version_git.jl"      => "/home/keno/julia-rebase/base/base/version_git.jl"
  "/home/keno/julia-rebase/base/libc.jl"               => "/home/keno/julia-rebase/base/base/libc.jl"
  "/home/keno/julia-rebase/base/file.jl"               => "/home/keno/julia-rebase/base/base/file.jl"
  "/home/keno/julia-rebase/base/essentials.jl"         => "/home/keno/julia-rebase/base/base/essentials.jl"
  "/home/keno/julia-rebase/base/indices.jl"            => "/home/keno/julia-rebase/base/base/indices.jl"
  "/home/keno/julia-rebase/base/io.jl"                 => "/home/keno/julia-rebase/base/base/io.jl"
  "/home/keno/julia-rebase/base/abstractdict.jl"       => "/home/keno/julia-rebase/base/base/abstractdict.jl"
  "/home/keno/julia-rebase/base/special/log.jl"        => "/home/keno/julia-rebase/base/base/special/log.jl"
  "/home/keno/julia-rebase/base/secretbuffer.jl"       => "/home/keno/julia-rebase/base/base/secretbuffer.jl"
  "/home/keno/julia-rebase/base/ryu/utils.jl"          => "/home/keno/julia-rebase/base/base/ryu/utils.jl"
  "/home/keno/julia-rebase/base/filesystem.jl"         => "/home/keno/julia-rebase/base/base/filesystem.jl"
  "/home/keno/julia-rebase/base/special/trig.jl"       => "/home/keno/julia-rebase/base/base/special/trig.jl"
  "/home/keno/julia-rebase/base/arrayshow.jl"          => "/home/keno/julia-rebase/base/base/arrayshow.jl"
  "/home/keno/julia-rebase/base/refvalue.jl"           => "/home/keno/julia-rebase/base/base/refvalue.jl"
  "/home/keno/julia-rebase/base/iterators.jl"          => "/home/keno/julia-rebase/base/base/iterators.jl"
  "/home/keno/julia-rebase/base/experimental.jl"       => "/home/keno/julia-rebase/base/base/experimental.jl"
  "/home/keno/julia-rebase/base/ntuple.jl"             => "/home/keno/julia-rebase/base/base/ntuple.jl"
  "/home/keno/julia-rebase/base/timing.jl"             => "/home/keno/julia-rebase/base/base/timing.jl"
  "/home/keno/julia-rebase/base/libuv.jl"              => "/home/keno/julia-rebase/base/base/libuv.jl"
  "/home/keno/julia-rebase/base/intfuncs.jl"           => "/home/keno/julia-rebase/base/base/intfuncs.jl"
  "/home/keno/julia-rebase/base/char.jl"               => "/home/keno/julia-rebase/base/base/char.jl"
  "/home/keno/julia-rebase/base/strings/substring.jl"  => "/home/keno/julia-rebase/base/base/strings/substring.jl"
  "/home/keno/julia-rebase/base/gcutils.jl"            => "/home/keno/julia-rebase/base/base/gcutils.jl"
  "/home/keno/julia-rebase/base/coreio.jl"             => "/home/keno/julia-rebase/base/base/coreio.jl"
  "/home/keno/julia-rebase/base/threads.jl"            => "/home/keno/julia-rebase/base/base/threads.jl"
  "/home/keno/julia-rebase/base/cartesian.jl"          => "/home/keno/julia-rebase/base/base/cartesian.jl"
  "/home/keno/julia-rebase/base/threads_overloads.jl"  => "/home/keno/julia-rebase/base/base/threads_overloads.jl"
  "/home/keno/julia-rebase/base/pcre.jl"               => "/home/keno/julia-rebase/base/base/pcre.jl"
  "/home/keno/julia-rebase/base/dict.jl"               => "/home/keno/julia-rebase/base/base/dict.jl"
  "/home/keno/julia-rebase/base/multidimensional.jl"   => "/home/keno/julia-rebase/base/base/multidimensional.jl"
  "/home/keno/julia-rebase/base/bitset.jl"             => "/home/keno/julia-rebase/base/base/bitset.jl"
  "/home/keno/julia-rebase/base/int.jl"                => "/home/keno/julia-rebase/base/base/int.jl"
  "/home/keno/julia-rebase/base/abstractarraymath.jl"  => "/home/keno/julia-rebase/base/base/abstractarraymath.jl"
  "/home/keno/julia-rebase/base/strings/basic.jl"      => "/home/keno/julia-rebase/base/base/strings/basic.jl"
  "/home/keno/julia-rebase/base/abstractarray.jl"      => "/home/keno/julia-rebase/base/base/abstractarray.jl"
  "/home/keno/julia-rebase/base/float.jl"              => "/home/keno/julia-rebase/base/base/float.jl"
  "/home/keno/julia-rebase/base/strings/strings.jl"    => "/home/keno/julia-rebase/base/base/strings/strings.jl"
  "/home/keno/julia-rebase/base/asyncevent.jl"         => "/home/keno/julia-rebase/base/base/asyncevent.jl"
  "/home/keno/julia-rebase/base/stat.jl"               => "/home/keno/julia-rebase/base/base/stat.jl"
  "/home/keno/julia-rebase/base/div.jl"                => "/home/keno/julia-rebase/base/base/div.jl"
  ⋮                                                    => ⋮

Keno avatar Jun 10 '20 01:06 Keno

Sorry I let this go. Now that Revise 3 is out we can figure this out. Here's a demo of what should work (output edited for brevity, the ... are manually inserted by me rather than Julia):

julia> Revise.track(Base)

julia> idb = Base.PkgId(Base)
Base [top-level]

julia> pkgdata = Revise.pkgdatas[idb]
PkgData(Base [top-level], basedir "/home/tim/src/julia-master/base":
  "Base.jl": FileInfo(Main=>ExprsSigs(<0 expressions>, <0 signatures>), with cachefile /home/tim/src/julia-master/usr/share/julia/base.cache)
  "coreio.jl": FileInfo(Base=>ExprsSigs(<0 expressions>, <0 signatures>), with cachefile /home/tim/src/julia-master/usr/share/julia/base.cache)
  "exports.jl": FileInfo(Base=>ExprsSigs(<0 expressions>, <0 signatures>), with cachefile /home/tim/src/julia-master/usr/share/julia/base.cache)
...
  "compiler/ssair/show.jl": FileInfo(Base.IRShow=>ExprsSigs(<0 expressions>, <0 signatures>), with cachefile /home/tim/src/julia-master/usr/share/julia/base.cache)
...

julia> fi = Revise.fileinfo(pkgdata, "compiler/ssair/show.jl")
FileInfo(Base.IRShow=>ExprsSigs with the following expressions: , with cachefile /home/tim/src/julia-master/usr/share/julia/base.cache)

This is the FileInfo structure that holds all the detailed information about expressions and method signatures in the file (organized by the module-of-evaluation). It's currently empty because Revise hasn't had to parse the file: the running code matches the cachefile (based on mtimes), and consequently Revise knows that there are no queued revisions.

So let's change that:

shell> touch ~/src/julia-master/base/compiler/ssair/show.jl

julia> fi
FileInfo(Base.IRShow=>ExprsSigs with the following expressions: 
  :(@nospecialize)
  :(if Pair != Base.Pair
      import Base: Base, IOContext, string, join, sprint
      IOContext(io::IO, KV::Pair) = begin
              IOContext(io, Base.Pair(KV[1], KV[2]))
          end
      length(s::String) = begin
              Base.length(s)
...

Now you can see that Revise has parsed the file and populated fi.

I'm still guessing you have a path issue, but I don't understand where it's coming from. Your lists above are truncated so I can't see whether compiler/ssair/show.jl is one of the files that needs normalization.

timholy avatar Sep 17 '20 08:09 timholy