Why am I getting the message Failed to Revise

I installed the package FinancialToolbox, and tested it as recommended:


The package passed the test but there was a ‘Failed tp Revise’ message. There was a also a recommendation to try Revise.retry(), which I did. This is the outcome:

julia> Revise.retry()
┌ Error: Failed to revise C:\Users\fsald\.julia\packages\MbedTLS\bYd4w\src\ssl.jl
│   exception =
│    invalid redefinition of constant SSLContext
│    Stacktrace:
│     [1] top-level scope
│       @ C:\Users\fsald\.julia\packages\MbedTLS\bYd4w\src\ssl.jl:33
│    Revise evaluation error at C:\Users\fsald\.julia\packages\MbedTLS\bYd4w\src\ssl.jl:33
└ @ Revise C:\Users\fsald\.julia\packages\Revise\VskYC\src\packagedef.jl:708 

I do not know if this is important, but it would be nice to know why this is happening and what does it mean. Thanks for any hints.

Revise is a package used for interactive development of packages. If you do using Revise; using MyPackage then changes to the source code of MyPackage would be immediately reflected in the running Julia process (with some limitations), instead of having to restart Julia. A message like this appears when something fundamental was changed in MyPackage and Revise can not do a live update.

Did you on purpose import Revise? If not, it was probably part of your default environment (e.g. the Julia plugin for VSCode imports Revise behind the scene). If that is the case, just try this same procedure without Revise in a clean Julia REPL (e.g. by starting Julia from the terminal, not from VSCode).

If you are on purpose importing Revise because you want to use its interactive functionality… then I have no idea why this particular error is happening. A test suite for a package is not supposed to be modifying other packages (e.g. the MbedTLS package referred to in the error message). Something wrong is happening here, and I am sure either the FinancialToolbox or Revise developers would be interested in tracking the issue down.

Thanks. I added using Revise and the problem was solved.