You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The salsa pretty stack trace is currently off-by-one, skipping the first function called and duplicating the last one:
julia>using Salsa
julia>@derivedf(rt, x) =g(rt, x)
f (generic function with 1 method)
julia>@derivedg(rt, x) =h(rt, x)
g (generic function with 1 method)
julia>@derivedh(rt, _) =error("OH NO")
h (generic function with 1 method)
julia>f(Runtime(), 1)
ERROR: SalsaWrappedException: Error encountered while executing Salsa derived function:
OH NO
------ Salsa Trace -----------------
[1] @derivedf(::Runtime, 1::Any)
[2] @derivedg(::Runtime, 1::Any)
[3] @derivedh(::Runtime, 1::Any)
------------------------------------
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] %%__user_h(::Salsa._TracingRuntime{Salsa.EmptyContext,Salsa._DefaultSalsaStorage.DefaultStorage}, ::Int64) at ./REPL[16]:1
[3] invoke_user_function(::Salsa._TracingRuntime{Salsa.EmptyContext,Salsa._DefaultSalsaStorage.DefaultStorage}, ::Salsa.DerivedKey{typeof(h),Tuple{Any}}, ::Int64) at /Users/daly/julia-dev/Salsa/src/Salsa.jl:612...
Also, I feel like we're maybe printing the stack backwards? I'm not sure what's best - it kind of makes sense to print top-down since that's like the order of the demand, but usually stack traces are printed the other way. I kind of like though that you can just scroll to the middle and read both the pretty stack trace for the current frame and the julia stack frame of the failure, so that's kind of nice?
The text was updated successfully, but these errors were encountered:
The salsa pretty stack trace is currently off-by-one, skipping the first function called and duplicating the last one:
Also, I feel like we're maybe printing the stack backwards? I'm not sure what's best - it kind of makes sense to print top-down since that's like the order of the demand, but usually stack traces are printed the other way. I kind of like though that you can just scroll to the middle and read both the pretty stack trace for the current frame and the julia stack frame of the failure, so that's kind of nice?
The text was updated successfully, but these errors were encountered: