2142 Commits

Author SHA1 Message Date
Justin Cohen
b714b223ad ios: Actually merge memory snapshot data.
To avoid unnecessary duplication of potentially large memory regions,
the iOS MemorySnapshot data is owned by the intermediate dump. When
merging two iOS memory snapshots, it's necessary to copy the merged
data into a vector owned by the memory snapshot itself.

Previously the merged snapshot just contained the original data, which
leads to a heap overrun.

Bug: 1288544
Change-Id: I4eb392800141451db188d17c7b9f9ca9bd3bb603
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3399252
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2022-01-19 00:00:04 +00:00
Aleksey Khoroshilov
9ed7e84644 MacOS, iOS: Replace dynamic comments in mig-generated files with stable ones.
Mig-generated files contain mig identifiers, which include timestamp and mig build info.
To improve build determinism and goma cachehits we can replace these lines with something stable.

Bug: crashpad:390
Change-Id: Iedb2f6e64428612899587c2ac4d488baf439961f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3394052
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2022-01-18 17:20:04 +00:00
Justin Cohen
243e1fd8e2 ios: Set EXC_SOFT_SIGNAL for signal exceptions.
Right now there's no clear way to differentiate between Signal and Mach
exceptions. Instead, set EXC_SOFT_SIGNAL as the top level exception for
signal exceptions, moving the signal number to ExceptionInfo() and
and the signal code plus the two previous values into Codes().

Fixed:crashpad:389
Change-Id: Ia57f402b98be2a648febb58b9dee0cb80d9e5954
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3388874
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2022-01-15 03:49:11 +00:00
Avi Drissman
824ddb2de1 Fix presubmit issues
- Formatted util/misc/initialization_state_dcheck.h
- Included build/build_config.h file in
  util/stdlib/aligned_allocator_test.cc as it uses an
  OS_* macro.

Change-Id: I8fb67f1ae440834d1b60f390658513a341789428
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3390648
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
2022-01-15 00:09:21 +00:00
Avi Drissman
b560edd484 Remove ALLOW_UNUSED_LOCAL from Crashpad
Bug: 1286390
Change-Id: I9755258960c55bef84e01812a14067ffaf89d2b1
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3388879
Commit-Queue: Avi Drissman <avi@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2022-01-14 23:11:32 +00:00
Avi Drissman
23375ab37c Use std::ignore rather than ignore_result in Crashpad
Bug: 1285085
Change-Id: I02f1eb608a704fe58b72c094b96af6c7577be4bf
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3373171
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
2022-01-07 22:38:52 +00:00
Roland Bock
ee230eef02 Replace FALLTHROUGH macro with C++17 [[fallthrough]] attribute
See go/chromium-lsc-fallthrough

Bug:1283907
Change-Id: I786f3e7141ad47913043136d0173e3b82b223a87
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3370128
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2022-01-07 19:26:52 +00:00
Mark Mentovai
7aec285110 Update mini_chromium to 0243b40af70e34c81fc8a30d9b15cd276b2d49ba
0243b40af70e win: Actually compile C++ as C++17, and fix __cplusplus
             macro

Change-Id: If430b97d1cf846746a5226638e04b3a2cdb5efce
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3372325
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2022-01-07 19:04:12 +00:00
Mark Mentovai
4a539c714d Update mini_chromium to 6562d2d0b2a86026a0c8bfc89d95c0a547ed9e5e
6562d2d0b2a8 Compile as C++17 by using -std=c++17 (and /std:c++17 on
             Windows)

Change-Id: I10c209e8147425af77392e7649210ab68a5d27a7
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3371781
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2022-01-07 01:36:02 +00:00
Nathan Mulcahey
ae39cec086 [util/net] Fix append to undefined defines
From the Fuchsia build:
```
 ERROR at //third_party/crashpad/util/BUILD.gn:658:7: Undefined identifier.
       defines += [ "CRASHPAD_USE_BORINGSSL" ]
       ^------
 See //src/developer/forensics/crash_reports/BUILD.gn:127:5: which caused the file to be included.
     "//third_party/crashpad/util",
     ^----------------------------
```

Change-Id: I1f563e5bb599b3a7a83ee8211037ee1d7464bd62
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3370891
Reviewed-by: Francois Rousseau <frousseau@google.com>
Commit-Queue: Francois Rousseau <frousseau@google.com>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2022-01-06 20:04:42 +00:00
Nathan Mulcahey
821d265ea9 [lss] Roll lss and update Fuchsia location
Fuchsia is currently pulling in lss twice, this rolls crashpad up to
HEAD and redirects the Fuchsia build to use the existing copy in our
dependencies.

Change-Id: Ib698ee72d3d1881d22128bc94a1f6f17185a0755
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3364805
Reviewed-by: Francois Rousseau <frousseau@google.com>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2022-01-06 17:01:52 +00:00
Joshua Peraza
0ea32e0c7b linux: initialize padding bytes in tests for msan
Bug: chromium:1281317
Change-Id: I83a50b851e9648e5270793c9149206103ac40ed1
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3350751
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2021-12-20 21:17:35 +00:00
Joshua Peraza
5cc0d543d0 Remove obsolete LUCI experiment
Change-Id: I755d8d6b9490c82ca3044118501add36a532053d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3336402
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2021-12-15 19:36:00 +00:00
Joshua Peraza
b03c11533c Remove unnecessary lines in CaptureMemoryDelegate
Change-Id: I172c5bf9f399791a9bfecd26553450a2ed30315b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3342502
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2021-12-15 19:29:00 +00:00
Alex Gough
ff50a9e8c4 Reland x7 "Bump Windows SDK to 10.0.19041.0"
This is a reland of a8683138db568ad89052587d081d280682439bc4

x86 env var VSINSTALLDIR=path\.\ was interpolated into a gn
vars file with a trailing slash. mini_chromium has been updated
to account for this[0].

[0] https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/3338622

Original change's description:
> Reland x6 "Bump Windows SDK to 10.0.19041.0"
>
> Reland of cfb5c846745a3f3f28c63a1d74345fc965d2bac9.
>
> CL configures crashpad builders to use cipd packaged Windows SDK
> version 10.0.19041 and updates mini_chromium to account for new
> SDK layout[0].
>
> [0] https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/3328284
>
> Bug: 1250098
> Change-Id: Ie8ea11497e31d51478041829c872b47f5c982ab8
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3334271
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Alex Gough <ajgo@chromium.org>

Bug: 1250098
Change-Id: Ie8145d498f4f3f10fd6195d8e0ad5a82bf25933b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3339382
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-12-14 17:44:28 +00:00
Alex Gough
3e234dfe96 Revert "Reland x6 "Bump Windows SDK to 10.0.19041.0""
This reverts commit a8683138db568ad89052587d081d280682439bc4.

Reason for revert: https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8827866127654006481/+/u/generate_build_files_x86/stdout?format=raw

Original change's description:
> Reland x6 "Bump Windows SDK to 10.0.19041.0"
>
> Reland of cfb5c846745a3f3f28c63a1d74345fc965d2bac9.
>
> CL configures crashpad builders to use cipd packaged Windows SDK
> version 10.0.19041 and updates mini_chromium to account for new
> SDK layout[0].
>
> [0] https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/3328284
>
> Bug: 1250098
> Change-Id: Ie8ea11497e31d51478041829c872b47f5c982ab8
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3334271
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Alex Gough <ajgo@chromium.org>

Bug: 1250098
Change-Id: Icef5e7a8c475c06274c935481df22fae1c6cdc3a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3338854
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-12-14 13:25:58 +00:00
Alex Gough
a8683138db Reland x6 "Bump Windows SDK to 10.0.19041.0"
Reland of cfb5c846745a3f3f28c63a1d74345fc965d2bac9.

CL configures crashpad builders to use cipd packaged Windows SDK
version 10.0.19041 and updates mini_chromium to account for new
SDK layout[0].

[0] https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/3328284

