-
Notifications
You must be signed in to change notification settings - Fork 258
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
ndk-stack does not work with 64-bit binaries #20
Comments
Still the same problem with r13 |
@DanAlbert is there any updates on that? |
No, but we should prioritize this. We have a new hire coming soon, and this would make a good starter project. |
i suspect the best way forward here is to kill the existing ndk-stack and switch to the "stack" script we use internally (suitably adjusted to work with the NDK rather than the platform tools). anyone good at python can probably take stack, stack_core.py, and symbol.py from https://android.googlesource.com/platform/development.git/+/master/scripts/ and send us the diff. obviously if you're on Windows there's probably a bit more work involved, . other than this regular expression (which doesn't seem like it would lead to the error folks are seeing)...
https://cs.corp.google.com/android/ndk/sources/host-tools/ndk-stack/ndk-stack-parser.c?l=74 anyway, anyone with a bit of time and some python ought to be able to switch us over to the platform tool (which even has tests!). |
@DanAlbert is there any updates on that? |
No, unfortunately. We're still working on actually filling that new hire slot. It might happen in the r16 time frame, but almost certainly not for beta 1. |
Any updates/progress on that? Have you filled a new hire slot? Are there any workarounds I could use until official fix comes? I currently have a stack trace reported by a client on 64-bit samsung device and I am unable to symbolificate it using |
see "anyone with a bit of time and some python ought to be able to switch us over to the platform tool (which even has tests!)" above. we should have someone starting next month, and what better introduction to the life than deleting ancient ndk-specific cruft and replacing it with the thing we use in the platform? |
Yep, should be able to make this happen for r16. |
FWIW: On my 64-bit Linux machine, ndk-stack already handles ARM64. I see these lines in
I think the Linux I wonder about the Windows I'm still looking at replacing |
Yes. |
I verified that arm32 "objdump -x" and arm64 "objdump -x" output the same thing for libc.a across various archs. I think libbfd is configured for a particular triple and isn't generally expected to work with binaries of a different architecture, so this fix isn't ideal, but it's also trivial. Bug: android/ndk#20 Test: run ndk-stack manually on traces of various archs Change-Id: I2c4783ef2f7fec2af0f1a7671c62a47309f7e819
cool!!!! r16 has fixed this. |
r16b can do it |
This was also issue in r10.
When using 64-bit ARM target on 64-bit device (e.g. Samsung Galaxy S6) and triggering segfault, while attempting to catch stack trace with
adb logcat | ndk-stack -sym ./obj/local/arm64-v8a/
, I get "File format not recognized" error:When forcing the same crash on arm7 target on same device, I get much more information (note the source file and line numbers):
I would be nice if
ndk-stack
could work with 64-bit binaries, since in development I only build native code to match ABI target of connected device (i.e. when I plug in SGS6, my gradle script builds native code only for AMR64, thus not wasting time on building native code for all supported platforms).The text was updated successfully, but these errors were encountered: