Hello,
I was looking at why we had no minidumps for some of our crashes on some
servers and I found that it was because of the CONFIG_PAX_RANDMMAP Linux
kernel features from the PaX patchset.
I don't know if it was reported yet or if there is a known workaround for it.
I have tested it with several kernels, from 3.14.X to 4.2.X on gentoo and
debian.
My test program look like this :
```
newCExceptionHandlerSimple();
// from
https://github.com/Gandi/breakpad-c-wrapper, C wrapper around
// google_breakpad::ExceptionHandler
fd = open(argv[1], O_RDONLY);
addr = mmap(NULL, 1, PROT_READ, MAP_PRIVATE, fd, 0);
ftruncate(fd, 0);
fd = getchar();
printf("%x\n", addr[0x4]); //SIGBUS
```
the output is :
```
$ LD_PRELOAD=./libgbc_c_wrapper.so ./sigbus emptyfile
ExceptionHandler::DoDump google_breakpad::WriteMinidump without FD
Dump path: /tmp/0599f86e-902f-a14d-27ee0962-2a123136.dmp
zsh: segmentation fault (core dumped) LD_PRELOAD=.//libgbc_c_wrapper.so ./sigbus emptyfile
```
The core dump doesn't appear to have anything useful strangely, the
stack is from my program and not breakpad.
Without CONFIG_PAX_RANDMMAP everything is working as expected.
I didn't took a look yet on where it was failing, I'm unfamiliar with
breakpad code and it look difficult to debug since I cannot attach a
debugger to it (or I'm missing something?).
Any idea on how to start to debug without a lot of printf or on where to
start looking would be really appreciated :)
Regards,
-- Nikita