Bug: 1250098
Change-Id: Ie8ea11497e31d51478041829c872b47f5c982ab8
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3334271
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-12-14 12:24:10 +00:00
Adrian Danis
398908903e Fuchsia: Migrate to zx_system_get_page_size
Bug: fuchsia:67899
Change-Id: Id6fb9f67316dd60c939d9b8b6c6d9330831a04a2
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3331859
Reviewed-by: Francois Rousseau <frousseau@google.com>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2021-12-14 03:18:50 +00:00
Joshua Seaton
05e4aedfb3 [googletest] Roll pin
googletest is rolled to 5bcd8e3bb929714e031a542d303f818e5a5af45d to pick
up changes that affect how process information is read on fuchsia. The
existing pin is from April 26 2021 and the new one is from June 8: this
is a conservative roll - and the new pin matches that of other fuchsia
SDK partners.

Bug: fuchsia:30751
Change-Id: Ie1c4d075cfc2968c0984671c3afd0bc50fe00d3f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3335589
Reviewed-by: Francois Rousseau <frousseau@google.com>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2021-12-13 23:35:19 +00:00
Joshua Peraza
a253f320d5 linux, win: allow disabling extra memory collection
Change-Id: If95c89d554c061522627681af78c8c0d1725df2c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3335359
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-12-13 22:25:03 +00:00
Alex Gough
c1a7d9baea Revert "Reland "Reland "Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0""""""
This reverts commit cfb5c846745a3f3f28c63a1d74345fc965d2bac9.

Reason for revert: https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8828456030785338865/+/u/generate_build_files_x86/stdout?format=raw

Original change's description:
> Reland "Reland "Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0"""""
>
> This is a reland of e5e47bc277532ae109a444cbb3646977c93fc077
>
> Previous attempt failed as depot_tools win_sdk helper did not allow
> the updated path selection for Windows SDKs. This should be fixed by:
> https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3296663
> "[windows_sdk] allow env json to not be relative"
>
> > > > > Change-Id: Id0c308a838a8b94ce7d24369ffd168a10730a30a
> > > > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3256822
> > > > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > > > Commit-Queue: Mark Mentovai <mark@chromium.org>
> > > >
> > > > Change-Id: I9e8d14415c12c28b6a230b689d3b791a086d7a06
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260604
> > > > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > >
> > > Change-Id: Iafb40bd8799dbfea9308f19e3c6e7568bcba82df
> > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260757
> > > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > Bug: crashpad:
> >
> > Change-Id:
> > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3286783
>
> Change-Id: Idadfe861b64e6c3361e98ca690230f30d113cdab
> Bug: 1250098
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3321428
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Alex Gough <ajgo@chromium.org>

Bug: 1250098
Change-Id: I346ee73d690f3102b28df10d4cd2a9a7273608fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3321436
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-12-08 01:06:33 +00:00
Alex Gough
cfb5c84674 Reland "Reland "Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0"""""
This is a reland of e5e47bc277532ae109a444cbb3646977c93fc077

Previous attempt failed as depot_tools win_sdk helper did not allow
the updated path selection for Windows SDKs. This should be fixed by:
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3296663
"[windows_sdk] allow env json to not be relative"

> > > > Change-Id: Id0c308a838a8b94ce7d24369ffd168a10730a30a
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3256822
> > > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > > Commit-Queue: Mark Mentovai <mark@chromium.org>
> > >
> > > Change-Id: I9e8d14415c12c28b6a230b689d3b791a086d7a06
> > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260604
> > > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> >
> > Change-Id: Iafb40bd8799dbfea9308f19e3c6e7568bcba82df
> > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260757
> > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > Bug: crashpad:
>
> Change-Id:
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3286783

Change-Id: Idadfe861b64e6c3361e98ca690230f30d113cdab
Bug: 1250098
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3321428
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-12-08 00:08:38 +00:00
Joshua Peraza
2592a777cb Upgrade LUCI configs to use Mac-11
Bug: chromium:1269911
Change-Id: I6382e6efe3a378916427b824fcfade9c3a72394a
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3315414
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2021-12-03 23:44:56 +00:00
Salome Thirot
fe19de6e1d arm64: Add Armv8.5-A BTI support to assembly files.
Change-Id: Ic9c2d252829a39b0331e436df16effe7d0607996
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3241142
Commit-Queue: Jonathan Wright <jonathan.wright@arm.com>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-12-01 10:47:56 +00:00
Justin Cohen
3b8a7cf594 ios: Use _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS for backwards compatibility.
_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS is needed to bring
back std::unexpected, which is removed in C++17, but still needed
for libc++abi for backward compatibility.

Bug: 1274565
Change-Id: I5b5687ef7a49e90bf6937ade8b02ff4484690e09
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3307905
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2021-12-01 02:24:06 +00:00
Justin Cohen
0453ea1686 ios: Handle empty stack in GenerateStackMemoryFromFrames.
This fixes a _LIBCPP_ASSERT vector[] index out of bounds error, caught
by fuzzer.

Bug: 1274178
Change-Id: I95f3fbe450209a24ccc0229741ea752990e18ed6
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3307697
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-29 21:36:05 +00:00
Nico Weber
281ba70a13 Fix build with /std:c++17 on 32-bit Windows
Bug: chromium:1274168
Change-Id: I31c300f5cb078e90f25c5752c821f756dedd8591
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3304552
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
2021-11-27 01:26:14 +00:00
Peter Collingbourne
0d26b02c37 Reraise signals via rt_tgsigqueueinfo(2) on Linux (try 2).
Previously we would rely on implicit re-raising to deliver signals to
the underlying handler on POSIX systems if the signal is detected as
being re-raisable via WillSignalReraiseAutonomously(). This detection
mechanism is imperfect, as it will misclassify signals delivered as
a result of kill(2) when passing a signal number usually used for
synchronous signals, but now also asynchronous MTE tag check faults,
which are delivered as SIGSEGV signals on Linux. As a result, these
signals would not be re-raised and therefore would be discarded.

Although we could, for example, teach WillSignalReraiseAutonomously()
about MTE faults, the signal would still be re-raised via raise(3)
and therefore we would lose the information in siginfo.

We can avoid discarding these signals on Linux while at the
same time preserving the siginfo by making use of the syscall
rt_tgsigqueueinfo(2) which delivers a signal together with a
user-provided siginfo. The problem still exists on non-Linux POSIX
systems because this syscall is Linux-specific.

With kernel versions prior to 3.9, the kernel will reject the
rt_tgsigqueueinfo() syscall with EPERM. If that happens, follow
the non-Linux code path.

Change-Id: Ia410fbd651a756945c9402e361edfd5c520453d6
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3300991
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
2021-11-25 00:33:31 +00:00
Richard Townsend
0fdeeecba6 fix: link Chromium's libunwind when using sanitizers
Following https://crev.com/d3d85ce0b330b11f73f0495b7b99cea0d04d8c63,
the compiler now does not build an unwind library into the ASAN
runtime, nor is one available from the NDK in r23. Restoring Chrome's
standard dependencies (libcxx, libunwind) prevents a link error.

Bug: 1271628
Change-Id: I62d1c066bd7037276d78e2533dd5e4c3cf14f8c7
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3298826
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Richard Townsend <richard.townsend@arm.com>
2021-11-24 23:53:21 +00:00
Peter Collingbourne
c537245de8 Revert "Reraise signals via rt_tgsigqueueinfo(2) on Linux."
Causes test failures on older versions of Android (e.g. Marshmallow).

Also reverts follow-up CL "Fix dead-code warning in util/posix/signals.cc".

This reverts commits ab9a87fb5463e5d1579e16bacb1f79d0dd71119b and
04431eccfe878570b1c74a5b376d96b4c9c7e0e8.

Bug: 1272877
Change-Id: Id9ef420516c932147b6c8b67d9f4daf9d31d9b03
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3300986
Reviewed-by: Peter Boström <pbos@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
2021-11-24 22:09:30 +00:00
Justin Cohen
bc138fc01c Initialize process snapshot client ids to zero.
Change-Id: If6e1902d62e6364114a75d8ebc4d260e4239d58b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3296266
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-23 20:59:19 +00:00
Justin Cohen
c7ce2e3ec1 ios: Tighten up UIGestureEnvironment exception detection.
iOS 15.1 reordered private APIs before public APIs when looking at the
unw_get_proc_info() frame_info.start_ip, so doing a min/max within
UIGestureEnvironment would fail on devices. However, this API is always
called by UIWindow sendEvent, which is not a private API. Do the same
check, but instead look back 2 frames, and check to see if we are
within UIWindow.

Both APIs are still marked <redacted>, but the detection should still
work.

Also cleans up some tests fixtures when running in release.

Change-Id: I762615e9cb44389800cf3291af52a7568c3825d5
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3299008
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2021-11-23 20:57:00 +00:00
Justin Cohen
54f2581bf1 ios: Set client id in minidump.
Change-Id: Ie19e0388cf388533b82625a27f7a7a1c2abdaecb
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3294662
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-22 21:28:28 +00:00
Justin Cohen
3a7e935a86 ios: Handle partial intermediate dumps and exception contexts.
Testing in beta has shown a few examples of a cropped intermediate dump
still providing useful information, but due to the order intermediate
dump data is written, could be improved.

- Change the order of writing data to the intermediate dump by
increasing the priority of the Exception block from:
 Header / Process / System / Threads/ Modules / Exception
to
 Header / Process / System / Exception / Threads / Modules

- Annotate minidump reports generated from incomplete intermediate
dumps with the key 'crashpad_intermediate_dump_incomplete'.

- Handle partial exception contexts rather than throwing them away.

Change-Id: I543c1d3135c42e5b8e339e498ea0c86002f37ea3
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3294862
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-22 21:07:13 +00:00
Justin Cohen
4b86b27773 ios: Add IOSIntermediateDumpInterface.
Change IOSIntermediateDumpReader to take a new interface that can be
backed by a FilePath (as it is now) or a StringFile byte array, which
can be useful for tests, especially with fuzzing.

Change-Id: I02a25cfb7cd204975d1bcce80201bd10944f3f2e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3270755
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-21 04:29:36 +00:00
Robert Sesek
10e82d5318 mac: Make crashpad build with the 12.0 SDK
The size of dyld_all_image_infos didn't change, but the last 128 bit
of `reserved` moved out of `reserved` and got names.

On 64-bit, that's straightforward -- just move two uint64s out of the
array into fields.

On 32-bit, it's fairly awkward: It's 4 of the uintptr_t `reserved`
array, which means `UIntPtr, reserved, [4]` would have to diverge
between 32-bit and 64-bit, and also shared_cache_fs_obj_id would
straddle the `end_v14` boundary. Since macOS 12.0 doesn't support
32-bit builds, just punt on this for 32-bit. (This might possibly
mean that crashpad-on-apple-watch might not compile, but that's
a build configuration that doesn't exist.)

See comment 9 and 6 on the bug.

Bug: crashpad:375, chromium:1265179
Change-Id: I221af20c59c30a8176d5685d3f5e84aaf3de9afe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3253742
Commit-Queue: Nico Weber <thakis@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Message-Id: Merged from chromium 83a01b8e2cd2d4d96b0e298d012bb3a2bd93c64f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3293642
Commit-Queue: Robert Sesek <rsesek@chromium.org>
2021-11-19 21:22:55 +00:00
Robert Sesek
c8edcf1bb8 Split util/net files into a separate static_library target.
Only the handler uses util/net. After
8342e6bd613a5b2e44eca1d74288e3115ccef139, the introduction of an
Objective-C class caused Chromium to emit duplicate class defintion
warnings in the component build.

Bug: chromium:1270609
Change-Id: I2770528347aef406bb21a79d295f702498f7b37e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3290276
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-19 20:34:25 +00:00
Justin Cohen
92f6c21242 Retry UploadReport on http upload failures.
This implements a per-report retry rate limit (as opposed to per upload
rate limit in ShouldRateLimitUpload). When a report upload ends in a
retry state, an in-memory only timestamp is stored with the next
possible retry time. This timestamp is a backoff from the main thread
work interval, doubling on each attemt. Because this is only stored in
memory, on restart reports in the retry state will always be tried
once, and then fall back into the next backoff. This continues until
5 retry attempts are reached.

Change-Id: Ibde8855a8a9f0743f0b0bd4d5e3de8a45c64bcb6
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3087723
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2021-11-19 19:58:55 +00:00
Alex Gough
70e4327a73 Revert "Reland "Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0"""""
This reverts commit 6383b8d2a71bc5825bb0d294fab59985fa460d9d.

Reason for revert: https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8830178135765256705/+/u/RECIPE_CRASH__Uncaught_exception_/logging

Seem like later stages are not ready for the json, or we need to massage a path somewhere. Will investigate.

Original change's description:
> Reland "Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0""""
>
> https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3290913
> should now correctly locate the new json environments that this SDK cipd
> package introduces (I have manually downloaded old and new packages
> and verified).
>
> This is a reland of e5e47bc277532ae109a444cbb3646977c93fc077
>
> Original change's description:
> > Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0"""
> >
> > This is a reland of 3dc913b12b4853ef620495a74081dd15fca8dc5e
> >
> > Previous attempt failed as the recipe helper in depot tools did not
> > understand the new cipd win sdk layout and failed at the
> > 'SetEnv.target.json' step.
> > https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8831436994854248129/+/u/read_SetEnv.x86.json/stdout
> >
> > This should be addressed once
> > https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3283800
> > is rolled into the bot infrastructure.
> >
> > > This is a reland of 44f566832da48b25c09ee83d4221a9c57f359a82
> > >
> > > The proper format for this sort of property is:
> > >
> > >     properties["$depot_tools/windows_sdk"] = {
> > >         "version": "uploaded:2021-04-28",
> > >     }
> > >
> > > rather than the nested version we had before.
> > >
> > > Original change's description:
> > > > Reland "Bump Windows SDK to 10.0.19041.0"
> > > >
> > > > This is a reland of 020da53ac84de675c8adae5b512f4257adc9dfe3
> > > >
> > > > Original change's description:
> > > > > Bump Windows SDK to 10.0.19041.0
> > > > >
> > > > > Change-Id: Id0c308a838a8b94ce7d24369ffd168a10730a30a
> > > > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3256822
> > > > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > > > Commit-Queue: Mark Mentovai <mark@chromium.org>
> > > >
> > > > Change-Id: I9e8d14415c12c28b6a230b689d3b791a086d7a06
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260604
> > > > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > >
> > > Change-Id: Iafb40bd8799dbfea9308f19e3c6e7568bcba82df
> > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260757
> > > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > Bug: crashpad:
> >
> > Bug: 1250098
> > Change-Id: Ia3fa460e7054c85456bca37478b03c60906b36a9
> > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3286783
> > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > Commit-Queue: Alex Gough <ajgo@chromium.org>
>
> Bug: 1250098
> Change-Id: I6f278db20c440b5dd9952281411723706aa0af2b
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3292209
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Alex Gough <ajgo@chromium.org>

Bug: 1250098
Change-Id: I58ca7c64541832cc00690729b907b210eb583895
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3292345
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-11-19 01:01:25 +00:00
Alex Gough
6383b8d2a7 Reland "Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0""""
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3290913
should now correctly locate the new json environments that this SDK cipd
package introduces (I have manually downloaded old and new packages
and verified).

This is a reland of e5e47bc277532ae109a444cbb3646977c93fc077

Original change's description:
> Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0"""
>
> This is a reland of 3dc913b12b4853ef620495a74081dd15fca8dc5e
>
> Previous attempt failed as the recipe helper in depot tools did not
> understand the new cipd win sdk layout and failed at the
> 'SetEnv.target.json' step.
> https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8831436994854248129/+/u/read_SetEnv.x86.json/stdout
>
> This should be addressed once
> https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3283800
> is rolled into the bot infrastructure.
>
> > This is a reland of 44f566832da48b25c09ee83d4221a9c57f359a82
> >
> > The proper format for this sort of property is:
> >
> >     properties["$depot_tools/windows_sdk"] = {
> >         "version": "uploaded:2021-04-28",
> >     }
> >
> > rather than the nested version we had before.
> >
> > Original change's description:
> > > Reland "Bump Windows SDK to 10.0.19041.0"
> > >
> > > This is a reland of 020da53ac84de675c8adae5b512f4257adc9dfe3
> > >
> > > Original change's description:
> > > > Bump Windows SDK to 10.0.19041.0
> > > >
> > > > Change-Id: Id0c308a838a8b94ce7d24369ffd168a10730a30a
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3256822
> > > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > > Commit-Queue: Mark Mentovai <mark@chromium.org>
> > >
> > > Change-Id: I9e8d14415c12c28b6a230b689d3b791a086d7a06
> > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260604
> > > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> >
> > Change-Id: Iafb40bd8799dbfea9308f19e3c6e7568bcba82df
> > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260757
> > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > Bug: crashpad:
>
> Bug: 1250098
> Change-Id: Ia3fa460e7054c85456bca37478b03c60906b36a9
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3286783
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Alex Gough <ajgo@chromium.org>

Bug: 1250098
Change-Id: I6f278db20c440b5dd9952281411723706aa0af2b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3292209
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-11-19 00:21:51 +00:00
Alex Gough
801e7e7021 Revert "Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0""""
This reverts commit e5e47bc277532ae109a444cbb3646977c93fc077.

Reason for revert: depot_tools winapi recipe needs another minor change.

https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8830288168302335601/+/u/read_SetEnv_json/stdout?format=raw

https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8830288168302335601/+/u/read_SetEnv_json/stdout?format=raw

Original change's description:
> Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0"""
>
> This is a reland of 3dc913b12b4853ef620495a74081dd15fca8dc5e
>
> Previous attempt failed as the recipe helper in depot tools did not
> understand the new cipd win sdk layout and failed at the
> 'SetEnv.target.json' step.
> https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8831436994854248129/+/u/read_SetEnv.x86.json/stdout
>
> This should be addressed once
> https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3283800
> is rolled into the bot infrastructure.
>
> > This is a reland of 44f566832da48b25c09ee83d4221a9c57f359a82
> >
> > The proper format for this sort of property is:
> >
> >     properties["$depot_tools/windows_sdk"] = {
> >         "version": "uploaded:2021-04-28",
> >     }
> >
> > rather than the nested version we had before.
> >
> > Original change's description:
> > > Reland "Bump Windows SDK to 10.0.19041.0"
> > >
> > > This is a reland of 020da53ac84de675c8adae5b512f4257adc9dfe3
> > >
> > > Original change's description:
> > > > Bump Windows SDK to 10.0.19041.0
> > > >
> > > > Change-Id: Id0c308a838a8b94ce7d24369ffd168a10730a30a
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3256822
> > > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > > Commit-Queue: Mark Mentovai <mark@chromium.org>
> > >
> > > Change-Id: I9e8d14415c12c28b6a230b689d3b791a086d7a06
> > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260604
> > > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> >
> > Change-Id: Iafb40bd8799dbfea9308f19e3c6e7568bcba82df
> > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260757
> > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > Bug: crashpad:
>
> Bug: 1250098
> Change-Id: Ia3fa460e7054c85456bca37478b03c60906b36a9
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3286783
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Alex Gough <ajgo@chromium.org>

Bug: 1250098
Change-Id: If183131c20b15ec87a956fccee2dcbcf0c551091
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3290110
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-11-17 20:24:13 +00:00
Alex Gough
e5e47bc277 Reland "Reland "Reland "Bump Windows SDK to 10.0.19041.0"""
This is a reland of 3dc913b12b4853ef620495a74081dd15fca8dc5e

Previous attempt failed as the recipe helper in depot tools did not
understand the new cipd win sdk layout and failed at the
'SetEnv.target.json' step.
https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket/8831436994854248129/+/u/read_SetEnv.x86.json/stdout

This should be addressed once
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3283800
is rolled into the bot infrastructure.

> This is a reland of 44f566832da48b25c09ee83d4221a9c57f359a82
>
> The proper format for this sort of property is:
>
>     properties["$depot_tools/windows_sdk"] = {
>         "version": "uploaded:2021-04-28",
>     }
>
> rather than the nested version we had before.
>
> Original change's description:
> > Reland "Bump Windows SDK to 10.0.19041.0"
> >
> > This is a reland of 020da53ac84de675c8adae5b512f4257adc9dfe3
> >
> > Original change's description:
> > > Bump Windows SDK to 10.0.19041.0
> > >
> > > Change-Id: Id0c308a838a8b94ce7d24369ffd168a10730a30a
> > > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3256822
> > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > Commit-Queue: Mark Mentovai <mark@chromium.org>
> >
> > Change-Id: I9e8d14415c12c28b6a230b689d3b791a086d7a06
> > Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260604
> > Commit-Queue: Alex Gough <ajgo@chromium.org>
> > Reviewed-by: Mark Mentovai <mark@chromium.org>
>
> Change-Id: Iafb40bd8799dbfea9308f19e3c6e7568bcba82df
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3260757
> Commit-Queue: Alex Gough <ajgo@chromium.org>
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Bug: crashpad:

Bug: 1250098
Change-Id: Ia3fa460e7054c85456bca37478b03c60906b36a9
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3286783
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
2021-11-17 04:22:34 +00:00
Peter Boström
ab9a87fb54 Fix dead-code warning in util/posix/signals.cc
This unblocks a roll of crashpad into chromium.

Bug: None
Change-Id: I54fc53e0b53b8a7c7ff8e28c4657b46587bfad8d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3287226
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-17 00:57:24 +00:00
Jakob Kummerow
08978c7b75 Linux: Add a test for "extra memory" / code-around-pc
And implement ExtraMemory() for ProcessSnapshotMinidump for this purpose.

Bug: crashpad:10,crashpad:30
Change-Id: I889c42c7e91358336671ae8d00154af820725e7b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3279301
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
2021-11-16 21:36:03 +00:00
Peter Boström
bede7bb29e Rename "base/macros.h" => "base/ignore_result.h"
This pulls in "base/ignore_result.h" from mini_chromium through DEPS and
updates existing uses of "base/macros.h" to use "base/ignore_result.h".

Bug: chromium:1010217
Change-Id: I283e2bcfb2775de420d7e767b3b4a639dbba9e20
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3286105
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>
2021-11-16 21:21:28 +00:00
Peter Collingbourne
04431eccfe Reraise signals via rt_tgsigqueueinfo(2) on Linux.
Previously we would rely on implicit re-raising to deliver signals to
the underlying handler on POSIX systems if the signal is detected as
being re-raisable via WillSignalReraiseAutonomously(). This detection
mechanism is imperfect, as it will misclassify signals delivered as
a result of kill(2) when passing a signal number usually used for
synchronous signals, but now also asynchronous MTE tag check faults,
which are delivered as SIGSEGV signals on Linux. As a result, these
signals would not be re-raised and therefore would be discarded.

Although we could, for example, teach WillSignalReraiseAutonomously()
about MTE faults, the signal would still be re-raised via raise(3)
and therefore we would lose the information in siginfo.

We can avoid discarding these signals on Linux while at the
same time preserving the siginfo by making use of the syscall
rt_tgsigqueueinfo(2) which delivers a signal together with a
user-provided siginfo. The problem still exists on non-Linux POSIX
systems because this syscall is Linux-specific.

Change-Id: I6df58d9371e29f75e19b4f899b723d4047f12936
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3278691
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-16 02:45:23 +00:00
Olivier Robin
c8d8dd9ccf Add attachment support for Mac/iOS crash report database
Copy the crash_report_database_generic implementation.

bug: crashpad: 31
Change-Id: I582620ec8b22fecc7568d220c410c397948dfcb1
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3045405
Commit-Queue: Olivier Robin <olivierrobin@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-11-15 17:41:54 +00:00
Jakob Kummerow
d62cc6fdbd Linux: capture memory pointed to by context
This adds support for capturing memory snippets for addresses
currently stored in registers to Linux/Android/CrOS.
Modeled after the existing support on Windows.

Bug: crashpad:30
Change-Id: Ib7cb523555a6e8e4d70145c205d67dcfbc9c7fcc
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3273712
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2021-11-12 18:15:04 +00:00
Justin Cohen
afeb19f1d2 ios: Limit intermediate dump processing to 20 files.
Because the intermediate dump directory is expected to be shared,
mitigate any spamming by limiting this to 20. Prioritize our
bundle id intermediate dumps first.

Bug: crashpad: 31
Change-Id: I2888431b8bd2d94f481d2f4ec6e032882dad9698
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3261747
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-11 11:59:26 +00:00
Justin Cohen
6fd38ffedf ios: Add exception preprocessor sinkhole for CoreAutoLayout.
Another set of iOS redacted sinkholes appear in CoreAutoLayout.
However, this is often called by our code, so it's unsafe to simply
handle an uncaught nsexception here. Instead, skip the frame and
continue searching for either a handler that belongs to us, or another
sinkhole.

Bug: crashpad: 31
Change-Id: I20be2acef96f5ee6b7521144548e920e635f0dc7
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3261270
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2021-11-11 03:54:23 +00:00