Commit graph

1023 commits

Author SHA1 Message Date
mark@chromium.org
05829315f0 Fix svn:executable and svn:eol-style properties in src/client/windows.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@872 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-20 13:18:59 +00:00
qsr@chromium.org
38e7f8b51b Changing declaration order of field to correct compilation warnings.
Review URL: http://breakpad.appspot.com/316001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@871 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-18 07:35:46 +00:00
jessicag.feedback@gmail.com
bf407c0c77 Add includes for unittests that appear to need them.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@870 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-17 19:08:31 +00:00
qsr@chromium.org
01596d3bc1 Use frame pointer to walk ARM stack on iOS.
Review URL: http://breakpad.appspot.com/314001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@869 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-17 13:42:35 +00:00
qsr@chromium.org
375928a0a6 Breakpad implementation for ios.
To be noted:
 1) All is done in process, as multi-process is not allowed on ios.
 2) Dump are saved when a crash occures but are not automatically send to the
    server.
 3) Breakpad.h contains function to check if a dump must be uploaded, and to
    upload a dump.
 4) The code is copy pasting a log of Breakpad implementation for Mac OS. It
    might be possible to do some refactoring.
Review URL: http://breakpad.appspot.com/309003

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@868 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-12 14:00:19 +00:00
qsr@chromium.org
e694156d72 Handling reading arm executable.
Because CPU_TYPE_ARM is not defined on Mac OSX 10.4, I have to redefine the
variable to the correct value.
Review URL: http://breakpad.appspot.com/310004

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@867 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-12 13:49:03 +00:00
mark@chromium.org
7de777ec24 Minor formatting fix following r865.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@866 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 20:16:17 +00:00
mark@chromium.org
7e5c7d7c21 More fixes following r862.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@865 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 20:07:43 +00:00
mark@chromium.org
6e91e4a8fb Additional fixes following r862.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@864 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 18:43:41 +00:00
mark@chromium.org
305061cac0 Use fixed revisions for svn:externals:
src/third_party/glog at r97
src/third_party/protobuf/protobuf at r407

Remove the bogus externals (not svn:externals) property from src.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@863 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 18:15:06 +00:00
mark@chromium.org
bc582f782b Remove "using namespace std" from dwarf2reader.h. Using-directives are
forbidden by the style guide, and are bad practice in headers even under
style rules that tolerate this construct.

This fixes warnings such as:

In file included from dwarf2reader.cc:34:
dwarf2reader.h:53:17: warning: using namespace directive in global context in header [-Wheader-hygiene]
Review URL: http://breakpad.appspot.com/312002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@862 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 17:59:03 +00:00
mark@chromium.org
29b0d713c9 Fix harmless warning in dwarf_cfi_to_module.cc.
This function already establishes that (signed) i must be positive by the time
it assigns it to (unsigned) reg. Because reg is unsigned, it is impossible for
it to be negative. Because i was already checked for positivity, this check
can be removed entirely. It was not a miswritten check that intended to check
i instead of reg, because i is already checked.

This addresses the following warning:

dwarf_cfi_to_module.cc:135:9: warning: comparison of 0 <= unsigned expression is always true [-Wtautological-compare]

Committed r859
Review URL: http://breakpad.appspot.com/310003

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@861 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 17:38:35 +00:00
mark@chromium.org
a75f1bf9e7 Fix harmless printf abuse in symupload.
symupload printed -[NSData length], an NSUInteger, using %lu. %lu is proper
to print a "long" as unsigned, but NSUInteger is a typedef for "unsigned int"
when building for 32-bit. This would not have caused any problems, because in
the 32-bit model, both int and long are 32 bits wide. In the 64-bit model,
long is 64 bits wide, but NSUInteger is defiend as "unsigned long", so there
wouldn't have even been a warning in that case.

This addresses the following warning:

symupload.m:137:30:{137:28-137:31}{137:46-137:59}: warning: conversion specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned int') [-Wformat]
Review URL: http://breakpad.appspot.com/313002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@860 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 17:38:01 +00:00
mark@chromium.org
6669714772 Remove duplicate definition of GTMLoggerDebug.
The actual defintion comes from common/mac/GTMLogger.h, #imported above.

This removes a compilation warning that showed up in r853:

uploader.m:52:9: warning: 'GTMLoggerDebug' macro redefined
GTMLogger.h:339:9: note: previous definition is here
Review URL: http://breakpad.appspot.com/310002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@859 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 17:37:32 +00:00
qsr@chromium.org
f53e77c011 Adding missing method.
parameters method was missing on Uploader.
Review URL: http://breakpad.appspot.com/312001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@858 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 16:55:19 +00:00
mark@chromium.org
3473acb12e #include BreakpadDefines.h as "BreakpadDefines.h" and not
<Breakpad/BreakpadDefines.h>.

During the build of Breakpad itself (especially in Chromium), there is no
Breakpad.framework/Headers in which to locate BreakpadDefines.h, so the
framework-style #include of <Breakpad/BreakpadDefines.h> is not able to find
anything to #include. Using the "BreakpadDefines.h" form should always locate
this file next to Breakpad.h whether it's in the framework or in the source
tree.

This fixes a Chromium build regression caused by Breakpad r856.
Review URL: http://breakpad.appspot.com/313001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@857 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 16:47:47 +00:00
qsr@chromium.org
0775bfd7ab Extract constants from Breakpad.h.
This is done to allow ios implementation to use the same constants.
Review URL: http://breakpad.appspot.com/311001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@856 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 14:40:57 +00:00
qsr@chromium.org
b958379739 Handle ios dump.
This change add a flag for ios minidumps and allow handler to recognize it.

 It doesn't recognize arm specific exceptions that will be logged as unknown
type.
Review URL: http://breakpad.appspot.com/311002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@855 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-11 14:17:02 +00:00
qsr@chromium.org
9d4dcad18b Use right header.
Code was pulling Cocoa dependency, when Foundation is enough.
Review URL: http://breakpad.appspot.com/310001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@854 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-10 14:43:03 +00:00
qsr@chromium.org
bf747d2dbb Extract the uploader process from crash_report_sender
The aim is to separate the process itself from the view, to be able to
reuse the process on the iOS platform.
Review URL: http://breakpad.appspot.com/309002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@853 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-10 14:40:26 +00:00
qsr@chromium.org
da1c36d03e Extracting the config file class from the Inspector to be able to reuse it.
This will be needed for iOS implementation, where the Inspector won't be
used, but where a config file will still be needed, because the uploads
won't happen just after the crash, but on a next run.
Review URL: http://breakpad.appspot.com/309001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@852 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-10 14:02:29 +00:00
qsr@chromium.org
ad8682bbca Do not commit user preferences for xcodeproj.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@851 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-10 10:29:22 +00:00
mark@chromium.org
e312875f88 Move svn:externals definitions closer to their points of use.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@850 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-07 22:08:14 +00:00
mark@chromium.org
50be704a88 Update linux-syscall-support (lss) to r7
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@849 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-07 22:05:05 +00:00
qsr@chromium.org
9525fcd633 #ifdef cpu specific code.
Review URL: http://breakpad.appspot.com/307002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@848 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-07 15:57:23 +00:00
mark@chromium.org
be368a3d4a 10.4 SDK fix
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@847 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-06 18:03:17 +00:00
qsr@chromium.org
c26b26c2af Adding .dirstamp to svn:ignore for libdisasm.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@846 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-06 13:27:38 +00:00
qsr@chromium.org
52a90898ab Adding svn:ignore properties for .deps and .dirstamp
Remove spurious .distamp from the repository.

 LGTM from stuartmorgan.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@845 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-06 13:24:35 +00:00
mark@chromium.org
405bb7aff7 Address review comments from r843 (http://breakpad.appspot.com/307001)
Review URL: http://breakpad.appspot.com/308001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@844 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-05 22:32:27 +00:00
mark@chromium.org
1e9dbde88a Ensure crash reports will be uploaded on the Mac.
Regression from Breakpad r842 (Chromium r103778) - browser crash reports were
uploaded, but renderer crash reports were not. Messages such as these may have
been logged:

com.apple.launchd.peruser.x[y] could not lookup DNS configuration info
service: (ipc/send) invalid destination port
com.apple.launchd.peruser.x[y] Breakpad Reporter: Send Error: Error
Domain=NSURLErrorDomain Code=-1009 UserInfo=z "This computer’s Internet
connection appears to be offline." Underlying Error=(Error
Domain=kCFErrorDomainCFNetwork Code=-1009 UserInfo=w "This computer’s Internet
connection appears to be offline.")

When OnDemandServer establishes the bootstrap subset, it will now register the
parent bootstrap port in the subset namespace so that the Inspector can
recover this port and switch to it. The Sender, launched by the Inspector,
relies on the bootstrap port being set properly.

BUG=chromium:99252
TEST=All test cases from Chromium r103778 (bug chromium:28547) plus:
     about:crash should generate a crash report which should be uploaded,
     provided that throttling is not in effect. Remove or edit
     ~/Library/Preferences/com.Breakpad.crash_report_sender.plist to defeat
     throttling. Also verify that about:inducebrowsercrashforrealz works.
Review URL: http://breakpad.appspot.com/307001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@843 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-05 21:58:10 +00:00
mark@chromium.org
e7b75dbcc3 Use a bootstrap subset port for the inspector, tying the subset to the
lifetime of the task to be monitored, the invoking task. This allows the
bootstrap server (in launchd) to automatically clean up the Mach server
registration when the task being monitored exits, avoiding leaks of
com.Breakpad.Inspector(pid) ports in "launchctl bslist".

BUG=chromium:28547
TEST=Handler should still crash catches, but inspector ports should no longer
     show up in "launchctl bslist". They should show up under a subset port in
     "launchctl bstree" instead. "launchctl bstree" must be invoked as root.
Review URL: http://breakpad.appspot.com/306001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@842 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-10-03 19:54:28 +00:00
mark@chromium.org
9dfe692010 Fix some compilation warnings and other errors due to API changes
Review URL: http://breakpad.appspot.com/305002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@841 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-29 16:14:01 +00:00
mark@chromium.org
742e915661 Build the Mac Breakpad utilities with the 10.5 SDK in x86_64 Debug mode. This
was already the SDK being used for x86_64 Release mode. The 10.6 SDK is not
necessary.

Explicitly set the file encoding to UTF-16 on the sender app's lproj's
InfoPlist.strings and Localizable.strings files.

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@840 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-28 20:10:34 +00:00
mark@chromium.org
86901970f2 Fix encoding of breakpad/src/client/mac/testapp/English.lproj/InfoPlist.strings
in breakpad/src/client/mac/Breakpad.xcodeproj - it's UTF-16, not UTF-8.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@839 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-27 22:01:13 +00:00
mark@chromium.org
494fa83886 Fix some newlines.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@838 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-27 21:32:40 +00:00
mark@chromium.org
1f17be3171 Fix totally busted-up project file that was, for the most part, wrong for
non-Debug configurations and was probably even a little wrong for Debug too.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@837 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-27 21:17:04 +00:00
mark@chromium.org
86643aa489 Fix breakpad/src/tools/mac/crash_report/on_demand_symbol_supplier.mm following
r835.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@836 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-27 21:02:31 +00:00
thestig@chromium.org
8d54c75092 Linux/Mac: Add option to omit the CFI section in dump_syms.
Review URL: http://breakpad.appspot.com/304001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@835 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-14 01:02:55 +00:00
mihaip@chromium.org
912c99fc8e Remove javascript_engine GYP variable.
(it's no longer needed in Chromium as of http://crrev.com/100692)

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


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@834 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-13 16:05:17 +00:00
ted.mielczarek
f3b59ca226 Fix 64-bit literals in test data
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@833 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-01 19:43:27 +00:00
ted.mielczarek
9f042be4a7 issue 438 - fix array index bug in libdisasm
P=matthewbg@google.com R=ted

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@832 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-31 16:38:40 +00:00
ted.mielczarek
1a1890a52a Adjust MD_CONTEXT_CPU_MASK to reflect reality, fix some code so it can handle dumps using the old value for MD_CONTEXT_ARM
The value of MD_CONTEXT_CPU_MASK in use assumes that only the lower 6 bits are used for flags, and the upper 26 bits are for the CPU type. However, as of Windows 7 SP1, the 7th bit is being used as a flag (per http://msdn.microsoft.com/en-us/library/hh134238%28v=vs.85%29.aspx and the Windows SDK headers). Adjusting MD_CONTEXT_CPU_MASK works, but unfortunately that masks off the existing value of MD_CONTEXT_ARM. This patch also changes the value of MD_CONTEXT_ARM and adjusts the minidump context reading machinery to gracefully handle minidumps with the old value.
R=mark at http://breakpad.appspot.com/302001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@831 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-30 22:22:08 +00:00
ted.mielczarek
8ade75f955 issue 243 - Linux dumper should use build id produced by ld --build-id if available
R=thestig at http://breakpad.appspot.com/185001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@830 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-30 15:21:07 +00:00
ted.mielczarek
68e380d5a7 Fix libcurl include in http_upload (trivial, no bug)
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@829 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-30 15:20:56 +00:00
mark@chromium.org
93257311a1 Fix a Breakpad crash during teardown when USE_PROTECTED_ALLOCATIONS is in
effect.

BUG=none
TEST=Apple Crash Reporter logs from processes in which Breakpad handles the
     crash should point the finger at the actual crash source, not the
     Breakpad thread's attempt to write to unwritable memory.
Review URL: http://breakpad.appspot.com/301001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@828 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-26 22:29:33 +00:00
mark@chromium.org
ce8d2156e8 Add missing (parentehses.)
BUG=247, chromium:94107
TEST=Minidump file sizes should be manageable
Review URL: http://breakpad.appspot.com/300002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@827 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-26 21:37:59 +00:00
mark@chromium.org
60a883212f Fix CalculateStackSize to behave properly when the main thread's stack is
split up into multiple regions.

An older workaround relyied on known fixed stack locations and only filled in
the initial page of the stack if it was in a distinct region. The new approach
looks upwards for additional regions that appear to be part of the same stack.

With PIE on Lion, the stack no longer begins at a fixed address, so the older
workaround became ineffective.

BUG=247, chromium:94107
TEST=Stacks should run through to _main/start and then stop when examining
     Chrome on Lion with PIE and "slid" stacks.
Review URL: http://breakpad.appspot.com/300001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@826 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-25 21:19:29 +00:00
mark@chromium.org
7b8b8632d3 The process_id field is unsigned, so we need this cast in c++0x.
Patch by Rafael Ávila de Espí­ndola <respindola@mozilla.com>

https://bugzilla.mozilla.org/show_bug.cgi?id=677644


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@825 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-11 13:47:38 +00:00
mark@chromium.org
e6c0689091 The first field in a MDLocationDescriptor is a u_int32_t, so change this cast
to the correct type. This fixes an error newer clang versions find in c++ 0x
mode.

Patch by Rafael Ávila de Espí­ndola <respindola@mozilla.com>

https://bugzilla.mozilla.org/show_bug.cgi?id=677641


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@824 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-11 13:45:30 +00:00
mark@chromium.org
8f2b058398 Fix clang warnings.
Review URL: http://breakpad.appspot.com/298002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@823 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-08-11 13:40:13 +00:00