Skip to content
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

Support stackstrace for aarch64 #529

Closed

Conversation

huangtianhua
Copy link

No description provided.

@googlebot
Copy link
Collaborator

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

@huangtianhua
Copy link
Author

@googlebot I signed it!

@googlebot
Copy link
Collaborator

CLAs look good, thanks!

ℹ️ Googlers: Go here for more info.

@googlebot googlebot added cla: yes and removed cla: no labels Mar 6, 2020
@huangtianhua huangtianhua force-pushed the support-aarch64-stacktrace branch 2 times, most recently from 8917b8f to 924a03a Compare March 17, 2020 01:51
asfgit pushed a commit to apache/kudu that referenced this pull request Mar 24, 2020
According to the comments in glog-0.3.5/src/utilities.h,
there are three different ways we can try to get the stack trace:
1) The libunwind library
2) Our hand-coded stack-unwinder
3) The gdb unwinder

We use first way to get stack trace by default, the function
"GetStackTrace" is defined in stacktrace_libunwind-inl.h, but
it doesn't work for aarch64, this changes to use the
implementation of aarch64 which defined in
stacktrace_aarch64-inl.h no matter libunwind exist or not.

I have proposed a PR to google/glog:
github.com/google/glog/pull/529

Change-Id: Ia8ca769b2bef5fa658d56d11b7ac9537fd9ca637
Reviewed-on: http://gerrit.cloudera.org:8080/15420
Reviewed-by: Grant Henke <granthenke@apache.org>
Tested-by: Kudu Jenkins
src/stacktrace_aarch64-inl.h Outdated Show resolved Hide resolved
src/stacktrace_aarch64-inl.h Show resolved Hide resolved
bazel/glog.bzl Outdated Show resolved Hide resolved
@huangtianhua
Copy link
Author

@sergiud , Thanks for reviewing. And I have a question about getting stacktrace by libunwind, if HAVE_LIB_UNWIND is set(like the case apache/kudu using), we will get stack trace by libunwind before my commit, but seems the function 'GetStackTrace' of stacktrace_libunwind-inl.h dosen't work on aarch64, so I changed the logic to use stacktrace_aarch64-inl.h(which I newly added) if HAVE_LIB_UNWIND is set. So I wonder it is the right way to get stack trace by libunwind on aarch64? or it doesn't support on aarch64? or how to modify the file stacktrace_libunwind-inl.h to support get stack trace on aarch64? Thanks very much.

@romange
Copy link
Contributor

romange commented Oct 5, 2020

@huangtianhua would it be possible to finish this PR?

@sergiud sergiud linked an issue Mar 31, 2021 that may be closed by this pull request
@sergiud
Copy link
Collaborator

sergiud commented Mar 31, 2021

@romange Could you please test the changes?

@sergiud sergiud added this to the 0.5 milestone Mar 31, 2021
@sergiud sergiud self-assigned this Mar 31, 2021
@romange
Copy link
Contributor

romange commented Mar 31, 2021

@sergiud The bug in libunwind seems to be fixed libunwind/libunwind#235

Do you still want to commit the workaround for aarch64 or you prefer to wait for the next version of libunwind to be released?

@sergiud
Copy link
Collaborator

sergiud commented Mar 31, 2021

@romange Thanks for the info. I'd rather avoid the workaround.

@sergiud sergiud closed this Mar 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

stacktrace is not produced on aarch64
4 participants