breakpad/src
Lars Volker f25a411200 Fix stack collection with size limit
src/client/linux/minidump_writer/minidump_writer.cc:273 obtains the
stack info by calling GetStackInfo(). That method will return the
stack base address, aligned to the bottom of the memory page that
'stack_pointer' is in. After that it will cap the size of the memory
area to be copied into the minidump to 'max_stack_len', starting from
the base address, if the caller requested so. This will be the case
when collecting reduced stacks, as introduced by this change:
https://breakpad.appspot.com/487002/

In such cases the caller will request 2048 bytes of memory. However
GetStackInfo() will have aligned the base address to the page
boundary, by default 4096 bytes. If the stack, which grows towards the
base address from the top ends before the 2048 bytes of the first
block, then we will not collect any useful part of the stack.

As a fix we skip chunks of 'max_stack_len' bytes starting from
the base address until the stack_pointer is actually contained in the
chunk, which we will add to the minidump file.

BUG=https://bugs.chromium.org/p/google-breakpad/issues/detail?id=695
R=ivanpe@chromium.org

Review URL: https://codereview.chromium.org/1959643004 .

Patch from Lars Volker <lv@cloudera.com>.
2016-05-24 11:49:35 -07:00
..
build Rename gyp variable use_titlecase_in_grd_files -> use_titlecase_in_grd. 2014-09-10 12:47:46 +00:00
client Fix stack collection with size limit 2016-05-24 11:49:35 -07:00
common use another elf.h inside the package for common/dwarf/elf_reader 2016-05-18 15:06:38 -07:00
google_breakpad Revert "Write adjusted range back to module" 2016-05-13 12:45:44 -04:00
processor Revert "Write adjusted range back to module" 2016-05-13 12:45:44 -04:00
third_party Replaced glibc version of elf.h with musl version of elf.h. 2016-05-12 14:22:59 -07:00
tools Replaced glibc version of elf.h with musl version of elf.h. 2016-05-12 14:22:59 -07:00
breakpad_googletest_includes.h test: allow use of system gmock/gtest libs 2016-01-25 19:27:56 -05:00
config.h.in Fix a dependency issue in automake 2016-04-12 14:55:18 -04:00