-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Known profiling issues where unwinding fails #56332
Comments
@IanButterworth is (4) totally resolved at this point? It seems like it's still pretty easy to end up with top-level |
I don't think the gemm thing is fixed. I'm not aware of a PR. I think the issue got confused with a threading bug. |
@IanButterworth Chiming in because I was looking at this—do you know of any library with this issue other than OpenBLAS? |
System libraries like libc for example |
There's not much we can do about those right now, right? (due to (3), presumably) It'd be especially useful to have a test case for (1), if we think we need that ported for AArch64 |
Experience
Show
Profile.print
and most of the samples are hidden as C frames, with no depth when printed viaC=true
i.e.
Reason
Samples that are hidden as C frames with no depth in the Profile tree are indicative of the unwinder not succeeding to unwind back from library code through julia's code.
Potential causes
I'm just collecting comments from slack. Making dedicated issues might make sense, or just PRs to fix.
LLVM-libunwind doesn't have support for unwinding during prologue/epilogue
The platform for AArch64 prohibits async unwinding due to a bug in the spec
Apple compiles most of their libraries only with compact unwind, which by-design is not able to encode async unwinding as that makes it more compact
Quoting @vtjnash
Please feel free to refine this summary directly or suggest changes.
The text was updated successfully, but these errors were encountered: