Gallium.jl icon indicating copy to clipboard operation
Gallium.jl copied to clipboard

<No file found. Did DWARF parsing fail?>

Open floswald opened this issue 9 years ago • 4 comments

i am clueless about the followign error. i set 2 breakpoints:

bp = Gallium.breakpoint(bk.cash_stay!)
bp2 = Gallium.breakpoint(bk.saveprob)

when i run the program, it stops at the first breakpoint. however, it exits from that function and does not stop at the second breakpoint, instead (I think) it says

<No file found. Did DWARF parsing fail?>

both functions are called on after the other in the running program:

cash_stay!(cash,u_vec,ia,ip,ih,iL,im,y,age,m,p)
v,id  = saveprob(u_vec,m.tmp_EVown,p)
julia> Gallium.list_breakpoints()
[1] Locations (+: active, -: inactive, *: source):
 * Any matching method added to bk.#cash_stay!
 * Any matching specialization of cash_stay!(cash, u, ia, ip, ih, iL, im, y, age, m, p) at /Users/florian.oswald/git/bk/bk.jl/src/solver.jl:697

[2] Locations (+: active, -: inactive, *: source):
 * Any matching method added to bk.#saveprob
 * Any matching specialization of saveprob(u, EV, p) at /Users/florian.oswald/git/bk/bk.jl/src/solver.jl:765

what's wrong here?

floswald avatar Nov 17 '16 13:11 floswald

That's pretty much an internal error. Do you have a way for me to reproduce this?

Keno avatar Nov 18 '16 08:11 Keno

It happens in a rather large code base that I can't share with you I'm afraid, so that's a problem. I did note however, from reading in another issue, that I have to say @noinline in front of short functions, like saveprob is, for example. with that modification and only setting bp2 = Gallium.breakpoint(bk.saveprob) (not the other breakpoint), I'm at least able to stop inside that function. It's my impression that large code bases are harder to manage for the debugger, which is kind of intuitive if it has to analyse a more complex tree. not sure that is true anyway. it does make it harder to provide reproducible examples though. any suggestions, I'm happy to help.

floswald avatar Nov 18 '16 08:11 floswald

Well, it's no secret that the breakpointing bits of Gallium are a little fragile (the @enter stuff is pretty solid though). For good reason of course, and it'll get better with time but that's the current state. julia -O0 --inline=no helps work around some of these issues, but not all of them.

Keno avatar Nov 18 '16 08:11 Keno

ah, ok I didn't know that. I can use @enter i guess. thanks! (you can close this unless you think there's any use leaving it here)

floswald avatar Nov 18 '16 08:11 floswald