Revise seems not triggered in Juno IDE

The other day I decided to come back to Juno for Julia IDE. I have julia-client 0.11.3, language-julia 0.19.1, uber-juno 0.3.0, all of which are the latest. It is no longer unresponsive or lagging. So far so good.

However, with these settings, Revise seems not working. I have in my startup.jl:

push!(LOAD_PATH, ".")
using Revise

VS Code is ok; I define a module in a file. The module contains a function. I import the module in another jl file, call the function, edit the function and call the function. The effect take place on the fly, immediately without calling include(“MyModule.jl”). This is typically what Revise does for you.

The same thing does not happen in Juno environment (as noted above, all related packages are up to date). What else I could try?

Did you try loading Revise with

atreplinit() do repl
    try
        @eval using Revise
        @async Revise.wait_steal_repl_backend()
    catch
    end
end 

like suggested in the docs?

@pfitzseb, thanks for the instruction. I just tried now. Revise seems to have begun to interact somehow. Perhaps because of the wait_steal_repl_backend() there is a little annoying initial delay on REPL startup. Real problem is Revise is crashing along with lengthy error message after I modify code and rerun it. Maybe I should take this to Github?

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x71921d83 – _ZNK4llvm7PHINode24getIncomingValueForBlockEPKNS_10BasicBlockE at C:\Users\Earth\AppData\Local\Julia-1.2.0\bin\LLVM.dll (unknown line)
in expression starting at none:0
_ZNK4llvm7PHINode24getIncomingValueForBlockEPKNS_10BasicBlockE at C:\Users\Earth\AppData\Local\Julia-1.2.0\bin\LLVM.dll (unknown line)
_ZN12_GLOBAL__N_114CodeGenPrepare20splitBranchConditionERN4llvm8FunctionE at C:\Users\Earth\AppData\Local\Julia-1.2.0\bin\LLVM.dll (unknown line)
_ZN12_GLOBAL__N_114CodeGenPrepare13runOnFunctionERN4llvm8FunctionE.part.1138 at C:\Users\Earth\AppData\Local\Julia-1.2.0\bin\LLVM.dll (unknown line)
_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE at C:\Users\Earth\AppData\Local\Julia-1.2.0\bin\LLVM.dll (unknown line)
_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE at C:\Users\Earth\AppData\Local\Julia-1.2.0\bin\LLVM.dll (unknown line)
_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE at C:\Users\Earth\AppData\Local\Julia-1.2.0\bin\LLVM.dll (unknown line)
operator() at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\jitlayers.cpp:368
addModule at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/usr/include/llvm/ExecutionEngine/Orc\IRCompileLayer.h:57 [inlined]
addModule at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\jitlayers.cpp:506
jl_add_to_ee at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\jitlayers.cpp:752 [inlined]
jl_finalize_function at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\jitlayers.cpp:760
getAddressForFunction at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\codegen.cpp:1331
jl_generate_fptr at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\codegen.cpp:1423
jl_compile_method_internal at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1795
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2196
#methods_by_execution!#14 at C:\Users\Earth.julia\packages\Revise\439di\src\lowered.jl:81
#methods_by_execution! at C:\Users\Earth.julia\packages\Revise\439di\src\lowered.jl:0 [inlined]
#methods_by_execution!#9 at C:\Users\Earth.julia\packages\Revise\439di\src\lowered.jl:49
unknown function (ip: 00000000399FCF48)
#methods_by_execution! at .\none:0 [inlined]
#eval_with_signatures#63 at C:\Users\Earth.julia\packages\Revise\439di\src\Revise.jl:353
#eval_with_signatures at C:\Users\Earth.julia\packages\Revise\439di\src\Revise.jl:0 [inlined]
#instantiate_sigs!#64 at C:\Users\Earth.julia\packages\Revise\439di\src\Revise.jl:361
instantiate_sigs! at C:\Users\Earth.julia\packages\Revise\439di\src\Revise.jl:358
[inlined]
maybe_parse_from_cache! at C:\Users\Earth.julia\packages\Revise\439di\src\pkgs.jl:229
handle_deletions at C:\Users\Earth.julia\packages\Revise\439di\src\Revise.jl:480 [inlined]
revise at C:\Users\Earth.julia\packages\Revise\439di\src\Revise.jl:533
revise at C:\Users\Earth.julia\packages\Revise\439di\src\Revise.jl:569 [inlined]
run_backend at C:\Users\Earth.julia\packages\Revise\439di\src\Revise.jl:972
#80 at .\task.jl:268
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2197
jl_apply at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\julia.h:1614 [inlined]
start_task at /home/Administrator/buildbot/worker/package_win64/build/src/home/Administrator/buildbot/worker/package_win64/build/src\task.c:596
Allocations: 61513425 (Pool: 61499428; Big: 13997); GC: 140
LLVM ERROR: starting new .cfi frame before finishing the previous one

Yes, please do open an issue here.

Also note that you don’t need Revise when – you can evaluate code inside of modules manually with just Juno (see e.g. here for what that would look like).

@pfitzseb, thank you for the useful tips. :slight_smile: Yes sure I will open an issue.