Revise stopped working

Revise is a core tool for my workflow. Suddenly it stopped working.
There is no error when loading i. It just stopped tracking changes to my code. After I change a file in my package it is unable to track the change, forcing me to include manually the file.

Any suggestion how I could debug this problem and fix it?

1 Like

this is the output of (@v1.10) pkg> test Revise

Precompiling project...
  17 dependencies successfully precompiled in 21 seconds. 3 already precompiled.
     Testing Running tests...
WARNING: Method definition pcwf1() in module PCWF at /tmp/qh2zHu5yy6/PCWF/src/PCWF.jl:4 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition @some_macro_pcwf(LineNumberNode, Module) in module PCWF at /tmp/qh2zHu5yy6/PCWF/src/PCWF.jl:11 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition using_macro_pcwf() in module PCWF at /tmp/qh2zHu5yy6/PCWF/src/PCWF.jl:22 overwritten at /tmp/qh2zHu5yy6/PCWF/src/PCWF.jl:14.
WARNING: Method definition pcwf3() in module PCWF at /tmp/qh2zHu5yy6/PCWF/src/subdir/file3.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition npcwf1() in module NPCWF at /tmp/qh2zHu5yy6/NPCWF/src/NPCWF.jl:4 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition @some_macro_npcwf(LineNumberNode, Module) in module NPCWF at /tmp/qh2zHu5yy6/NPCWF/src/NPCWF.jl:11 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition using_macro_npcwf() in module NPCWF at /tmp/qh2zHu5yy6/NPCWF/src/NPCWF.jl:22 overwritten at /tmp/qh2zHu5yy6/NPCWF/src/NPCWF.jl:14.
WARNING: Method definition npcwf2() in module NPCWF at /tmp/qh2zHu5yy6/NPCWF/src/file2.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition npcwf3() in module NPCWF at /tmp/qh2zHu5yy6/NPCWF/src/subdir/file3.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition npcwf4() in module NPCWF at /tmp/qh2zHu5yy6/NPCWF/src/subdir/file4.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition npcwf5() in module NPCWF at /tmp/qh2zHu5yy6/NPCWF/src/file5.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition pcwd1() in module PCWD at /tmp/qh2zHu5yy6/PCWD/src/PCWD.jl:4 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition @some_macro_pcwd(LineNumberNode, Module) in module PCWD at /tmp/qh2zHu5yy6/PCWD/src/PCWD.jl:11 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition using_macro_pcwd() in module PCWD at /tmp/qh2zHu5yy6/PCWD/src/PCWD.jl:22 overwritten at /tmp/qh2zHu5yy6/PCWD/src/PCWD.jl:14.
WARNING: Method definition pcwd3() in module PCWD at /tmp/qh2zHu5yy6/PCWD/src/subdir/file3.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition npcwd1() in module NPCWD at /tmp/qh2zHu5yy6/NPCWD/src/NPCWD.jl:4 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition @some_macro_npcwd(LineNumberNode, Module) in module NPCWD at /tmp/qh2zHu5yy6/NPCWD/src/NPCWD.jl:11 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition using_macro_npcwd() in module NPCWD at /tmp/qh2zHu5yy6/NPCWD/src/NPCWD.jl:22 overwritten at /tmp/qh2zHu5yy6/NPCWD/src/NPCWD.jl:14.
WARNING: Method definition npcwd2() in module NPCWD at /tmp/qh2zHu5yy6/NPCWD/src/file2.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition npcwd3() in module NPCWD at /tmp/qh2zHu5yy6/NPCWD/src/subdir/file3.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition npcwd4() in module NPCWD at /tmp/qh2zHu5yy6/NPCWD/src/subdir/file4.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition npcwd5() in module NPCWD at /tmp/qh2zHu5yy6/NPCWD/src/file5.jl:1 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition sin(Int64) in module Namespace at /tmp/p4LXIrQjqc/Namespace/src/Namespace.jl:3 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition cos(Namespace.X) in module Namespace at /tmp/p4LXIrQjqc/Namespace/src/Namespace.jl:4 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition repeated(Any) in module Multidef at /tmp/C3pICVP6f2/Multidef/src/utils.jl:1 overwritten at /tmp/C3pICVP6f2/Multidef/src/Multidef.jl:3.
[ Info: The following error message is expected for this broken test
β”Œ Error: Failed to revise /tmp/OhOyFAGlxp/Order2/src/Order2.jl
β”‚   exception =
β”‚    UndefVarError: `Ord2` not defined
β”‚    Stacktrace:
β”‚     [1] top-level scope
β”‚       @ /tmp/OhOyFAGlxp/Order2/src/Order2.jl:3
β”‚    Revise evaluation error at /tmp/OhOyFAGlxp/Order2/src/Order2.jl:3
β”‚    
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:722
β”Œ Warning: The running code does not match the saved version for the following files:
β”‚ 
β”‚   /tmp/OhOyFAGlxp/Order2/src/Order2.jl
β”‚ 
β”‚ If the error was due to evaluation order, it can sometimes be resolved by calling `Revise.retry()`.
β”‚ Use Revise.errors() to report errors again. Only the first error in each file is shown.
β”‚ Your prompt color may be yellow until the errors are resolved.
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:832
WARNING: Method definition @change(LineNumberNode, Module, Any) in module MacroRevision at /tmp/PM1USFojKp/MacroRevision/src/MacroRevision.jl:2 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition foo(Any) in module MacroRevision at /tmp/PM1USFojKp/MacroRevision/src/MacroRevision.jl:6 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition @change(LineNumberNode, Module, Any) in module MacroRevision at /tmp/PM1USFojKp/MacroRevision/src/MacroRevision.jl:2 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition foo(Any) in module MacroRevision at /tmp/PM1USFojKp/MacroRevision/src/MacroRevision.jl:6 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition my_fun() in module MacroLineNos568 overwritten.
β”Œ Warning: /tmp/jl_dCDMZ4Ta70 no longer exists, deleted all methods
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:666
Revise is currently tracking the following files in ReviseFileNow [top-level]: Any["src/ReviseFileNow.jl"]
[ Info: tracking Base
WARNING: Method definition (::Type{Test302.Parameters{T} where T})(Any) in module Test302 at /tmp/k514pkxxMn/Test302.jl:3 overwritten at /tmp/k514pkxxMn/Test302.jl:5.
WARNING: Method definition revise_g() in module Main at /tmp/rRrQ3LKhK2.jl:1 overwritten at /tmp/8hK06GSeJy.jl:1.
WARNING: Method definition push_LOAD_PATH!(Any) in module Main at /home/svretinaris/.julia/packages/Revise/bAgL0/test/runtests.jl:2640 overwritten at /home/svretinaris/.julia/packages/Revise/bAgL0/test/runtests.jl:2710.
β”Œ Warning: skipping git tests because Revise is not under development
β”” @ Main ~/.julia/packages/Revise/bAgL0/test/runtests.jl:2793
extra
[ Info: tracking Pkg
β”Œ Warning: skipping Core.Compiler tests due to lack of git repo
β”” @ Main ~/.julia/packages/Revise/bAgL0/test/runtests.jl:2893
β”Œ Warning: REPL tests skipped
β”” @ Main ~/.julia/packages/Revise/bAgL0/test/runtests.jl:2936
Test Summary: | Pass  Broken  Total     Time
Revise        |  713       2    715  1m24.7s
Test Summary: | Pass  Total  Time
Utilities     |    3      3  0.1s
  Generating  project A2D:
    A2D/Project.toml
    A2D/src/A2D.jl
  Installing known registries into `/tmp/jl_i9NF7v`
   Resolving package versions...
    Updating `/tmp/jl_i9NF7v/environments/v1.10/Project.toml`
  [92c7cb49] + A2D v0.1.0 `/tmp/jl_i9NF7v/A2D`
    Updating `/tmp/jl_i9NF7v/environments/v1.10/Manifest.toml`
  [92c7cb49] + A2D v0.1.0 `/tmp/jl_i9NF7v/A2D`
  Installing known registries into `/tmp/jl_i9NF7v`
   Resolving package versions...
    Updating `/tmp/jl_i9NF7v/environments/v1.10/Project.toml`
  [92c7cb49] ~ A2D v0.1.0 `/tmp/jl_i9NF7v/A2D` β‡’ v0.1.0 `/tmp/jl_i9NF7v/dev/A2D`
    Updating `/tmp/jl_i9NF7v/environments/v1.10/Manifest.toml`
  [92c7cb49] ~ A2D v0.1.0 `/tmp/jl_i9NF7v/A2D` β‡’ v0.1.0 `/tmp/jl_i9NF7v/dev/A2D`
  Installing known registries into `/tmp/jl_i9NF7v`
   Resolving package versions...
    Updating `/tmp/jl_i9NF7v/environments/v1.10/Project.toml`
  [92c7cb49] ~ A2D v0.1.0 `/tmp/jl_i9NF7v/dev/A2D` β‡’ v0.1.0 `/tmp/jl_i9NF7v/A2D`
    Updating `/tmp/jl_i9NF7v/environments/v1.10/Manifest.toml`
  [92c7cb49] ~ A2D v0.1.0 `/tmp/jl_i9NF7v/dev/A2D` β‡’ v0.1.0 `/tmp/jl_i9NF7v/A2D`
Test Summary:      | Pass  Total  Time
Switching free/dev |  137    137  1.2s
  Activating new project at `/tmp/jl_tGiiHy`
  Generating  project TestPackage:
    TestPackage/Project.toml
    TestPackage/src/TestPackage.jl
  Installing known registries into `~/.julia`
     Cloning registry from "https://github.com/JuliaRegistries/General.git"
       Added registry `General` to `~/.julia/registries/General`
     Cloning git-repo `/tmp/jl_hLbvjw/TestPackage`
    Updating git-repo `/tmp/jl_hLbvjw/TestPackage`
   Resolving package versions...
    Updating `/tmp/jl_tGiiHy/Project.toml`
  [69bb5624] + TestPackage v0.1.0 `/tmp/jl_hLbvjw/TestPackage#master`
    Updating `/tmp/jl_tGiiHy/Manifest.toml`
  [69bb5624] + TestPackage v0.1.0 `/tmp/jl_hLbvjw/TestPackage#master`
Precompiling project...
  1 dependency successfully precompiled in 1 seconds
    Updating git-repo `/tmp/jl_hLbvjw/TestPackage`
   Resolving package versions...
    Updating `/tmp/jl_tGiiHy/Project.toml`
  [69bb5624] ~ TestPackage v0.1.0 `/tmp/jl_hLbvjw/TestPackage#master` β‡’ v0.1.0 `/tmp/jl_hLbvjw/TestPackage#master`
    Updating `/tmp/jl_tGiiHy/Manifest.toml`
  [69bb5624] ~ TestPackage v0.1.0 `/tmp/jl_hLbvjw/TestPackage#master` β‡’ v0.1.0 `/tmp/jl_hLbvjw/TestPackage#master`
Precompiling project...
  βœ“ TestPackage
  1 dependency successfully precompiled in 1 seconds
  1 dependency precompiled but a different version is currently loaded. Restart julia to access the new version
  Activating project at `/tmp/jl_is6a2m`
Test Summary:          | Pass  Total     Time
Switching environments |    2      2  2m04.1s
Test Summary:                          | Pass  Total  Time
Non-jl include_dependency (issue #388) |    4      4  0.5s
β”Œ Warning: /tmp/6Nlsgx9eFU/DeletedFile/src/g.jl no longer exists, deleted all methods
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:666
WARNING: Method definition fauto() in module TrackRequires at /tmp/6Nlsgx9eFU/TrackRequires/src/subdir/yetanotherfile.jl:1 overwritten on the same line (check for duplicate calls to `include`).
Test Summary:           | Pass  Total   Time
New files & Requires.jl |   40     40  15.6s
Test Summary: | Pass  Total  Time
entr          |   16     16  9.5s
Test Summary:     | Pass  Total  Time
entr with modules |    1      1  1.0s
Test Summary:       | Pass  Total  Time
entr with all files |    4      4  0.8s
Test Summary: | Pass  Total  Time
callbacks     |    9      9  2.3s
Test Summary:                      | Pass  Total  Time
includet with mod arg (issue #689) |    6      6  0.6s
Test Summary:   | Pass  Total  Time
misc - coverage |    4      4  0.0s
Test Summary: | Pass  Total  Time
deprecated    |    2      2  0.2s
beginning cleanup
Test Summary: | Pass  Total  Time
Cleanup       |    1      1  5.9s
  Activating new project at `~/.julia/packages/Revise/bAgL0/test/fake_env`
[ Info: A warning about no Manifest.toml file found is expected
nothing
Test Summary:                            | Pass  Total  Time
Import in empty environment (issue #532) |    1      1  1.0s
Test Summary: | Pass  Total  Time
Backedges     |    9      9  0.9s
β”Œ Warning: /tmp/XKxwQrk53n.jl no longer exists, deleted all methods
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:666
β”Œ Warning: /tmp/Hq7dsHPhw3.jl no longer exists, deleted all methods
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:666
β”Œ Warning: /tmp/4pInzBUHab.jl no longer exists, deleted all methods
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:666
β”Œ Warning: /tmp/M3oq85Aq3I.jl no longer exists, deleted all methods
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:666
β”Œ Warning: /tmp/8hK06GSeJy.jl no longer exists, deleted all methods
β”” @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:666
Test Summary:    | Pass  Total  Time
non-jl revisions |    4      4  1.1s
beginning signatures tests
WARNING: Method definition getindex(Array{T, N} where N where T, Int64) in module Base at essentials.jl:13 overwritten at /home/svretinaris/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/base/essentials.jl:13.
WARNING: Method definition getindex(Array{T, N} where N where T, Int64, Int64, Int64...) in module Base at essentials.jl:14 overwritten at /home/svretinaris/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/base/essentials.jl:14.
β”Œ Warning: skipping callee #wait#17 (called by wait) due to UndefVarError(:WindowsRawSocket)
β”” @ LoweredCodeUtils ~/.julia/packages/LoweredCodeUtils/BEFfj/src/signatures.jl:306
 54.917764 seconds (60.41 M allocations: 3.665 GiB, 3.30% gc time, 45.62% compilation time: 75% of which was recompilation)
Test Summary:   | Pass  Total   Time
Base signatures |    2      2  57.4s
     Testing Revise tests passed
versioninfo()
Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 32 Γ— AMD EPYC 7302 16-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver2)
Threads: 48 default, 0 interactive, 24 GC (on 32 virtual cores)
Environment:
  LD_LIBRARY_PATH = /cm/shared/apps/slurm/current/lib64/slurm:/cm/shared/apps/slurm/current/lib64

Perhaps you exceeded the number of files that inotify is configured to watch: linux - how to get the number of inotify watches in use - Unix & Linux Stack Exchange
?

I checked the limit and the number is pretty high, I doubt I have exceeded it.
It seems that the cluster switched the default head node. Revise is working on the old head node. What would cause Revise to stop working?

I assume that the file system is the same in both

Hi all, any further info on this? I haven’t used Julia for a month or two, but just did some work then and noticed the same issue. No errors or warnings, but Revise isn’t tracking changes, whether I’m working in Terminal or VSCode. Julia v1.10.4, and all packages updated to latest versions including Revise v3.5.18. I’m on Ubuntu 24.04. Cheers -Colin

So I encountered issues on HPC infrastructure with Revise, because the filesystem was NFS. See: Configuration Β· Revise.jl . This fixes the issue for me.