DynamoRIO / DynamoRIO/dynamorio
CRASH on Android, SIGSEGV at pc 0xaaff9f50
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
Running on some of BoringSSL's tests crashes on Android. I'm reproducing this on a Nexus 5X. Here's the failure:
```
$ ./DynamoRIO-ARM-Android-EABI-6.2.0-2/bin32/drrun -dumpcore_mask 0x8bff -- ./aead_test chacha20-poly1305 chacha20_poly1305_tests.txt
Segmentation fault
```
I wasn't able to get `-dumpcore_mask 0x8bff` to emit anything per the bug reporting instructions (it ran but produced no output). This is using the DynamoRIO-ARM-Android-EABI-6.2.0-2.tar.gz release on GitHub. I've attached the binary it crashed on (gzipped), [aead_test.gz](https://github.com/DynamoRIO/dynamorio/files/470531/aead_test.gz) and its test file, [chacha20_poly1305_tests.txt](https://github.com/DynamoRIO/dynamorio/files/470537/chacha20_poly1305_tests.txt). Hopefully that'll help in reproducing it?
Based on the tests which are crashing, I'm guessing something about our NEON Poly1305 implementation is making DynamoRIO grumpy. The corresponding source is:
https://boringssl.googlesource.com/boringssl/+/master/crypto/poly1305/poly1305_arm.c
https://boringssl.googlesource.com/boringssl/+/master/crypto/poly1305/poly1305_arm_asm.S
Let me know if anything else would be useful.
PS: I've been toying with drcov to generate coverage reports for BoringSSL. This crash aside, it's fantastic! Still got to set up some infrastructure it, but I'm really excited about having coverage reports for both C and assembly, and with good platform support. (Looking forward to AArch64 working.)
Contributor guide
Assessment
This issue has not been assessed yet.