-
Notifications
You must be signed in to change notification settings - Fork 253
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
Update libbacktrace to latest master #299
Conversation
Ok I did a bit of debugging locally to figure out what's going on there. The failing test case here is testing the accuracy of backtrace symbolization without debuginfo, where we still want at least some sort of human readable names. Something is coming out but not every symbol is being resolved when it should be. The previous iteration of libbacktrace passed this test because it never actually called the callback in Honestly I'm not actually entirely sure about the relationship between |
Ok I dug in some more. Applying this patch confirms that the symtab entry, which I believe is all that dladdr consults, is indeed correct and we can symbolize purely based on the symbol table. I believe this is what libbacktrace is trying to do, but presumably there's a bug in libbacktrace in parsing and/or managing the symbol table. |
From a quick look, it is skipping over externally visible symbols, which seems wrong to me. |
Oh nice, thanks @philipc! Indeed deleting those two lines gets the test passing. @t6 would you be willing to try to get that patch into upstream libbacktrace? |
@alexcrichton Seems like the https://developer.apple.com/documentation/kernel/nlist_64/1583944-n_type?language=objc |
Ah never mind, it's just a |
@alexcrichton Do you think we could update libbacktrace with local patches instead of waiting for upstream? There is no ETA as to when they will reply. |
You're welcome @alexcrichton. Can't wait for a new release! That will allow us to remove a |
Ok I've published new releases with these updates as well. |
Update backtrace to 0.3.46 rust-lang/backtrace-rs#299 landed so we can stop patching backtrace in our tree.
Update backtrace to 0.3.46 rust-lang/backtrace-rs#299 landed so we can stop patching backtrace in our tree.
Update backtrace to 0.3.46 rust-lang/backtrace-rs#299 landed so we can stop patching backtrace in our tree.
See rust-lang/libbacktrace#1