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
Low-level profiler issue on OSX #2608
Comments
@sklam do you have any thoughts on how best to proceed with this? |
I believe the error comes from https://github.com/llvm/llvm-project/blob/release/4.x/libunwind/src/UnwindCursor.hpp#L1121 and it should be harmless. We can check if there's a way to turn off the debug log from libunwind. It's also possible to try newer libunwind version. Currently, we are getting libunwind=4.0.1 from conda's defaults. In additional, stacktrace is guarding any segmentation fault from libunwind due to misinterpretion of the unwind info. See https://github.com/numba/stacktrace/blob/e472bb124f266a64568326756033f23b5a6205b6/stacktrace/bt.c#L166-L167. So, even if libunwind fails to read the unwind info, stacktrace will not crash. It will just return truncated stack info. |
I cannot replicate the log message. Can you share your conda-environment listing? |
Sure, here's mine:
|
I've just compiled libunwind from llvm's master branch and then installed stacktrace linking to that, but I still get the same issues:
The process got stuck at this point, it was supposed to run 100 iterations, but froze after about 15. I decided to attach lldb to the process, this is what I see immediately:
|
If it is freezing, it is bad. Were there other threads running. The mainthread is waiting (spinlocked) for the "profiled" thread to finish. |
Yes, there are other threads. Please see https://gist.github.com/pentschev/0e13fa1fef01565c1c63101db1e22d68. I think the only threads running some stacktrace code at that moment are threads 1, 4 and 6. |
@mrocklin encountered the following issue on OSX when attempting to use the low-level profiler:
The error message comes from LLVM's libunwind, this is possible to fail also on Linux if we attempt using LLVM.
It's not clear at the moment if this is a libunwind bug, stacktrace or from Dask distributed.
The text was updated successfully, but these errors were encountered: