Commit graph

975 commits

Author SHA1 Message Date
ted.mielczarek@gmail.com
ece9df9386 Get the complete linux gate mapping instead of only one page
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/542002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1134 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 15:06:24 +00:00
ted.mielczarek@gmail.com
cd0eb0f8dc Fix Windows unittest build on VC2012
R=mark at https://breakpad.appspot.com/539003/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1133 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 14:39:55 +00:00
digit@chromium.org
0192fc21b9 Fix three unit tests on recent ARM devices.
Three unit tests were failing on recent ARM devices (e.g. Galaxy Nexus
or Nexus 4), while ran properly on older ones (e.g. Nexus S).

The main issue is that the instruction cache needs to be explicitely
cleared on ARM after writing machine code bytes to a malloc()-ed
page with PROT_EXEC.
Review URL: https://breakpad.appspot.com/540002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1132 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-21 08:22:37 +00:00
ted.mielczarek@gmail.com
4867c9e9d0 Linux MinidumpWriter should properly set number_of_processors on ARM
R=digit at http://breakpad.appspot.com/425002

This doesn't fix this problem in all possible cases, but it makes it
slightly better in some cases, so I think that's a net positive.

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1131 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-12 18:08:30 +00:00
ted.mielczarek@gmail.com
e88f61c7ba Remove "library" variable
A=Thiago Farina <tfarina@chromium.org>
BUG=http://code.google.com/p/chromium/issues/detail?id=111541
R=thestig@chromium.org at https://breakpad.appspot.com/537002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1130 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-07 19:02:46 +00:00
ted.mielczarek@gmail.com
8fdf481b7f fix size types w/x32
A=vapier@chromium.org R=ted at https://breakpad.appspot.com/526002/
BUG=chromium-os:36866
TEST=compiled the code for x86_64 (64bit) & x86_64 (x32)

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1129 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-07 19:02:44 +00:00
ted.mielczarek@gmail.com
dc64e106e2 Provide a ReadSymbolData API for Mac dump_syms
R=mark at https://breakpad.appspot.com/522002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1128 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 20:14:34 +00:00
ted.mielczarek@gmail.com
7546209ddd Make OOP mac crashreporting exit after writing dump
R=mark at https://breakpad.appspot.com/538002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1127 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 20:14:32 +00:00
ivan.penkov@gmail.com
60b5f7c7e9 Keeping track of modules without symbols during crash report processing.
http://breakpad.appspot.com/534002/



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1126 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 19:32:13 +00:00
ted.mielczarek@gmail.com
718ae3284e Allow building symbol dumping without STABS support
R=mark at https://breakpad.appspot.com/536002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1125 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 15:33:02 +00:00
ted.mielczarek@gmail.com
983903ee0a Allow reading just CFI data when reading symbols
R=thestig at https://breakpad.appspot.com/517002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1124 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 15:32:53 +00:00
ted.mielczarek@gmail.com
46cbbb847e Minor Android fixup for symbol dumping code
Patch by Julian Seward <jseward@acm.org>
R=digit at https://breakpad.appspot.com/521002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1123 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 14:43:02 +00:00
ted.mielczarek@gmail.com
93a48343ee Fix some more Win32 compat issues in processor code
R=mark at https://breakpad.appspot.com/535003/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1122 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 14:06:52 +00:00
ted.mielczarek@gmail.com
aeffe1056f Use stdint types everywhere
R=mark at https://breakpad.appspot.com/535002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1121 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 14:04:42 +00:00
ted.mielczarek@gmail.com
c02002a581 Work around Windows headers #defining ERROR by renaming enum values in StackFrameSymbolizer
Patch by Julian Seward <jseward@acm.org>, R=ted

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1120 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-04 15:42:50 +00:00
ted.mielczarek@gmail.com
cd04fe2c88 Remove unnecessary #include unistd.h
(no review, trivial change)

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1119 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-01 17:33:25 +00:00
ted.mielczarek@gmail.com
7d1e1e273a Make CompareStringPtrs::operator() a const method
Patch by Julian Seward <jseward@acm.org>, R=ted

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1118 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-28 19:52:51 +00:00
ted.mielczarek@gmail.com
111cce8a88 Add missing "using std::sort" to dwarf_cu_to_module.cc.
Patch by Julian Seward <jseward@acm.org>, R=ted

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1117 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-28 19:52:37 +00:00
ted.mielczarek@gmail.com
7a469b1031 Fix DumpSymbols error message when using multiple debug_dirs, followup from r1102.
Patch by Julian Seward <jseward@acm.org>, R=ted

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1116 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-27 16:43:26 +00:00
ted.mielczarek@gmail.com
24c9dfed8a size_limit_ member of minidump_descriptor ignored in copy constructor
Patch by Avishai Hendel <avish@fb.com>, R=mkrebs at https://codereview.appspot.com/7305060/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1114 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-14 14:03:54 +00:00
ted.mielczarek@gmail.com
0513eeca07 Make MmapWrapper a little less silly
R=thestig at https://breakpad.appspot.com/527002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1113 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-14 14:03:51 +00:00
ted.mielczarek@gmail.com
bd6d0964e7 Fix some issues with -Werror=sign-compare on Android builds
R=digit at https://breakpad.appspot.com/524002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1110 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-01 19:20:34 +00:00
qsr@chromium.org
00407e09c7 Add API to find out if there is crash reports to send to the server.
Review URL: https://breakpad.appspot.com/518002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1109 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-01 09:49:09 +00:00
ted.mielczarek@gmail.com
52925cb9b3 minidump_stackwalk: Show argument registers for ARM stack traces
Patch by Michael Krebs <mkrebs@chromium.org>, R=ted at https://breakpad.appspot.com/497002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1108 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-31 19:49:03 +00:00
ted.mielczarek@gmail.com
015e79275e Remove a call to new[] from WriteDSODebugStream
R=mark at https://breakpad.appspot.com/523002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1107 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-31 16:15:55 +00:00
ted.mielczarek@gmail.com
1f87c4a732 Include the compilation directory for FILE entries, making them absolute instead of relative
A=Ryan Sleevi <rsleevi@chromium.org> R=mark,ted at https://breakpad.appspot.com/385001/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1106 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-23 18:01:28 +00:00
jimblandy
be81ededf8 Print the correct return address, even on architectures where StackFrame::instruction is offset.
a=bruce.dawson, r=jimblandy


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1105 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-22 22:38:41 +00:00
thestig@chromium.org
d2153d7589 Fix remaining processor/scoped_ptr.h references for reals.
Review URL: https://breakpad.appspot.com/516003

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1104 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-22 18:49:58 +00:00
thestig@chromium.org
1c4f4a776c Fix remaining processor/scoped_ptr.h references after r1096.
Review URL: https://breakpad.appspot.com/516002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1103 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-22 17:20:42 +00:00
ted.mielczarek@gmail.com
c6f6d9ef30 Make DumpSymbols methods take a vector of debug_dirs
r=thestig at https://breakpad.appspot.com/512002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1102 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-22 13:36:39 +00:00
thestig@chromium.org
834f7ee611 Remove <(library) usage from gyp files.
BUG=chromium:111541

Patch by Thiago Farina <tfarina@chromium.org>.
Original code review: https://breakpad.appspot.com/513002/
Review URL: https://breakpad.appspot.com/515002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1101 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-19 00:19:16 +00:00
ted.mielczarek@gmail.com
7e72c6677a Provide a ReadSymbolData function to get symbol data in a Module instead of just serializing it
R=thestig at https://breakpad.appspot.com/510002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1099 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-18 20:24:16 +00:00
ted.mielczarek@gmail.com
e086f8a9c8 Don't make MmapWrapper's destructor assert
R=mark at https://breakpad.appspot.com/511002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1098 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-18 13:51:05 +00:00
ted.mielczarek@gmail.com
a151d78133 Fix a couple of warnings in stack_frame_symbolizer code
R=SiyangXie at https://breakpad.appspot.com/509003/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1097 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-18 13:40:40 +00:00
ted.mielczarek@gmail.com
63c5d98003 Move scoped_ptr.h to common
R=mark at https://breakpad.appspot.com/509002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1096 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-17 15:53:56 +00:00
mark@chromium.org
44356b590b ExceptionHandler::HandleSignal
(https://code.google.com/searchframe#OAMlx_jo-ck/src/breakpad/src/client/linux/handler/exception_handler.cc&exact_package=chromium&q=SI_USER&type=cs&l=389)
requires si_pid to be equal to getpid() for SI_USER signals.

This is a patch by Lei Zhang (thestig@chromium.org) that fixes the issue with
Chrome+ASan being unable to upload the crash dump to the crash server when the
seccomp sandbox is on.

Patch by Alexander Potapenko <glider@chromium.org>
Review URL: https://codereview.appspot.com/7066068/


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1095 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-14 18:53:18 +00:00
jimblandy
a8426a5c66 DWARF can store DW_AT_high_pc as either an address or a constant. In the latter
case it's the length of the function. breakpad always treats it as an address.

a=mattdr, r=jimb


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1094 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-08 02:14:44 +00:00
qsr@chromium.org
3d451f31d8 Fix typo.
Review URL: https://breakpad.appspot.com/506002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1093 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-17 14:48:45 +00:00
qsr@chromium.org
bdd7220794 Updating BreakpadController to allow start and stop being nop.
When BreakpadController is already started or stopped, trying to restart it or
restopping it will now be no-op instead of asserting.
Review URL: https://breakpad.appspot.com/505002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1092 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-17 14:20:13 +00:00
mark@chromium.org
6aab1f92bb Remove dead code.
Patch by Rafael Espindola <rafael.espindola@gmail.com>

Review URL: http://breakpad.appspot.com/502003/


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1091 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-12 04:02:58 +00:00
mkrebs@chromium.org
b7aeb98608 Fix minidump size limit used for MinidumpSizeLimit unittest
If the stack sizes for threads in the MinidumpSizeLimit test are too big,
then subtracting 64KB from the normal minidump file size is not enough to
trigger the size-limiting logic.  Instead of basing the arbitrary limit off
of the normal file size, make it relative to the 8KB stack size the logic
assumes.

BUG=google-breakpad:510
TEST=Ran unittests
Review URL: https://breakpad.appspot.com/504002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1090 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-12 02:30:09 +00:00
mark@chromium.org
d4df92aedc Allow the Mac and iOS Breakpad clients to build without exceptions when the C++ standard library is not provided by libstdc++. libc++, for example, does
not provide its own try and catch replacement macros when exceptions are
disabled.

BUG=509
Review URL: https://breakpad.appspot.com/503002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1089 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-11 13:46:41 +00:00
ivan.penkov@gmail.com
947ef27362 The Google-breakpad processor rejects (ignores) context records that lack CPU type information in their context_flags fields. Such context records can be valid (e.g. contexts captured by ::RtlCaptureContext).
http://code.google.com/p/google-breakpad/issues/detail?id=493

http://breakpad.appspot.com/500002/



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1088 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-08 03:18:52 +00:00
mark@chromium.org
bf6d350a68 Explicitly include unistd.h for getpagesize().
Patch by Nico Weber <thakis@chromium.org>

Review URL: https://breakpad.appspot.com/502002/


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1087 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-07 21:31:00 +00:00
ted.mielczarek@gmail.com
0a636257d4 Allow StackwalkerARM to scan much farther to find the caller of the context frame
R=jimb at https://breakpad.appspot.com/501002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1086 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-04 19:30:31 +00:00
qsr@chromium.org
ac9324da7a Add assertion on initialization sequence.
The order at which to call the controller methods is:
1) Any method that change the configuration_ field
2) start
3) Any other method

 This change adds assertion that it is done correctly.
Review URL: https://breakpad.appspot.com/499003

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1085 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-11-28 17:04:52 +00:00
ivan.penkov@gmail.com
f6864d2ead Fix unused variable warning in optimized build (fix proveded by Matthew Riley)
http://breakpad.appspot.com/499002/



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1084 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-11-21 01:38:58 +00:00
ivan.penkov@gmail.com
c937b0ee01 Cleaning up google-breakpad source code of signed-unsigned comparison warnings
http://breakpad.appspot.com/488002/



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1083 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-11-21 01:33:08 +00:00
mkrebs@chromium.org
d80f175c1a Add optional file size limit for minidumps
When there are upwards of 200 threads in a crashing process, each having an
8KB stack, this can result in a huge, 1.8MB minidump file.  So I added a
parameter that, if set, can compel the minidump writer to dump less stack.
More specifically, if the writer expects to go over the limit (due to the
number of threads), then it will dump less of a thread's stack after the
first 20 threads.

There are two ways to specify the limit, depending on how you write minidumps:
1) If you call WriteMinidump() directly, there's now a version of the
   function that takes the minidump size limit as an argument.
2) If you use the ExceptionHandler class, the MinidumpDescriptor object you
   pass to it now has a set_size_limit() method you would call before
   passing it to the constructor.

BUG=chromium-os:31447, chromium:154546
TEST=Wrote a size-limit unittest; Ran unittests
Review URL: https://breakpad.appspot.com/487002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1082 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-11-15 00:01:13 +00:00
mkrebs@chromium.org
1b75bf9f8a Fix assertion failure in WriteMappings() for zero modules
If there were no mappings where ShouldIncludeMapping() returned true,
AllocateObjectAndArray() would die with an assertion failure.

BUG=chrome-os-partner:14914
TEST=Ran unittests
Review URL: https://breakpad.appspot.com/492002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1081 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-11-14 22:01:35 +00:00