DynamoRIO / DynamoRIO/dynamorio

CRASH on Android, SIGSEGV at pc 0xaaff9f50

Open
#2,004 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.