-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Broken stack (with "1 instruction trace errors" warning) on non-tailrecursive code #246
Comments
First of all, thanks for reporting this. A broken stack given only one trace error certainly sounds like it could be tickling a bug. I'll dig into this properly this weekend. In case you just want a usable trace, there are two remedies for trace errors that tend to work for most people:
Out of curiosity, what CPU are you using? |
Thanks!
Intel i9-9900KS |
I find that on my machine (Intel i5-1145G7) running magic-trace with the environment variable For fellow magic-trace devs: It looks like the dlfilter is eating trace errors. Here's a relevant excerpt when running without dlfilter:
And here it is with the dlfilter:
Both these excerpts are from the same spot in the same trace file. |
Hmm we only added dlfilter recently, so it's just in master. Were you experiencing this issue using the latest release of magic-trace? |
To be clear, the trace I'm seeing without dlfilter doesn't look very good. But all the brokenness I see is due to decode errors, and only Intel can do anything about those. When a big tower of stackframes ends abruptly, see if there's a little triangle at the bottom. If you click that and it says |
Per janestreet#246, I think it's busted right now in the face of trace errors. Lets turn it off by default until we ship a solution.
Per #246, I think it's busted right now in the face of trace errors. Lets turn it off by default until we ship a solution.
For example, running
magic-trace run -full-execution
on this code:Prints
Warning: 1 instruction trace errors
and shows a cut-off stack as shown below (if a bigger directory is chosen, it happens more than once):The issue happens in similar code that doesn't use exceptions, so I don't think irregular control flow is the issue. Just for reference, this is in a 4.14 flambda switch and the executable is built with
dune --profile=release
.The text was updated successfully, but these errors were encountered: