Wrong fallback logic for name() libbacktrace backend#224
Open
prbegd wants to merge 5 commits into
Open
Conversation
name() not working in libbacktrace_impls.hpp on mingw-w64name() libbacktrace backend
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #212
https://github.com/ianlancetaylor/libbacktrace/blob/master/backtrace.h#L180 shows that the return value of
backtrace_pcinfodepends on the return value of thecallbackfunction. But the currentlibbacktrace_full_callbackalways returns 0:stacktrace/include/boost/stacktrace/detail/libbacktrace_impls.hpp
Lines 50 to 60 in 4f8cabb
This leads the invocation of
backtrace_pcinfoto always return 0, which makes the logical OR expression always evaluate the right hand sidebacktrace_syminfo:stacktrace/include/boost/stacktrace/detail/libbacktrace_impls.hpp
Lines 177 to 191 in 4f8cabb
Therefore, the result from
backtrace_pcinfois always overwritten by the result frombacktrace_syminfo.As a solution,
libbacktrace_full_callbackwill now return 1 only when there's valid data.