Closed bennn closed 1 year ago
Yeah, I just tested it and our admittedly hacky frame_library()
function is having a hard time. I tried extracting the lib name in the REPL for the filenames on those traces and this is what I got:
the_rx = r".julia[\\/](packages|dev|scratchspaces)[\\/]([a-zA-Z][a-zA-Z0-9_.-]*)[\\/]"
match(the_rx, "/home/ben/code/julia/julia-1.8.0/usr/share/julia/stdlib/v1.8/LinearAlgebra/src/matmul.jl") # => returns Nothing
match(the_rx, "/home/ben/code/julia/julia-1.8.0/usr/share/julia/stdlib/v1.8/LinearAlgebra/src/matmul.jl") # => returns Nothing
As soon as the injection fires—with or without recording—the should_inject
function will bail out fast because i.ninject > 0
will return false.
If you can try a more "standard" install and it works, then I think we'd best just let the issue rest for a while. Otherwise, a little investment in making this function Do a Better Thing might be worth it.
It's better after following the instructions in the readme here.
After installing that way, julia --project=. examples/finch/inj-adv2d.jl
ran quickly and successfully injected one NaN.
Now, to keep injecting and hunt for bugs!
It's better after following the instructions in the readme here.
I'm delighted to hear that the instructions were sufficient to get this up-and-running! That's good for reproducibility!
What program did you run?
With the following changes to FloatTracker.jl
What did you expect to happen?
What happened
Injector never succeeded.
It failed because
frame_library(frames[1])
was alwaysnothing
Here's the first stack trace that got pretty printed:
Other comments
We have 2 problems:
I didn't install FloatTracker using
.
as the active project. I can go back and do that if its the easiest fix.