1970 Commits

Author SHA1 Message Date
Justin Cohen
ea4af71c2a Add another iOS library path sinkhole.
Add another sinkhole for _UIGestureEnvironmentUpdate.

Bug: crashpad:31
Change-Id: Ic4a424da034249295b6e45f8fe0860a4d4696b93
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2145017
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2020-04-16 15:25:57 +00:00
Mark Mentovai
7fa69e7e43 win: Remove disabled and flaky end-to-end tests
The “and not memory after range” follow-up to the “extra memory range
captured” test is very flaky in debug builds
(https://ci.chromium.org/p/crashpad/builders/ci/crashpad_win_dbg/388),
and occasionally flaky in release builds too
(https://ci.chromium.org/p/crashpad/builders/ci/crashpad_win_rel/363).
As with the already-disabled “extra memory removal” test, it’s likely
that Crashpad is discovering a pointer that references the memory
immediately beyond the intended range, and capturing that too. Unless
the environment is very tightly controlled, it’s difficult to prevent
valid memory from being pointed to, and thus to guarantee that Crashpad
won’t capture a particular block of memory.

These are probably never going to be fixed. The flaky tests are removed.

Bug: crashpad:101
Change-Id: I629ed8ce3c901507689218baaa102d8737db3f5b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2150055
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2020-04-15 16:52:45 +00:00
Mark Mentovai
dc9176b063 iOS: “namespace” Objective-C test classes by prefixing with CPTest
Re:
https://chromium-review.googlesource.com/c/2028183/4/test/ios/crash_type_xctest.mm#13

We previously discussed using the CP prefix for Objective-C class and
protocol names, and CPTest for those restricted to tests. This is
intended to parallel our C++ code’s use of the crashpad and
crashpad::test namespaces, but with name prefixing because Objective-C
doesn’t support any other form of namespacing.

These class names are changed:

ApplicationDelegate→CPTestApplicationDelegate
CrashViewController→CPTestCrashViewController
CrashpadUnitTestDelegate→CPTestUnitTestApplicationDelegate

Filenames and #include guards are also adjusted to match.

This also has include-what-you-use fixes and more modern pointer
handling in CPTestSharedObject, which was already named correctly.

Bug: crashpad:31
Change-Id: I3645ee830a30eccb594d679e0d52ba1a2dd1225d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2144453
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
2020-04-15 15:19:35 +00:00
Mark Mentovai
24b4105d00 fuchsia: Fix clang path for macOS→Fuchsia cross-development
This was a goof from 3af81d7012e4.

Change-Id: I09b2e387511f661413f33c1873ad1a9036b0bd09
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2144437
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2020-04-14 18:38:24 +00:00
Mark Mentovai
b49dcdc48f Mark static const class/struct members as constexpr
cl/306269985

Change-Id: I3e6b7021d24260aa1abfad32d30ee0a9289fa3ff
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2148677
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-04-14 14:57:53 +00:00
Justin Cohen
de43cd3723 Fix Chromium Roll.
- Fix -Wundeclared-selector in Chromium roll.
- Convert TEST to TEST_F in crashpad_client_ios_test.mm

Also rolls mini_chromim 731e08f06..641fcf9bb (3 commits)
  2020-04-14 mark Mark static const class/struct members as constexpr
  2020-04-09 justincohen Add PlatformTest to mini_chromium.
  2020-04-09 jperaza Replace ScopedClearErrno with ScopedClearLastError

Change-Id: Ib8ac742eb97359be47e1ff01ae6f10518761a302
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2144452
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-04-14 14:28:34 +00:00
Joshua Peraza
e5dbfa3363 Disable fuzzing without use_fuzzing_engine
Effectively upstreams https://chromium-review.googlesource.com/c/chromium/src/+/1775756

Change-Id: I112eddd9e5f22790a50bf7b340cf9202eeceebc3
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2148373
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2020-04-14 03:21:53 +00:00
Mark Mentovai
3c44556cf1 Replace ScopedClearErrno with ScopedClearLastError
Includes:

Update mini_chromium to bbf1307928bb7a9d1eda6be576283c8093b2775b

bbf1307928bb Replace ScopedClearErrno with ScopedClearLastError

Change-Id: I8eabb5f62a21c5b30c5b07face2a6afcf10bb82b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2145829
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-04-14 00:59:33 +00:00
Mark Mentovai
e621aaa132 Make “gn check” pass
Change-Id: Ia7a215e1a2d0a3b1868b00c5d47b46ef8a675cdc
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2144917
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-04-13 18:29:42 +00:00
Victor Costan
380f2108df Roll crashpad/third_party/gtest/gtest/ eb78ee170..e3f0319d8 (232 commits)
eb78ee170a..e3f0319d89

This CL also removes references to gmock-generated-matchers.h, which was
removed from googletest in commit
41b5f149ab306e96b5b2faf523505d75acffd98a, and to
gmock-generated-function-mockers.h, which was removed from googletest in
commit fbf67a70d07543f40832d0cd7a58f304bc6ab1d1.

$ git log eb78ee170..e3f0319d8 --oneline --abbrev=12 --reverse
130e5aa86a7a Merge pull request #2 from google/master
6fd262ecf787 Prepare for Bazel incompatible changes
800c9b30168f Update Bazel on Windows
2c2c9e33573d remove a custom implementation of std::add_lvalue_reference
11471da7938b remove a custom implementation of std::enable_if
e2c06aa2497e remove a custom implementation of std::iterator_traits
364839ab142e remove a custom implementation of std::remove_const
da76d01b984f remove a custom implementation of std::is_reference
6a015ca1cb4e reuse IndexSequence from googletest
44de8697835d remove a dead metafunction
27e17f7851e2 Googletest export
410b52985e3d Googletest export
fcffabb5beb8 Googletest export
30e58a89a42b Merge pull request #2381 from Yannic:fix_bazel
d5e9e0c38f85 Merge pull request #2397 from kuzkry:custom-type-traits-is_reference
c9ccac7cb734 Googletest export
7bd4a7f3e9ae restore mistakenly removed iffs in their explicit form
d1ad644db4b9 Googletest export
fb49e6c16449 Merge pull request #2393 from kuzkry:custom-type-traits-remove_const
f8e9b3767ff8 remove references to autotools and combine gTest&gMock sections
9bf34ace7194 Merge pull request #2400 from kuzkry:custom-type-traits-enable_if
c6d884096ae5 Merge pull request #2401 from kuzkry:custom-type-traits-add_lvalue_reference
46525e1e5dfc Merge pull request #2394 from kuzkry:custom-type-traits-duplication-of-custom-index_sequence
db1b739943e9 Googletest export
ed2eef654373 Googletest export
38ce18e8e662 post-review to db1b7399 (#2396)
6a3d632f40a1 Googletest export
fdd6a1dc8c74 Merge pull request #2382 from kuzkry:dead-metafunction
85f059f03d56 Merge pull request #3 from google/master
d9c55a48eddb Merge pull request #2426 from kuzkry:#2396-postreview
eb56ee5a28b4 Googletest export
a648da952b79 Merge pull request #2420 from kuzkry:remove-autotools-section
565f1b848215 Merge pull request #2398 from kuzkry:custom-type-traits-iterator_traits
ab8f346b076f Googletest export
6123df929dba Googletest export
3f05f651ae36 Googletest export
c2b2cd8883f5 Googletest export
62a109a2ffe6 Googletest export
3a4503986247 Googletest export
bafa644c182e remove a dead function
838ea5cea301 remove GTEST_HAS_STD_STRING
33a0d4f6d76a Googletest export
0cd3fbc8abe6 change includes in gtest-port.h
274afe50cf57 Googletest export
ac24edd6e061 Googletest export
c7a03daa99e7 Merge pull request #2387 from kuzkry:iff
c96da8fea82e change usings
cad3bc46c2ba Googletest export
f2fb48c3b3d7 Googletest export
7c2bd3af981e square away the stuff that hasn't been merged in a manual review
3339b97c6a7f square away the stuff that hasn't been merged in a manual review
90a8ab70a1f6 mention the existing support for wide strings in string matchers
e0d16aa33662 remove GTEST_ARRAY_SIZE_
2460f97152c9 Add many missing override keywords
c78ea26f2008 Bump llvm version to 4 so brew can work again
076c46198fe1 Googletest export
bf0fe874a27b Googletest export
a783ade7c244 Googletest export
cb3f7ce1deef Googletest export
72adf7a4155b Googletest export
dc1ca9ae4c20 Googletest export
51f7396d4058 Fix typo in documents
68319c19eb01 Googletest export
4105eb726341 Googletest export
703bd9caab50 (tag: v1.10.x, tag: release-1.10.0) Googletest export
76a560c81cfe Googletest export
5126ff48d9ac Revert "Use pcfiledir for prefix in pkgconfig file"
b96832a44b49 Add documentation for pkg-config in cross-compilation settings
4360e4267c1e Merge pull request #2491 from SoapGentoo:fix-GNUInstallDirs-pkg-config
2ed2211db99a Use FormatFileLocation for streaming file and line
3f5a8c6ee6ce Merge pull request #2495 from hyukmyeong:typo
10c1d8c4faed Use the verbatim noexcept spec in MOCKED_METHOD
0eadff8a932d Fix spacing
872b9ceb6045 Avoid comma operator
7f8617a7c532 Switch to free function to avoid GCC bug
20255e6f4099 Use declval in noexcept expression
cd17fa2abda2 Merge pull request #2475 from peterbarker:pr/google-add-override
de69803b1e38 Mention Cornichon as a related open source project
cb1d5db1a104 Merge pull request #2448 from kuzkry:bad-googletest-export
5395345ca4f0 Merge pull request #2497 from thejcannon:handle_null_filename
20b5b8ecc7a8 Googletest export
58c71977611c Merge pull request #2505 from zebmason:cornichon
bc996e0817d8 Made noexcept condition more exciting
31406d79090e chore:  update version
9b9700247d46 clean-up broken paths for PlatformIO
ed78e54f38ab Googletest export
a4a5a7c768ce Googletest export
37905b9d8c8f Merge pull request #2498 from thejcannon:noexcept_spec
eafd2a91bb0c Merge pull request #2456 from kuzkry:gtest-port-clean-up_breaking-changes
a3ca5b9e0bf9 Googletest export
ba513d2c9525 Merge pull request #2498 from thejcannon:noexcept_spec
c081ceebfb6f Workaround MSVC VA_ARGS weirdness
c1e8e71aab60 Add a compile test
d935e8e3edaf Fix preprocessor tests
fe112cfee7e7 Replace compile-test with preprocessor test
5fe523361243 Removing extraneous test
40a6b9662199 feat: Add support for ESP8266 platform
c2206b05aa0f Add ESP8266 configs to PlatformIO build
f8961b99f4c3 Evaluate and cat NARG in different macros
3e813465a46b Removing extraneous parenthesis
84a5ae8b8560 Update to distinguish prelease purpose of this fork.
3cddd56e195b Add more override keywords
e1b67b07f7bd Avoid recursive macros
778733f9ecdd feat: Add ESP8266 support
9e466f1eb0fa Merge pull request #2510 from ciband:chore/update_pio_version
4c25e2b87fcb Googletest export
bdc29d5dc19d Merge pull request #2421 from kuzkry:cleanup-for-regex
cbf019de22c8 [googletest] Output skip message
2995ca563d76 Merge pull request #2507 from roblub:master
bbe4b7363bba Googletest export
1f9edcd96981 Googletest export
f966ed158177 Googletest export
5f92697d46ae Fix Issue 2418
f164a9e23c0f Remove extra space
011c4e23d525 Googletest export
8ce64c084d83 Merge pull request #2454 from kuzkry:gtest-port-clean-up_dead-function
a5216dd1a9f3 Merge pull request #2511 from kuzkry:PlatformIO-clean-up
611a321a6e64 Googletest export
de1128355464 Merge pull request #2444 from kuzkry:remove-GTEST_ARRAY_SIZE_
8c91ecef292e Merge pull request #2517 from snarkmaster:master
b11fb80e9e94 Prevent using ReturnRef on reference to temporary
f1afeaa64348 Googletest export
19a3bbce512d Added tests verifying that temporaries are accepted by ReturnRef
37590da6c08f Added more tests to verify: ReturnRef not accept temporary
aa1146da8169 Googletest export
8bab7883a676 Merge pull request #2514 from thejcannon:msvc_macro_issue
1110c471cadf Merge pull request #2522 from cloudrex:patch-1
676d0444bf95 Revert "Merge pull request #2498 from thejcannon:noexcept_spec"
37f322783175 Googletest export
6e87238c9b14 remove BiggestInt
d072682119f8 Tests simplified and names corrected (POD->scalar)
5ff72f5295f3 Apply 80chars limit
208c2f6b6076 variable names corrected (followed google coding style)
540835fa687e Merge pull request #2515 from ciband:feat/support_esp8266
eed64b5fc6c0 replace autogenerated TypesX classes by variadic ones
e3a9a567d826 replace autogenerated TemplatesX classes by variadic ones
a7083564d550 remove gtest-type-util.h.pump
002905f29fc9 move the pumping script to googlemock
1a49b67aebe9 update CONTRIBUTORS
a8b1a66cfda3 Merge pull request #2388 from kuzkry:remove-gtest-type-util.pump
a1f71dd56df4 Googletest export
b5fb5ba05cb6 Merge pull request #2527 from PiotrNycz:gmock_prevent_return_ref_to_store_temporaries_2
757d39a79bcb Googletest export
755f853c6be9 Googletest export
2bee6da24e9f Googletest export
fff8dabbf6c5 Googletest export
ba33a8876c3e Googletest export
f626deda19e5 Added special catch for std::exception in GTEST_TEST_NO_THROW_
0a03480824b4 Googletest export
e2fc3a9c9cb8 Googletest export
2db3df9c4f82 Googletest export
057ee5063d00 Merge pull request #2533 from thejcannon:noexcept_spec
e8a82dc7ede6 Merge pull request #2453 from kuzkry:gtest-port-clean-up_kMaxBiggestInt
523ad489efc3 update pump_manual.md
442f45b376f5 pump.py: add support for Python 3
f658561ef253 fix a typo
8697709e0308 Merge pull request #2453 from kuzkry:gtest-port-clean-up_kMaxBiggestInt
f9665846e405 update gen_gtest_pred_impl.py
f79ac2ce0e78 change incorrect comments
6caa879a42d9 pkg-config: Remove pthread link flag from Cflags
3e062a6efe7a Merge pull request #2373 from Youw:master
54978626b40f Merge pull request #2547 from kuzkry:typo
8aedd597af6b Merge pull request #2548 from kuzkry:update-pump-manual
e08a4602778b Merge pull request #2549 from kuzkry:pump-support-for-python-3
681454dae48f Googletest export
d5707695cb02 Googletest export
dee725b05332 add documentation for the premature-exit-file protocol
11440f27c66d Merge pull request #2556 from ienorand:avoid-pkg-config-lpthread-cflag
f73898f3ffd4 Merge pull request #2554 from kuzkry:update-gen_gtest_pred_impl
c27acebba3b3 Merge pull request #2521 from Sinclair-John:master
0c469a5a065e Fix FlatTuple compilation on older msvc.
dcdb65065f41 Fix internal memory leak in Windows _Crt report.
50cfbb726b26 Googletest export
4bf466236dbe Googletest export
200ff599496e Merge pull request #2569 from bgianfo:master
6a9d6d5c28a7 Fix compile break for Microsoft Visual Studio 2017 v141
2241be0c3f24 remove g++ 3.3 workaround: using on operator<<
e1dd49835ef2 remove g++ 2.95.0 workaround: no space after first comma in macros
a91e4e73b702 remove stale comments about older GCC versions
21d276b5c42d remove MSVC workaround: accessing namespace scope from within nested classes
a5136dbdd21e remove MSVC workaround: error C2665
ecefcbd4aa71 remove MSVC workaround: warning 4355
6748df1eab1d remove MSVC workaround: cease const dropping
e0c80b0a6e51 consistency fix for SafeMatcherCastImpl member functions
bbbc5d8a4b90 remove Nokia's Symbian compiler workaround: SafeMatcherCastImpl
298a40f023e6 remove MSVC workaround: wmain link error in the static library
a909becdc599 unify googletest and googlemock main functions
717ce7feb872 Googletest export
af71b6607f9e Merge pull request #2570 from xieyubo:1.10
679bfec6db73 Googletest export
838a32845c64 Fixed typo
5a62d400e057 README.md: added Catch2 and Google Test Explorer
51545ee515fc Googletest export
a32a20009473 Merge pull request #2588 from kuzkry:remove-workaround_g++-incorrect-comments
7a8a5bcec005 Merge pull request #2591 from kuzkry:remove-workaround_g++-using-on-operator<<
be74b4b2e0d1 Googletest export
db13ff1f0bd5 Merge pull request #2597 from kuzkry:remove-workaround_Nokia-Sybian-SafeMatcherCastImpl
0361bdf591dd Merge pull request #2596 from kuzkry:remove-workaround_msvc-wmain-link-error
39803f3c51d2 Merge pull request #2593 from kuzkry:remove-workaround_msvc-namespace-scope-from-nested-class
34e92be31cf4 Merge pull request #2604 from matepek:readme-update-with-opensource-proj
b8a92f7c86e4 Rename test case to test suite
967d8e05c2f0 Revert "unify googletest and googlemock main functions"
3957b8898b58 Revert "remove MSVC workaround: wmain link error in the static library"
b155875f32dc Merge pull request #2583 from ChristophStrehle:master
11a9482f84ac Merge pull request #2607 from oyefremov:patch-1
52825d78aac6 Merge pull request #2603 from maximilianschwab:patch-1
ae8d1fc81b14 Googletest export
cf75d4b92ecc Googletest export
1d563578c86f Merge pull request #2594 from kuzkry:remove-workaround_msvc-unneeded-const-dropping
2002f267f05b Googletest export
9ed99c6c837a Googletest export
78fdd6c00b8f Merge pull request #2609 from kuzkry:revert-2596
20b8e7a1c827 Activate GNU extensions in case of MSYS generator
6251071a20e8 Googletest export
a3097c826e4d Merge pull request #2592 from kuzkry:remove-workaround_msvc-error-C2665
88ba008c234a Merge pull request #2595 from kuzkry:remove-workaround_msvc-warning-4355
d442089d53ce Googletest export
d8eeb9760afc Googletest export
d16f86ff1cac Googletest export
5b162a79d49d Merge pull request #2589 from kuzkry:remove-workaround_g++-no-space-after-first-macro-argument
d2016469064b Workaround VS bug w.r.t empty arguments to macros
4b7809c2f523 Revert "Googletest export": Remove test for empty prefix
1800a38fb7d8 Revert "Googletest export": disallow empty prefix
0a0c82662992 Googletest export
d166e0948384 Merge pull request #2590 from kuzkry:remove-workaround_g++-stale-comments
9d8222ad6672 Disable move constructor and assignment operator for test classes.
77b3a250ea9e Review notes: Return T& from assignment operators
05701fee2896 Deleted functions as part of public interface
cc05a3ca014b Define default destructor for test classes
bf31ed376ab1 Make move operation noexcept.
6f1a8ffde934 Googletest export
d0a521255eb5 Googletest export
008629ae2163 Merge pull request #2624 from ShabbyX:master
a13a0626188b Googletest export
fbe34cecf4ff Merge pull request #2639 from trzecieu:trzeci/move_ctor_assign
153909f09633 Googletest export
0d98d87e1069 Googletest export
07ab939af757 Merge pull request #2632 from Kravlalala:cmake/mingw_msys_build
306f3754a71d Googletest export
4b9c1691c4b7 Googletest export
8417b7332210 Googletest export
c901f67ddf8a Googletest export
d854bd6acc47 Googletest export
3aa538cbfcc6 fix unit test failure on NoShortCircuitOnFailure and DetectsFlakyShortCircuit when GTEST_HAS_RTTI is 1
c7137f0b8422 Use IsReadableTypeName IsReadableTypeName in OfType function in gmock-matchers_test.cc
aa4315646b22 Remove exclusion of *-main and*-all targets
ed16134fb313 Googletest export
0b024bd91a14 Googletest export
7a8591e6e4e2 Googletest export
3e79d366e380 Googletest export
5336106b66db Googletest export
8b4817e3df37 Googletest export
18b67bfc58b1 Googletest export
c59c7bab5056 Merge pull request #2672 from ivan1993br:ivan1993br-platformio_update
9417fb401a57 Merge pull request #2665 from bysreg:fix_noshortcircuitfailure_detectsflakyshortcircuit_test
d01e356e155a Googletest export
10b1902d893e Googletest export
c378d7eb9308 remove a dead reference to the Autotools script
22397f28ef57 Googletest export
f1a6db9d4a8c Googletest export
87061810f4c7 Googletest export
7413280c52c1 Googletest export
d6ce39edf612 Googletest export
38f6608e8790 Googletest export
7bc671b8e0de Googletest export
572e261b6075 Googletest export
74b44b2d0fc2 Googletest export
4f6609129a2f Googletest export
d02e2772750f Googletest export
11d9834e98c1 Googletest export
fbf67a70d075 Googletest export
2d6d7a01c9ce Googletest export
41b5f149ab30 Googletest export
139fa202c938 Googletest export
360f5f70a3ff Googletest export
56de7cc8b554 Googletest export
d0930731d601 Googletest export
6f5fd0d7199b Googletest export
23b2a3b1cf80 Googletest export
04e52ebe7816 Fixed warnings
fd538161f484 Googletest export
909b1ccfcacc Googletest export
e588eb1ff9ff Googletest export
a1b0173df92b Make sure IsATTY does not clobber errno.
cfb5ef4e7dc0 Googletest export
878bd92e0fef Merge pull request #2716 from kuzkry:autotools-leftover
3de76551e0f0 Merge pull request #2722 from JohanMabille:warnings
0bf8ea3065f7 Googletest export
230afdb24e0f Googletest export
227faf41db5e Googletest export
c43f7100f084 Googletest export
482ac6ee6342 Googletest export
e41f31f2af3a Add tests for MockFunction deduction (#2277)
53740ebc21d5 Add support for std::function in MockFunction (#2277)
dbe804f98621 Merge pull request #2746 from Romain-Geissler-1A:master
749148f1accc Googletest export
08347d7a1604 Swap settimer and sigaction calls to avoid SIGPROF
82e5767f7812 remove dead code in googletest-output-test
acabdf65fba1 remove chapters on Autotools, Meson and plain Makefiles
1ced315a483f Googletest export
67cc66080d64 Merge pull request #2350 from adambadura:MockFunctionFromStdFunction
01e4fbf5ca60 Merge pull request #2764 from kuzkry:googletest-output-test-dead-code
dc82a33473dd Merge pull request #2765 from kuzkry:unsupported-build-systems
61f010d703b3 Googletest export
c344cb5a8d2b Googletest export
7084afda5aa3 Merge pull request #2762 from pkryger:avoid_sigprof
e3f0319d89f4 Merge pull request #2715 from kuzkry:document-premature-exit-file-protocol

Created with:
  roll-dep crashpad/third_party/gtest/gtest

Bug: 1070043
Change-Id: I39ab84ab931fa469cf8922a2d33d9b2b4e04cf4e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2145627
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
2020-04-11 23:15:27 +00:00
Scott Graham
054f45724e Revert "fuchsia: Include reference to zx library"
This reverts commit de5bc33b8b45b197977430a0e74a37c00c6a3bc3.

Reason for revert: going to be removed back out of the SDK, transitions are hard :( https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=7802#c33

Original change's description:
> fuchsia: Include reference to zx library
> 
> "library zx" used to be built in to fidlc, but is now a standalone file
> (this is an SDK change). Update the build rules to adapt to this.
> 
> ref: https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket.appspot.com/8883567878548782112/+/steps/compile_with_ninja/0/stdout
> 
> FAILED: gen/fidl/include/fuchsia/sysinfo/c/client.cc gen/fidl/include/fuchsia/sysinfo/c/fidl.h gen/third_party/fuchsia/fidl/fuchsia.sysinfo/tables.c gen/third_party/fuchsia/fidl/fuchsia.sysinfo/intermediary_representation.json
> python ../../third_party/fuchsia/runner.py ../../third_party/fuchsia/sdk/linux-amd64/tools/fidlc --c-header gen/fidl/include/fuchsia/sysinfo/c/fidl.h --c-client gen/fidl/include/fuchsia/sysinfo/c/client.cc --tables gen/third_party/fuchsia/fidl/fuchsia.sysinfo/tables.c --json gen/third_party/fuchsia/fidl/fuchsia.sysinfo/intermediary_representation.json --name fuchsia.sysinfo --files ../../third_party/fuchsia/sdk/linux-amd64/fidl/fuchsia.sysinfo/sysinfo.fidl
> ../../third_party/fuchsia/sdk/linux-amd64/fidl/fuchsia.sysinfo/sysinfo.fidl:7:7: error: Could not find library named zx. Did you include its sources with --files?
> using zx;
>       ^~
> 
> Bug: fuchsia:7802
> Change-Id: I10c0109fd9621a19d72deb21a489c2041caeeeca
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2141019
> Commit-Queue: Scott Graham <scottmg@chromium.org>
> Commit-Queue: Justin Cohen <justincohen@chromium.org>
> Reviewed-by: Justin Cohen <justincohen@chromium.org>

TBR=justincohen@chromium.org,scottmg@chromium.org

Change-Id: I0328c2ff586ff733926a51d87774453cb2cf7c33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: fuchsia:7802
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2143940
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2020-04-09 23:56:21 +00:00
Mark Mentovai
b71a4f1ca8 doc: Update buildbot URL
Change-Id: I7a1b6b91cb3f549904e2b930dab8becaca13085c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2144915
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-04-09 21:27:59 +00:00
Justin Cohen
b2fd7d5307 [ios] Bring up first half of UncaughtExceptionHandler.
When code raises an Objective-C exception, unwind the stack looking for
any exception handlers. If an exception handler is encountered, test to
see if it is a function known to be a catch-and-rethrow 'sinkhole'
exception handler. Various routines in UIKit and elsewhere do this, and
they obscure the exception stack, since the original throw location is
no longer present on the stack (just the re-throw) when Crashpad
captures the crash report. In the case of sinkholes, trigger an
immediate exception to capture the original stack.

The is an improvement over the alternative,
NSSetUncaughtExceptionHandler, which passes along the stack frames, but
not the stack memory contents and full exception context itself.

The details of what happens after a fatal exception is triggered are
unresolved in this CL.  For now, simply call std::terminate.

This code was inspired by chromium/src/chrome/browser/mac/
exception_processor.mm.

Bug: crashpad:31
Change-Id: Ieebc6476a0507c466c8219c10f790ec0a624e58c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2125254
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-04-08 20:57:21 +00:00
Scott Graham
de5bc33b8b fuchsia: Include reference to zx library
"library zx" used to be built in to fidlc, but is now a standalone file
(this is an SDK change). Update the build rules to adapt to this.

ref: https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket.appspot.com/8883567878548782112/+/steps/compile_with_ninja/0/stdout

FAILED: gen/fidl/include/fuchsia/sysinfo/c/client.cc gen/fidl/include/fuchsia/sysinfo/c/fidl.h gen/third_party/fuchsia/fidl/fuchsia.sysinfo/tables.c gen/third_party/fuchsia/fidl/fuchsia.sysinfo/intermediary_representation.json
python ../../third_party/fuchsia/runner.py ../../third_party/fuchsia/sdk/linux-amd64/tools/fidlc --c-header gen/fidl/include/fuchsia/sysinfo/c/fidl.h --c-client gen/fidl/include/fuchsia/sysinfo/c/client.cc --tables gen/third_party/fuchsia/fidl/fuchsia.sysinfo/tables.c --json gen/third_party/fuchsia/fidl/fuchsia.sysinfo/intermediary_representation.json --name fuchsia.sysinfo --files ../../third_party/fuchsia/sdk/linux-amd64/fidl/fuchsia.sysinfo/sysinfo.fidl
../../third_party/fuchsia/sdk/linux-amd64/fidl/fuchsia.sysinfo/sysinfo.fidl:7:7: error: Could not find library named zx. Did you include its sources with --files?
using zx;
      ^~

Bug: fuchsia:7802
Change-Id: I10c0109fd9621a19d72deb21a489c2041caeeeca
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2141019
Commit-Queue: Scott Graham <scottmg@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
2020-04-08 20:45:01 +00:00
Joshua Peraza
c4cc4e6ac9 android: initialize signal dispositions
Bionic installs signal handlers which request crash
dumps from Android's debuggerd, but there are errors
in how signals which aren't automatically re-raised
are handled on Marshmallow (API 23).

Before requesting a dump, Bionic acquires a lock to
communicate with debuggerd and expecting imminent
death, never releases it.

While handling the dump request, debuggerd allows
the dying process to continue before
ptrace-detaching it. So, when Bionic manually
re-raises a signal, it is intercepted by debuggerd
and the dying process is allowed to live.

Bionic restores SIG_DFL for the signal it's just
handled, but if a different crash signal is later
recieved, Bionic attempts to reacquire the lock to
communicate with debuggerd and blocks forever.

Disable Bionic's signal handlers for these signals
on Marshmallow.

Bug: chromium:1050178
Change-Id: Ia1fc5a24161a95931684d092ba8fee2f0dfbbdbb
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2134513
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-04-08 17:21:05 +00:00
Sukumar Mokkarala
9da2573ca9 linux: Patch for capget syscall error
Bug: crashpad:332
Change-Id: If867fd1780e4be1567048ad7fab29f5e61560aff
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2120780
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-04-03 04:19:02 +00:00
Mark Mentovai
194e23910c Change for loops to use const references where they did not previously
From cl/304219049:

Optimize C++11 range-based for loops where the variable is copied in
each iteration but it would suffice to obtain it by const reference.
This is only applied to loop variables of types that are expensive to
copy which means they are not trivially copyable or have a non-trivial
copy constructor or destructor.

To ensure that it is safe to replace the copy with a const reference,
the following heuristic is employed:
 - The loop variable is const qualified.
 - The loop variable is not const, but only const methods or operators
   are invoked on it, or it is used as const reference or value argument
   in constructors or function calls.

Change-Id: I5755eb523f60744079b0eb50424395079dcb0f02
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2132844
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-04-01 21:36:17 +00:00
Justin Cohen
e39aacbd66 Roll crashpad/third_party/mini_chromium/mini_chromium/ c426ff98e..731e08f06 (1 commit)
c426ff98e1..731e08f069

$ git log c426ff98e..731e08f06 --date=short --no-merges --format='%ad %ae %s'
2020-03-31 justincohen Strip arm64e from XCTRunner if present.

Created with:
  roll-dep crashpad/third_party/mini_chromium/mini_chromium

Change-Id: Ic682d6c98e313eaf56e58ef1eb90a65b48775f1d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2132727
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-04-01 18:40:47 +00:00
Mark Mentovai
61a4f3d7d6 mac: kern.nx is not present in 10.14.5 et seq, but NX is always enabled
This updates the comment from d3859d91fde0, which referred to 10.14.4 as
the OS version where kern.nx stoppoed working. Testing indicates that
kern.nx works in 10.13.6 17G12034 and 10.14.4 18E226. It does not work
in 10.14.5 18F132 or 10.15.4 19E266.

Bug: crashpad:295
Change-Id: Id2f222700fb626de707d60980fedbd79e62990e6
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2127566
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-03-30 17:08:24 +00:00
Justin Cohen
af62d7fcf6 Correct use of -[NSString UTF8String].
Fixes the chromium presubmit error for UTF8String:
 The use of -[NSString UTF8String] is dangerous as it can return null
 even if |canBeConvertedToEncoding:NSUTF8StringEncoding| returns YES.
 Please use |SysNSStringToUTF8| instead.

Bug: crashpad:31
Change-Id: Iaf939012ea9d342f6a01af58119cef962319aefe
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2119613
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-03-26 04:19:33 +00:00
Mark Mentovai
d3859d91fd mac: kern.nx is not present in 10.14.4 et seq, but NX is always enabled
Bug: crashpad:295
Change-Id: Id1de68d402d229b43fab5e8d15b0fe23c618ce08
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2119645
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
2020-03-26 01:07:10 +00:00
Justin Cohen
faae6470cf [ios] Bring up first draft exceptions snapshot.
Gather most of the necessary information for the exceptions snapshot.

Note that:
 - The 'capture' portion of this CL will be moved out of the snapshot
   interface and into a separate in-process dump to disk location.
 - All of the pointer dereferences need to be wrapped in vm_read.
 - The read-fast-and-dump logic in thread_snapshot may end up in a
   different file completely, but until we pick a
   serialization/deserialization method, keep it as-is.

Bug: crashpad:31
Change-Id: Iae4af436cddabd2302689b76c8a4574eb8e48c0e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2098744
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-03-25 20:36:06 +00:00
Justin Cohen
d9c1ca1216 [ios] Bring up first draft system snapshot and iOS data collector.
Gather most of the necessary information for the system snapshot.

Note that:
 - The 'capture' portion of this CL will be moved out of the snapshot
   interface and into a separate in-process dump to disk location.
 - All of the pointer dereferences need to be wrapped in vm_read.
 - The read-fast-and-dump logic in thread_snapshot may end up in a
   different file completely, but until we pick a
   serialization/deserialization method, keep it as-is.

Bug: crashpad:31
Change-Id: Iac82491fdb4a823163f02149f52a1e18e26fa9de
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2090173
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-03-25 20:31:06 +00:00
Justin Cohen
311a5a2fdd Fix chromium build.
Chromium's sources_assignment_filter broke the build.

Change-Id: I741ce06feafcfe7abd69f65ad9c871b66452dd83
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2117368
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-03-24 22:08:52 +00:00
Joshua Peraza
b75c578373 linux: disable arguments test on old kernels
Bug: chromium:1050178
Change-Id: Ideafa5971cbaf76fa6865f671158958e7abb3a8c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2117366
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-03-24 21:05:17 +00:00
Joshua Peraza
af2be80bdb android: configure a native test suite
Most Android tests in Chromium's infrastructure are
launched from an APK, but that's not appropriate for
Crashpad where many things expect to be run in a
plain executable.

Bug: chromium:1050178
Change-Id: I6eeb3f5e4889193e5bbe2a3bad2cd99a18e970ba
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2112342
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2020-03-23 21:54:41 +00:00
Nico Weber
2965013518 Prepare crashpad mig stuff for -Wunreachable-code in chromium_code.
Bug: chromium:346399
Change-Id: I5d93a2f6781dd4dd3483009d9c470050d490be3c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2116252
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
2020-03-23 20:18:51 +00:00
Justin Cohen
4e2a190ad6 [ios] Bring up first draft thread and memory snapshot.
Gather most of the necessary information for the thread snapshot.

Note that:
 - The 'capture' portion of this CL will be moved out of the snapshot
   interface and into a separate in-process dump to disk location.
 - All of the pointer dereferences need to be wrapped in vm_read.
 - The read-fast-and-dump logic in thread_snapshot may end up in a
   different file completely, but until we pick a
   serialization/deserialization method, keep it as-is.


Change-Id: I80ba323cb6a59ac0dd1bba9150d047ba83cc4dad
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2085572
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
2020-03-20 17:26:49 +00:00
John Bauman
9a31d3f8e9 Print thread state after failure to suspend
This may help us debug some issues where the thread is failing to
suspend.

Bug: b/151318587
Change-Id: I0d2d539f769ebb1cdd71606e1d23d8fa66673879
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2103411
Commit-Queue: John Bauman <jbauman@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2020-03-13 22:48:26 +00:00
Justin Cohen
6835b8e29d Roll buildtools/ afc5b798c..4164a3056 (9 commits)
afc5b798c7..4164a30562

$ git log afc5b798c..4164a3056 --date=short --no-merges --format='%ad %ae %s'
2020-03-12 agrieve Roll GN from fd3d768b..9499562d
2020-03-10 thakis roll gn 4166e9fbc1f..fd3d768bcfd4
2020-02-29 xiaohuic Clean up buildtools repo migration code
2020-02-24 thakis Revert "Roll libunwind 43bb9f8722..d999d54f4b"
2020-02-21 thakis Roll libunwind 43bb9f8722..d999d54f4b
2020-02-21 seblalancette Roll GN from 97cc440d..4166e9fb
2020-02-21 bpastene Reland: Pull libunwind, libcxx, libcxxabi from a different mirror.
2020-02-19 bpastene Revert "Pull libunwind, libcxx, libcxxabi from a different mirror."
2020-02-19 thakis Pull libunwind, libcxx, libcxxabi from a different mirror.

Created with:
  roll-dep buildtools

Change-Id: Iedee7c3de93c08999b6da8ed8c31cc2c651c5c54
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2102907
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-03-13 18:31:22 +00:00
Justin Cohen
1d75af9bf5 Fix bad iOS module casting.
Change-Id: I0f8dcd867c56c4b1476c23d280e08448d2e90795
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2097177
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-03-10 20:59:27 +00:00
Justin Cohen
b109e4ce38 [ios] Bring up first draft process and module snapshot.
Gather most of the necessary information for the module snapshot.

Note that:
 - The 'capture' portion of this CL will be moved out of the snapshot
   interface and into a separate in-process dump to disk location.
 - All of the pointer dereferences need to be wrapped in vm_read.
 - The read-fast-and-dump logic in module_snapshot may end up in a
   different file completely, but until we pick a
   serialization/deserialization method, keep it in module_snapshot_ios.

Change-Id: Ie80c739c167634520d13ec920a29a80116aa3bfe
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2079196
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-03-05 15:42:35 +00:00
Martin Vejdarski
2091241971 Roll crashpad/third_party/mini_chromium/mini_chromium/ f8f1182ad..c426ff98e (3 commits)
f8f1182adb..c426ff98e1

$ git log f8f1182ad..c426ff98e --date=short --no-merges --format='%ad %ae %s'
2020-03-05 martin fix build issue with objc flags
2020-03-05 martin add extra flags to gn
2020-03-02 mark Don’t use the disappearing MSVC_PUSH_DISABLE_WARNING() macro

Created with:
  roll-dep crashpad/third_party/mini_chromium/mini_chromium

Change-Id: I5d49cfe778e31c47b9e153107dc79abe2a726070
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2087554
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-03-05 14:16:25 +00:00
Rohit Rao
42da41d24a Targets iPhone 8 when running tests.
The iPhone 8 simulator should be available in both Xcode 10.2 and Xcode 11.3.

BUG=None

Change-Id: I26570eb2406f67b3663ac9ecb7e7440c0f9fa70d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2085353
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2020-03-03 20:05:10 +00:00
Jinke Fan
e1b3bd11cd Add support for Hygon Dhyana CPU
This patch is used to add support Hygon Dhyana x86
vendor id (HygonGenuine).

More details can be found on:
http://lkml.kernel.org/r/5ce86123a7b9dad925ac583d88d2f921040e859b.1538583282.git.puwen@hygon.cn

Change-Id: I53445a8a63421811401b6a6a40e664d2600a3ec8
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1640959
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-03-03 18:12:33 +00:00
Joshua Peraza
7500e2ef45 linux: add fallback-modes for memfd_create
Bug: chromium:1051354
Change-Id: I5dbbb3b264c09060429db199aa9f046c2f317c48
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2080651
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-03-03 18:09:45 +00:00
Justin Cohen
3c573b54ae [ios] Fix iOS device build.
Change-Id: Ib0f5af9680b4b626df2da006789eb846cd38579d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2081269
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-03-03 02:11:41 +00:00
Mark Mentovai
11b8eb10d4 Don’t use the disappearing MSVC_PUSH_DISABLE_WARNING() macro
Bug: chromium:1053958
Change-Id: I4d3f6b5e1ea8f9433ce2db6da70f28cd4f539b7c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2081257
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-03-02 17:08:16 +00:00
Leonard Chan
8bad6f140e [UBSan] Temporarily disable UBSan for gtest and file
These should be the remaining instances of UB errors we see.

Bug: fuchsia:46805
Change-Id: Id8285386fd6cb52518f6076ddb79ac60025f9f87
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2067754
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2020-02-24 17:26:35 +00:00
Nico Weber
d632f625a2 Fix a Wrange-loop-analysis warning in crashpad.
Bug: chromium:1039697
Change-Id: I2c69b8a3ba9c070eef8ff5b8f0207311b020935f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2069637
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
2020-02-23 12:49:09 +00:00
Leonard Chan
0c20aeabd3 [UBSan] Temporarily disable UBSan for snapshot and minidump
UBSan was reporting reference binding to a misaligned address in Fuchsia.
Disable UBSan for this target for now just to silence the runtime
warnings, then come back and fix them.

Bug: fuchsia:46805
Change-Id: Ic5d9b35161b6d998f1ff50eb8e978c44aff9b4ef
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2068051
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2020-02-21 21:20:59 +00:00
Yilong Li
f79cba47ba [lsan][crashpad] Suppress leak sanitizer on crashpad_test.
Leak sanitizer detected bugs on the above tests. We suppress
the leak sanitizer on the leaky targets for now, and these leaks
need to be fixed to fully enable leak detector.

Bug: fuchsia:46559
Change-Id: I0bd7a43cfefc0d4ac213651de6dceea4404c243b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2067412
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2020-02-21 06:36:08 +00:00
Roland McGrath
22701bb0e4 fuchsia: Use zx_system_get_version_string
The new API replaces zx_system_get_version and is simpler.

Bug: fuchsia:45640
Change-Id: Ibc47703aba0e87e55265608b517e5953eada182f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2063908
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2020-02-19 04:43:35 +00:00
Justin Cohen
9ed8290547 Bring up skeleton crashpad_client_ios.
First steps at bringing up the crashpad_client on iOS.  Also updates
the XCUITest to trigger various crashes, with some swizzling
necessary to allow crashes.

Change-Id: I87dd36bed1c052b509d14bfa29679ed81e58a377
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2039470
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
2020-02-18 20:03:41 +00:00
Joshua Peraza
faed21a286 linux: Log register sizes on mismatch
Bug:1051354
Change-Id: Ia7731a87420e61756b61d109f9c69970ec27c6cb
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2062776
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-02-18 19:38:58 +00:00
Joshua Peraza
07812f5bd6 android: fix the gyp build
Change-Id: Ic54fd61258f4ea5b3aaa83a252faa0053ca1f552
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2062773
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-02-18 19:24:21 +00:00
Tao Bai
5a8c228641 Add document for base94_encoder
- Also fix the command line issue

Bug: crashpad:308
Change-Id: I2cace85f472acd049c1916b894c6ec36fe7fcc56
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2048267
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Tao Bai <michaelbai@chromium.org>
2020-02-11 00:11:25 +00:00
Brian Sheedy
ff1036aa60 Remove failing thread suspend DCHECK
Removes a failing DCHECK in process_reader_win.cc caused by a race
condition with a thread being injected into a process whose existing
threads are already suspended.

Bug: chromium:1007013
Change-Id: Ifa569220b28e8e2e5dfa6c32b2be4c57f61076b3
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2047803
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
2020-02-10 20:12:15 +00:00
Nico Weber
7ed4d5c454 arm: Properly mark _ZN8crashpad14CaptureContextEP10ucontext_t as %function
lld wants to remove bl/blx substitution for non-function symbols
(https://reviews.llvm.org/D73542). GNU ld apparently already doesn't
do it.

Since _ZN8crashpad14CaptureContextEP10ucontext_t wasn't marked as a function,
chromium's thumb code would then branch without mode transition into
crashpads non-thumb assembly (in arm32).

So mark the symbol as function, so that things work even if that patch
relands. This should also make things work with GNU ld, though I haven't
verified that it was broken before and works now.

I also did this for aarch64 since it seems like The Right Thing To Do
(assuming the assembler accepts it, which I also haven't checked --
the CQ will hopefully check that).

Bug: chromium:1049649
Change-Id: I3452c16f0d52a2dc0397fd3d60d06b5c39a4b524
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2044144
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
2020-02-07 23:42:19 +00:00
Jan Wilken Dörrie
52ddeac77c Don't implicitly construct StringPiece from nullptr
This change implements the crashpad changes from
https://crrev.com/c/2027791 upstream.

Bug: chromium:1049498
Change-Id: I59b920d878b080d41db32bf0305d3d8f3d4f47c9
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2042712
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-02-07 21:57:09 +00:00
Ian Barkley-Yeung
5779e638e1 Note that uploads consent is ignored on ChromeOS
Note that upload consent is ignored if --use-cros-crash-reporter is
present, which it will be if invoked by Chrome on ChromeOS.

BUG=chromium:1037656
TEST=None

Change-Id: I2dcea736de40a082b477f21d46c3ed01f1d91699
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2042317
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Ian Barkley-Yeung <iby@chromium.org>
2020-02-06 23:35:21 +00:00
Rohit Rao
cad958a833 Roll buildtools/ 6b3e658d6..afc5b798c (9 commits)
6b3e658d6f..afc5b798c7

$ git log 6b3e658d6..afc5b798c --date=short --no-merges --format='%ad %ae %s'
2020-01-28 thakis Roll GN 83dad00a:97cc440d
2020-01-28 thakis Reformat remaining gn files.
2020-01-21 sdefresne Roll GN 0c5557d173..83dad00afb
2020-01-16 thakis Reformat all gn files in /buildtools/third_party/libc++.
2020-01-16 felipesalazar Include cxa_thread_atexit on linux targets.
2020-01-13 thakis Roll GN a5bcbd726a..0c5557d17
2020-01-08 bpastene Update //buildtools/README.txt after it was merged into chromium.
2019-12-31 agable Roll GN from 6feb5599..a5bcbd72
2019-12-13 chouinard Roll GN from ad9e442d..6feb5599

Created with:
  roll-dep buildtools

Change-Id: Ifdfa2dae072115c18ce859620ed01743cac312f9
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2036509
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2020-02-04 20:05:25 +00:00
Rohit Rao
e9885ee348 Roll crashpad/third_party/mini_chromium/mini_chromium/ 0a3a80b04..f8f1182ad (1 commit)
0a3a80b04b..f8f1182adb

$ git log 0a3a80b04..f8f1182ad --date=short --no-merges --format='%ad %ae %s'
2020-02-04 rohitrao Explicitly specify lib_switch and lib_dir_switch in the msvc toolchain.

Created with:
  roll-dep crashpad/third_party/mini_chromium/mini_chromium

Change-Id: Id587cccedc77f26625d6d89a2205130db5b4ca43
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2037750
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2020-02-04 19:57:15 +00:00
Rohit Rao
c094a11582 Roll buildtools/ eda23acab..6b3e658d6 (29 commits; 6 trivial rolls)
eda23acabd..6b3e658d6f

$ git log eda23acab..6b3e658d6 --date=short --no-merges --format='%ad %ae %s'
2019-11-18 xiaohuic Reland: Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..78d6a7767 (333 commits)
2019-10-28 xiaohuic Revert "Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..78d6a7767 (333 commits)"
2019-09-13 hnakashima Add exception for libassistant to import checker.
2019-09-10 dpranke Add a COMPONENT entry (Build) for //buildtools.
2019-09-10 dpranke Roll GN from 152c5144..ad9e442d
2019-07-25 thomasanderson List natvis files as inputs
2019-07-23 tikuta Roll GN from 972ed755 to 152c5144
2019-07-19 tsniatowski ensure_gn_version.py: don't die if existing gn is very old
2019-07-16 bratell Before trying to overwrite the gn binary, make it writable
2019-07-12 vapier ensure_gn_version.py: reinstall if tool is missing
2019-07-11 vapier ensure_gn_version.py: fix exception printing
2019-06-24 brettw Roll GN from 8c7f4910 to 972ed755
2019-06-21 thomasanderson Reland "Roll GN from 81ee1967 to 8c7f4910"
2019-06-17 sdy Revert "Roll GN from 81ee1967 to 8c7f4910"
2019-06-16 thomasanderson Roll GN from 81ee1967 to 8c7f4910
2019-06-14 mstensho Revert "Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..ad464887b (53 commits)"
2019-06-13 mstensho Revert "Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..78822a685 (48 commits)"
2019-06-07 oysteine Tracing: Moved the tracing sampling profiler to the tracing service
2019-05-23 wychen Exclude AndroidStudioDefault folder in Java import checking
2019-05-19 rsesek Roll GN from 64b846c9 to 81ee1967.
2019-05-13 jbudorick checkdeps: encode input to os.walk as utf-8.
2019-04-03 tikuta Roll GN from r1496 (0790d304) to r1555 (64b846c9)
2019-03-29 dpranke Revert "Roll GN from r1496 (0790d304) to r1546 (b85982b3)"

Created with:
  roll-dep buildtools

Change-Id: I9d0c41177307af404768d3c4e8909364f7fa6a3e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2036534
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2020-02-04 16:24:54 +00:00
Rohit Rao
b97e77bcf5 Roll buildtools/ 62f9eb0d6..eda23acab (11 commits; 2 trivial rolls)
62f9eb0d64..eda23acabd

$ git log 62f9eb0d6..eda23acab --date=short --no-merges --format='%ad %ae %s'
2019-03-28 dpranke Roll GN from r1496 (0790d304) to r1546 (b85982b3)
2019-03-27 thomasanderson Enable in-tree libc++ builds on iOS
2019-03-27 raul Support Python 3 in //buildtools/ensure_gn_version.py
2019-03-22 dpranke Add ensure_gn_version.py and DEPS hook.
2019-03-20 thomasanderson Roll libc++ to r356574
2019-03-19 tikuta [buildtools] update .gitignore for CIPD
2019-03-18 olivierrobin Fetch gn based on the host OS.
2019-03-15 thomasanderson Set WINVER to WIN7 for libc++
2019-03-15 dpranke Use CIPD packages for GN instead of GCS.

Created with:
  roll-dep buildtools

This rolls buildtools to a commit that pulls GN via CIPD and updates
DEPS to stop downloading GN from GCS.

Change-Id: Ic148c5ef380168ced0f8390668dcbf0a610304ba
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2036530
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2020-02-03 20:23:38 +00:00
Justin Cohen
56ec176fda Fix Chromium checkperms.py has shebang but not executable bit error.
Change-Id: I0fc5d853a38f186bba9937d537a95db37e0604ac
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2032978
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-02-03 18:37:28 +00:00
Rohit Rao
39a319d6a7 Roll buildtools/ 3e50219fc..62f9eb0d6 (8 commits)
3e50219fc4..62f9eb0d64

$ git log 3e50219fc..62f9eb0d6 --date=short --no-merges --format='%ad %ae %s'
2019-03-15 dpranke Add presubmit checks for //buildtools/DEPS entries.
2019-03-14 thomasanderson Clean up visibility for lib{c++,c++abi,unwind} and common_deps targets
2019-03-13 wez Revert "Move fuchsia libunwind dependency to common_deps"
2019-03-13 dpranke Reformat DEPS files to use single-quotes consistently.
2019-03-13 thomasanderson Correct libcxx{abi} revision in buildtools/DEPS
2019-03-13 thomasanderson Move fuchsia libunwind dependency to common_deps
2019-03-11 thomasanderson Roll libc++ to 355829
2019-03-06 thomasanderson Roll libc++ to 22d3f6dd

Created with:
  roll-dep buildtools

This rolls buildtools to the commit just before GN switched from GCS to
CIPD.  In a followup, I'll roll one more commit and switch crashpad to
pulling GN via CIPD.

Change-Id: I11081716d76cb18df5f1475ddcb8e58dc069a7f4
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2033607
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-02-03 18:22:58 +00:00
Tao Bai
e386d703d6 Fix typo in handler_main
Bug: crashpad:308
Change-Id: I1b8124a8ad7c66376ce1c028959f11d5e84c7121
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2033431
Commit-Queue: Tao Bai <michaelbai@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2020-01-31 22:54:24 +00:00
Rohit Rao
46ad005e92 Updates run_tests.py to support testing on iOS.
Tests are run by creating an xctestrun file in a temp directory and then
invoking "xcodebuild test-without-building".  Tests run on the latest
OS version (the default for the running version of Xcode) on iPhone X.

Bug: crashpad:317
Change-Id: If9f34f8798fd4c2a02fecca180913e8f86011304
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2033606
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2020-01-31 21:00:14 +00:00
Rohit Rao
39116ab723 Adds support for running iOS unittests via XCTest.
Using XCTest allows us to drive tests from the commandline via
xcodebuild, and it also simplifies running tests on physical devices.

Tests put themselves into "XCTest-mode" if the
"XCTestConfigurationFilePath" environment variable is present.  This
variable is only set when XCTests are running.

Change-Id: If55199a7470f0479f107097eef1dfb1a705015e9
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2033427
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-01-31 20:14:04 +00:00
Rohit Rao
3b007333a0 Roll crashpad/third_party/mini_chromium/mini_chromium/ f58366399..0a3a80b04 (2 commits)
f58366399b..0a3a80b04b

$ git log f58366399..0a3a80b04 --date=short --no-merges --format='%ad %ae %s'
2020-01-31 rohitrao Adds support for ios_xctest_test.
2020-01-31 justincohen Sign iOS apps on simulator too.

Created with:
  roll-dep crashpad/third_party/mini_chromium/mini_chromium
R=0a3a80b04b3f8b1268877fd376954a8af1480171@chromium.org

Bug: crashpad:317
Change-Id: I3dedbb7cde03245fbcdacefae41a0f5fb965859d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2033430
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2020-01-31 18:20:25 +00:00
Justin Cohen
75ea787a80 Adds plumbing for xcuitests with a placeholder test.
Also adds basic integration for EDO.

Change-Id: If3d193a4967a566b55d6d446585e2988dacad6e6
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2028183
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-01-31 03:39:51 +00:00
Tao Bai
915862984c [log minidump] add option to log minidump in handler_main
- Add option to log minidump in handler_main, also add option to
  disable to dump minidump and generate report.
- Implement log minidump in CrashReportExceptionHandler.

Bug: crashpad:308
Change-Id: I8d2f7e118912011a8416f1ec36c9ee9d561d06e6
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1995825
Commit-Queue: Tao Bai <michaelbai@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2020-01-30 18:06:58 +00:00
Justin Cohen
f36f46d1ec Roll crashpad/third_party/mini_chromium/mini_chromium/ 0512d4269..f58366399 (1 commit)
0512d42698..f58366399b

$ git log 0512d4269..f58366399 --date=short --no-merges --format='%ad %ae %s'
2020-01-29 justincohen Enable debug flags in debug mini chromium.

Created with:
  roll-dep crashpad/third_party/mini_chromium/mini_chromium

Change-Id: Ieb457f27b31c3717810f2be236b084127277de55
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2029649
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-01-30 16:30:48 +00:00
Justin Cohen
77baffaf93 Add iOS gn configs.
Allows more native iOS development with Xcode by auto generating all
the various configs during runhooks.

Change-Id: I840001caabc7ef656c3145b847cee5596335aa23
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2024186
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
2020-01-29 15:46:32 +00:00
P.Y. Laligand
23a2da5e95 [fuchsia] Only add fdio config if it's not already present.
Change-Id: Ie5eef8fb76b7a9558791aae8572ec2c91d2e6b84
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2026287
Commit-Queue: Francois Rousseau <frousseau@google.com>
Reviewed-by: Francois Rousseau <frousseau@google.com>
2020-01-29 00:21:51 +00:00
Joshua Peraza
6c0f5ccaa8 Add NewReport::Reader to read back new reports
Change-Id: If53a63aac2b213b02619bb5277e5618c0e7842b3
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2019566
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-01-24 18:51:59 +00:00
Nico Weber
2fd16e3392 Reformat all gn files
Port of chromium-side
https://chromium-review.googlesource.com/c/chromium/src/+/1997899

Bug: chromium:1041419
Change-Id: Ic7afefa0dea024da37fe4bb0f965840a160e2166
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2015428
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-01-23 13:59:00 +00:00
Vitaly Buka
4367e9df17 Increase kAllowedOffset for non-optimized build
"init_stack_vars = true" inserts additional instructions which
usually removed by optimization if code does not rely on undefined
behaviour of uninitialized variables.
However in non-optimized build these instructions may still be present.

Fixing https://ci.chromium.org/p/chromium/builders/ci/Win10%20Tests%20x64%20%28dbg%29/12597
Related patch: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1949846

Bug: chromium:1030261
Change-Id: Ib05fa8580d4b0206f70e2dfac5e0f3a3d4389f95
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1995823
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
2020-01-13 19:08:22 +00:00
Tomasz Śniatowski
0b8741b074 Remove redundant semicolon in cpu_context_linux.h
Fix a -Wextra-semi warning in Clang when building crashpad for MIPS.

Change-Id: I53893c815de74d2503acdce24708e29096f4b0aa
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1997103
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Tomasz Śniatowski <tsniatowski@vewd.com>
2020-01-13 17:32:22 +00:00
Rohit Rao
54bbd7d0d5 Adds support for running GTests on iOS.
iOS needs to run tests from within the context of a UIApplication, and
it needs to periodically spin the runloop to ensure that the watchdog
does not kill the app for being unresponsive.

BUG=crashpad:31

Change-Id: Ia1d881e478d4f83c236b475a21529760c06100c7
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1904226
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-01-07 17:08:53 +00:00
Ian Barkley-Yeung
558b7ea43f Pass --always_allow_feedback during integration tests
During ChromeOS integration tests, pass --always_allow_feedback to
crash_reporter. Most integration tests do not set metrics consent but
still want crash dumps.

Needs https://chromium-review.googlesource.com/c/chromium/src/+/1981139 as well

BUG=chromium:1037656
TEST=tast -verbose run --extrauseflags chrome_internal my_crbook ui.ChromeCrashNotLoggedInDirect

Change-Id: Ibc7af4b31da789c52aec6e668a4b192d4e20fdfc
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1981037
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Ian Barkley-Yeung <iby@chromium.org>
2020-01-02 18:36:23 +00:00
Vlad Tsyrklevich
c2978022d1 Update comment to match current state of MemorySnapshotGeneric
MemorySnapshotGeneric is now used on all platforms as it uses
ProcessMemory instead of templating to use a platform-specific
ProcessReader* class.

Change-Id: Ib0b6db0fac184c558f1c76a584db92e4804dfe99
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1977640
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
2019-12-20 17:29:59 +00:00
Joshua Peraza
38f4bae3ad chromeos: fix minidump-dir-for-tests flag
Bug: b/145241430
Change-Id: I766c9bcb6f0b2eaf4219dad38cdb02867bf76a2b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1976077
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-12-19 20:29:55 +00:00
Tao Bai
b411976ca5 [log minidump] add tool to encode/decode minidump log.
- This tool could compress/encode or decode/decompress the minidump
  log file, will be used by script to symbolize the crash.
- Added FileOutputStream and FileEncoder.

Bug: crashpad:308
Change-Id: I15c3e4908882a09983ec81a90e38249967c29fc4
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1968059
Commit-Queue: Tao Bai <michaelbai@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2019-12-18 22:16:48 +00:00
Joshua Peraza
4dd9124e2f linux: install handler and log errors on prctl failure
Change-Id: Iec118ce299ad9a9cd81e3dea98b25804121b5b2b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1972311
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-12-17 20:31:15 +00:00
Joshua Peraza
d3d0c8d3ca android: don't expect code addresses to be readable
Change-Id: I252a93db5f4166216664ae8f67e331fc7eed8852
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1967548
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-12-13 18:58:42 +00:00
danakj
a126f524fa Use base::BindOnce() instead of base::Bind()
R=rsesek@chromium.org

Bug: chromium:1007836
Change-Id: I1997bec5e4a499d2c200099e6cc94876a4667782
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1967540
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
2019-12-13 18:03:42 +00:00
Scott Graham
af5d5468e0 Rename FIDL tables to .c due to use of designated initializers
Will also need https://fuchsia-review.googlesource.com/c/fuchsia/+/348593 to land in the SDK to fix the bots.

Very helpful link: https://ci.chromium.org/p/crashpad/builders/try/crashpad_try_fuchsia_arm64_dbg/728

Change-Id: Iacdbb13a72d116bd579f5f10cadbe7a0b3ed7987
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1966371
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-12-13 16:46:32 +00:00
Tao Bai
fa28ef896c [log minidump] LogOutputStream implementation
Emit the received data to Android logcat in Android, and noop for
other platforms.

Bug: crashpad:308
Change-Id: I6e46e2fa8bd61f93f614ad0bfb6441a79139b04b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1958711
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2019-12-12 23:04:38 +00:00
Benjamin Wright
097395dfca [crashpad] - Replace "system-temp" with "isolated-temp"
Bug: fuchsia:25092
Change-Id: I553245cea7b4db7e414320bfed02e79531cbc4c9
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1961139
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2019-12-11 01:10:20 +00:00
James Forshaw
c6153f0b6e [Windows] Add AppContainer SID to Named Pipe DACL.
This CL modifies the creation of the Named Pipe Security Descriptor to
allow access from AppContainer processes. The DACL only allows access for
the current user and SYSTEM which matches up with the auto-assigned DACL
used previously (the read-only logon SID ACE has been removed). As this
new code uses APIs from ADVAPI32 a check is made to ensure it's not being
called while the loader lock is held to avoid hitting previous similar
issues.

Bug: crashpad: 318
Change-Id: I3f9cf5c788dbadacad21c8a2d57a0188f690ac32
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1955982
Commit-Queue: James Forshaw <forshaw@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-12-10 17:16:24 +00:00
Tao Bai
3e4d6a9b7f [log minidump] Base94OutputStream implementation
Add Base94 encoding/decoding implementation and tests.

Bug: crashpad:308
Change-Id: If3f25efcb277eacd5d8cbe1d66f22919872c7d64
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1796682
Commit-Queue: Tao Bai <michaelbai@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2019-12-06 19:27:33 +00:00
Mark Mentovai
cba3dabf24 Add .gitattributes, setting “text eol=lf” or “binary” for all files
This should prevent accidental "\r\n" line endings from being introduced
again, as happened in 359fc4a1336d, fixed by 31470459b624.

Also includes:

Update mini_chromium to 0512d42698bfb47f2016ac627177c22d22b983d4

0512d42698bf Add .gitattributes, setting “text eol=lf” for all files

Change-Id: Id84c014914fec66632006ed364e2b14b4f1c175c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1953807
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2019-12-06 19:07:12 +00:00
Mark Mentovai
31470459b6 Fix line endings on files introduced in 359fc4a1336d
"\r\n" was used instead of "\n" on four new files.

No other "\r" appears in any text file, repository-wide.

Bug: crashpad:316
Change-Id: I94f5d20cd2498e76efdee6062382669362e6e53d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1954713
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2019-12-06 04:24:30 +00:00
Joshua Peraza
bcab7ad54c linux: handle large mapped files
Chrome on Android normally builds the handler without large file
support because support for large files varies by API level and NDK
version.

https://cs.chromium.org/chromium/src/build/config/compiler/BUILD.gn?rcl=6b5017edcd8544acbdb157086a1645ce36c03057&l=360

https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md#32_bit-and

The handler still needs to able to handle large files mapped by other
code modules.

Bug: crashpad:312
Change-Id: I1022b706797f41445650f82c425a92e6e2308618
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1954426
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-12-05 21:33:20 +00:00
Joshua Peraza
c9f089eee4 linux: update lss
Change-Id: Icb893e5fad1e94da5f401cb56d882baec8620c0b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1954243
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-12-05 21:28:20 +00:00
Rohit Rao
6b81e8173f Removes the obsolete cq.cfg file.
The authoritative version of this config now lives in "commit-queue.cfg"
on the origin/infra/config branch.

This config was migrated in:
https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1436767

BUG=916292

Change-Id: Ie49028d043775e789fb948b24485c45d168720c3
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1953363
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2019-12-05 17:52:14 +00:00
Vitaly Buka
e01fb92aa9 Fix #elif in crrev.com/c/1949846
I was editing the patch in gerrit and looks like it undone !defined
change and I landed wrong version.

Bug: chromium:1030261
Change-Id: Ib645839bac5450fe55ecd9f3a38155022b7f6c13
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1951624
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
2019-12-04 21:58:57 +00:00
Vitaly Buka
9a312ddff5 Increase kAllowedOffset for non-optimized build
"init_stack_vars = true" inserts additional instructions which
usually removed by optimization if code does not rely on undefined
behaviour of uninitialized variables.
However in non-optimized build these instructions may still be present.

Bug: chromium:1030261
Change-Id: I85d1d0a240dcd1c29c6ff148e88d572b5dcc81d1
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1949846
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
2019-12-04 19:25:59 +00:00
James Forshaw
359fc4a133 [Windows] Add checks for DLL loader lock.
This CL adds code to check if the current thread holds the DLL loader
lock. This code can be used to enforce the requirement that certain
parts of crashpad, such as process creation are not done during calls
to DllMain which can lead to deadlocks and crashes. Only one check is
current enforced, in client process creation, and only in debug builds.

Bug: crashpad: 316
Change-Id: I5757a264bbf28ce2ab88a0cd7ac9481e46428c17
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1945993
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: James Forshaw <forshaw@chromium.org>
2019-12-03 21:42:32 +00:00
Joshua Peraza
7fd5226a97 Give database settings kOwnerOnly permissions
Bug: b/145240822
Change-Id: Id3720471ce67edd981c35b62cf1d8f810899646c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1940848
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-11-27 20:50:02 +00:00
Joshua Peraza
74490f00a4 linux: roll lss and use sys_sigtimedwait/sys_sigprocmask
Bug: crashpad:265
Change-Id: I4b8f566e2a211cca96eef8a2c1098408a38bcf23
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1914840
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-11-13 22:10:54 +00:00
Joshua Peraza
2291bfa32e android, gyp: fix the build
Change-Id: If852448b5719310b73774cac635ef9c52a3efc22
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1914349
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-11-13 21:16:24 +00:00
Scott Graham
0208c1a175 fuchsia: Don't capture incorrect/unreasonably large stacks
In a stack overflow test from the Fuchsia tree, an intentional crash was
being induced that at the point it was reported to Crashpad resulted in
a stack pointer outside of the stack. This caused two problems:

- Crashpad attempted to capture that whole "thing" which could have been
  anything, and in the failing test was a 1G guard region
- The whole wrong thing could be very large, resulting in OOM when
  trying to write the minidump, which was the symptom of the bug.

Don't attempt to continue of SP isn't at least in a mapping, and don't
capture too-large regions for the stack as nothing useful can come of
that anyway.

New test added: ProcessSnapshotFuchsiaTest.InvalidStackPointer.

Bug: fuchsia:41212
Change-Id: Ifb48fd8b4b5b2f0cf10ab97e01dbd8b842368775
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1912942
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Francois Rousseau <frousseau@google.com>
2019-11-13 00:26:24 +00:00
Joshua Peraza
a8d66ae783 linux: don't set ptracer if yama doesn't exist
Change-Id: I0f2c1a1eef93151014c3f715a64ba99b63358887
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1904957
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-11-08 04:36:18 +00:00
Joshua Peraza
93f8aa8df9 posix: fix parameter name in signals test
Change-Id: I6e998571171c9a725d88a9529c73d01c62ee984f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1905146
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-11-08 04:02:38 +00:00
Rohit Rao
bd1aa246ca Starts compiling the crashpad_test_test target on iOS.
Brings up the subset of tests that pass on iOS without any modifications.
Additional tests will be added later as they are updated to pass on iOS.

Excludes non-compiling targets from the iOS build so that the default target
compiles cleanly.

Rolls mini_chromium to cdab1e6263ec7f3f61763efc1dac863f8dc07c80.
  2019-11-01 rohitrao Adds GN support for XCTest on iOS.
  2019-10-29 rohitrao Fixes for iOS compilation and running on iOS devices.

BUG=crashpad:31

Change-Id: I918f10fc941b37fa89b08ce87828dd4299437096
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1895905
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
2019-11-07 16:55:37 +00:00
Joshua Peraza
6dadd492b8 linux: fix proc stat reader flakiness
ProcStatReader.Threads is flaky because it relies on an internal,
imprecise measurement of boot time. The flaky test asserts that a
thread started after the main thread should have a start time >= the
main thread. The start time is returned in a timeval, with microsecond
precision, but the measurement of boot time requires two system calls
and the time between those system calls can be approximately a
microsecond. An unlucky event such as a change in system time could
make this imprecision arbitrarily bad.

This patch lets the caller of ProcStatReader.StartTime() inject the
boot time, allowing ProcStatReader to guarantee that threads have
correctly ordered time, given the same input boot time.

Bug: 1016765
Change-Id: I6e4a944a1d58c3916090bab6a4b99573e71a89fc
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1891588
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-11-07 16:54:17 +00:00
Francois Rousseau
27322abb7e [net] specify parameter name in parameterized test suite
* this renders as "HTTPTransport/HTTPTransport.ValidFormData_Gzip/http"
  instead of the default "HTTPTransport/HTTPTransport.ValidFormData_Gzip/0"
* switch the parameter type from a base::FilePath::StringType to a string

Change-Id: I19743966406f92176c566827d74a79aef5a87bb5
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1900324
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2019-11-06 01:35:18 +00:00