-
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: update crashpad to 7e0af1d #3
Open
bobbyg603
wants to merge
108
commits into
main
Choose a base branch
from
update-2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Pointer Authentication works by adding a signature to the top bits of an instruction or data pointer (only instruction pointers on the stack are currently signed in Chromium). This can confuse range checks, because they need to strip the top bits. Masking these bits during sanitization range checks prevents confusion. Test: Testing was done manually on a device with pointer authentication enabled. Bug: crashpad:364 Bug: 919548 Change-Id: I2e739cadb2844cfaf73a75596d664135aeb5faac Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4387271 Commit-Queue: Adam Walls <[email protected]> Reviewed-by: Joshua Peraza <[email protected]> Reviewed-by: Ben Hamilton <[email protected]>
Always reset the file descriptor to -1, even if FlushWriteBuffer or RawLoggingCloseFile fails. Bug: 1431760 Change-Id: I193f526d65f477bba002dd9faf68996020e48a3b Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4406657 Reviewed-by: Ben Hamilton <[email protected]> Commit-Queue: Justin Cohen <[email protected]> Reviewed-by: Robert Sesek <[email protected]>
__has_feature is a clang extension. GCC errors out on the test. Define a helper macro to make the code working with other compilers. Bug: chromium:819294 Change-Id: I359150acd4700e65b4faf5f297b29664c18000d3 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4418706 Reviewed-by: Joshua Peraza <[email protected]> Commit-Queue: Joshua Peraza <[email protected]> Reviewed-by: Ben Hamilton <[email protected]>
In the recent llvm upstream change, https://reviews.llvm.org/D148269, clang becomes smarter and will remove the infinite recursion function. Use the clang attribute __attribute__((optnone)) to disable optimization for it. Bug: chromium:1435016 Change-Id: I74e823bf64d0b03d81c0bda7a8338e2fa67033aa Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4456156 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Zequan Wu <[email protected]>
Remove the reference to `base/cxx17_backports.h` from the code. Bug: chromium:1373621 Change-Id: I84dd5fc1b069b168e4558316344c1f1c5377a68b Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4471860 Commit-Queue: Mark Mentovai <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
Newer versions of LSS include support for RISC-V. Fixed: fuchsia:125946 Change-Id: Iab65174e9a5f2a7075faadd34dc54b0c23ce3da4 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4510030 Reviewed-by: Joshua Peraza <[email protected]>
Fuchsia AddressSanitizer tests were failing because of unaligned memory access in several unit tests. Fixed: fuchsia:125877 Change-Id: If577ea9b7be24ef40865a637d8f6b6d94daaeb67 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4510016 Reviewed-by: Joshua Peraza <[email protected]>
Links to/from run_with_crashpad.md were broken due to a location change. Change-Id: I5bb6d1f945bd22d9e55affa60909aa3b58e532bc Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4544457 Reviewed-by: Mark Mentovai <[email protected]>
…en allocators. This test only change should improve flake on iOS XCUITests. try_free_default can receive a pointer which doesn't belong to the allocator and claimed_address may not be implemented in specified zone. Add fallbacks for both. This logic is identical to the Chromium equivalent shim in base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_mac_zoned_malloc.cc Bug:b/270620301 Change-Id: I4a788d4fbc7b324caff18e41618a5f999b4b8d4e Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4549684 Reviewed-by: Mark Mentovai <[email protected]>
Update to a version of mini_chromium that supports RISCV64. Bug: fuchsia:127655 Tested: `python build/run_tests.py` for Linux target Change-Id: I872e5e79933eb8f9b9fe7f4ae243ee9bb04c14b0 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4563254 Reviewed-by: Mark Mentovai <[email protected]>
- Stop overloading introspect (or implement this in the future) - Store each overridden allocation zone and correctly direct calls to the requested zone. Change-Id: I7294e476bb683149acc61419b095ec0e1098781b Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4574037 Reviewed-by: Joshua Peraza <[email protected]>
Mac OS X Server has been discontinued as a separate operating system flavor since 10.6. Current minimal requirements for both Crashpad and Chromium are above that. Change-Id: Ia9063be2e55a48e45d9f9974ac2e51bac004f37d Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4584570 Reviewed-by: Mark Mentovai <[email protected]>
This lays groundwork for floating point registers to also be included in RISC-V CPU context. Bug: fuchsia:5496 Tested: `fx test crashpad` Change-Id: I6230f146f955ac27f053f670f7f45dfff3560d02 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4594586 Reviewed-by: Mark Mentovai <[email protected]>
UBSan is detecting a function type mismatch in this test. This is because TestModule_GetCrashpadInfo returns a TestCrashpadInfo* but the function expectes to return a CrashpadInfo*. Structurally, the TestCrashpadInfo struct is meant to replicate a CrashpadInfo byte-for-byte, but there's no relationship between the types. Bug: fxbug.dev/128274 Change-Id: I7b02ca802e55274116d46513b3aa6dc998f6d292 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4599482 Reviewed-by: Mark Mentovai <[email protected]>
Only RV64GC is supported. Bug: fuchsia:127655 Tested: `python build/run_tests.py` on RISC-V emulator Tested: Created minidump via self-induced crash on RISC-V emulator, ran through Breakpad stackwalker Change-Id: I713797cd623b0a758269048e01696cbce502ca6c Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4581050 Reviewed-by: Joshua Peraza <[email protected]>
Only RV64GC is supported. RISC-V Fuchsia is not able to serve packages yet so unit testing is not possible. Bug: fuchsia:127655 Tested: `crasher` with crashpad added to crashsvc, ran minidump through Breakpad stackwalker Change-Id: I1b6d79128759281aee348e333ea15434ab397001 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4602412 Reviewed-by: Mark Mentovai <[email protected]> Reviewed-by: Joshua Peraza <[email protected]>
Fuchsia does its own storage and upload now, so crashpad_database_util is no longer relevant to Fuchsia. Tested: Compiled for and in Fuchsia. Verified crashpad_database_util artifacts no longer produced. Change-Id: Ie20bb9b308b77bdd39924f5fe70f182c5c2a0782 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4610969 Reviewed-by: Joshua Peraza <[email protected]>
Fuchsia migrated issue tracking to fxbug.dev. It appears that DX-1193 did not get migrated. Fixed: 121707 Change-Id: I4a7fdf00aed223fedd8b66df87647a29139782a1 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4616910 Reviewed-by: Joshua Peraza <[email protected]>
Fuchsia devices are failing to read floating point context for ARM because floating point registers are in the vector context for ARM. This CL prevents warning logs from being emitted in this situation. Fixed: fuchsia:129171 Tested: `fx shell crasher` @ 659207de7293cb30 Change-Id: I1d8d928da122aeb1bc4ac66b789cb638969d0fdf Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4617960 Reviewed-by: Joshua Peraza <[email protected]>
Something in how python is launching these tests changed and means that although fastfails in fastfail_test_program launch WerFault it is not looking for or finding the registered module, so crashpad_wer.dll isn't being loaded, so no crashes are there to be analyzed. Run individually the test programs do produce a crash, and Chrome continues to catch fast fails. Bug: crashpad:458 Change-Id: I52a6aa7aefb02d393c93c2c43ec67fc92b2bd0b0 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4637536 Commit-Queue: Alex Gough <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
Some versions of python call SetErrorMode which disables WerFault handling for the fastfail test programs. We can set this to a useful value, allowing these tests to run again locally. This does not enable the tests on the bots as they continue to fail. Bug: crashpad:458 Change-Id: Ibdd2f92ed872bd76490db32dccb2257dd91f8280 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4641231 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Alex Gough <[email protected]>
Windows claims that heap corruption crashes are passed to Windows Error Reporting but they are not, they are swallowed and the process is simply terminated. WerFault.exe does not run. We can however intercept these crashes using a vectored exception handler which forwards STATUS_HEAP_CORRUPTION to the normal crash handler. Adds an end-to-end test. Bug: 2515 Change-Id: I2e1361dacef6fd03ea0f00327fee0b05a0c4899e Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4637533 Commit-Queue: Alex Gough <[email protected]> Reviewed-by: Joshua Peraza <[email protected]>
The gen_build_defs.py file is lightly modified from the original one in https://source.chromium.org/chromium/chromium/src/+/main:build/fuchsia/gen_build_defs.py to accommodate for the fact that the SDK gets downloaded into a different folder in crashpad Bug: chromium:1432399 Change-Id: I2c5a5337220b6aca138ca6eb1c37895ca32e72cd Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4600615 Commit-Queue: Chong Gu <[email protected]> Reviewed-by: Joshua Peraza <[email protected]>
See https://chromium.googlesource.com/chromium/src/+/main/docs/mac/arc.md for information about this conversion. Bug: chromium:1280726 Change-Id: I9ed10e9a255eb6b13035b05bcc587c4b6cb7b78e Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4651106 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Mark Mentovai <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
Bug: chromium:1459865 Change-Id: I28d5caa739c5b59f4af1f062616443aa16fadfa1 Fixed: chromium:1459862 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4663174 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Mark Mentovai <[email protected]>
Bug: 93344 Change-Id: Id794e3c79983b4c2352842edfe73a81ad3958b6e Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4676565 Commit-Queue: Clayton McCray <[email protected]> Commit-Queue: Francois Rousseau <[email protected]> Reviewed-by: Francois Rousseau <[email protected]>
ARC is now enabled by default in Chromium, so enabling it explicitly in Crashpad is redundant. Bug: chromium:733237 Change-Id: I59dd863c0f8e7e16e88b6daccc5f900829c0cec5 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4721646 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Mark Mentovai <[email protected]> Commit-Queue: Avi Drissman <[email protected]>
CaptureContext isn't actually used on Fuchsia and there is a desire to remove `ucontext_t` from Fuchsia as it isn't a real concept on Fuchsia and was only added as a placeholder. Moreover, `ucontext_t` won't ever be added to Fuchsia for RISC-V. Bug: fuchsia:123052 Fixed: fuchsia:131112 Fixed: fuchsia:127655 Tested: `fx test crashpad` on core.x64 emulator Tested: `fx test crashpad` on ARM64 device Tested: `fx shell crasher` @ 16b19a9891978487 on ARM64 device, ran through Breakpad stackwalker locally as well Tested: `fx build crashpad_tests` for minimal.riscv64 Change-Id: I4695054426df78a9deff8c9ea9c478b5bf9701b1 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4717085 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Thomas Gales <[email protected]>
A recent CL [1] broke Fuchsia's Crashpad roller due to duplicate build argument declarations. This CL ensures that sysroot.gni is only imported once. [1] https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/4651973 Fixed: fuchsia:131454 Change-Id: Idcf6ac65cdffee2c9a9551559a8aab0063044428 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4743381 Reviewed-by: Joshua Peraza <[email protected]> Commit-Queue: Thomas Gales <[email protected]>
SetLastChanceExceptionHandler sets a callback to be called after a crash has been reported. Returning true from this callback will not reraise the signal so the execution can continue. This will be used to implement permissive MTE mode, which will continue execution after a MTE crash. Bug: chromium:1467915 Change-Id: I93a28ceea921fe977805482cf47c07643ca6133c Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4707688 Reviewed-by: Robert Sesek <[email protected]> Commit-Queue: Keishi Hattori <[email protected]>
…ae8eb0 (1 commit) https://chromium.googlesource.com/chromium/mini_chromium/+log/ac3e73239534..cc2ae8eb01d0 $ git log ac3e73239..cc2ae8eb0 --date=short --no-merges --format='%ad %ae %s' 2024-01-10 pbos Add Flush() method to LogMessage Created with: roll-dep crashpad/third_party/mini_chromium/mini_chromium Bug: chromium:1409729 Change-Id: I59b4c9fc9701f3a504b89f396de9da49b333712f Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5185844 Commit-Queue: Peter Boström <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
…4ecb51 (1 commit) https://chromium.googlesource.com/chromium/mini_chromium/+log/cc2ae8eb01d0..1e64ecb51edf $ git log cc2ae8eb0..1e64ecb51 --date=short --no-merges --format='%ad %ae %s' 2024-01-10 pbos Make ~LogMessage virtual Created with: roll-dep crashpad/third_party/mini_chromium/mini_chromium Bug: chromium:1409729 Change-Id: Ib0011b85c35c781ea35e0d399cccb81b54916ca4 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5186000 Commit-Queue: Peter Boström <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
…ccaa8e (1 commit) https://chromium.googlesource.com/chromium/mini_chromium/+log/1e64ecb51edf..c7fccaa8ec14 $ git log 1e64ecb51..c7fccaa8e --date=short --no-merges --format='%ad %ae %s' 2024-01-10 pbos Implement base::ImmediateCrash() Created with: roll-dep crashpad/third_party/mini_chromium/mini_chromium Bug: chromium:1409729 Change-Id: Iaa4f4d81027cb0ddafe85bab8d186949eb7f852e Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5186004 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Peter Boström <[email protected]>
…a01130 (1 commit) https://chromium.googlesource.com/chromium/mini_chromium/+log/c7fccaa8ec14..203a01130fac $ git log c7fccaa8e..203a01130 --date=short --no-merges --format='%ad %ae %s' 2024-01-10 pbos Fix base::ImmediateCrash() IWYU Created with: roll-dep crashpad/third_party/mini_chromium/mini_chromium Bug: chromium:1409729 Change-Id: Ic9fee112a48b66c92b8446270280d5f2a3d0ef59 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5187485 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Peter Boström <[email protected]>
This will be used by base/logging.h in chromium to make sure that LOG(FATAL) variants never return and are properly understood as [[noreturn]] by the compiler. Once that's landed in chromium it'll be up/downstreamed into mini_chromium as well. Bug: chromium:1409729 Change-Id: I75340643fe075475f997bbc45250fa10df63c9fa Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5185996 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Peter Boström <[email protected]>
This CL introduces a new crash key 'crashpad_uptime_ns' that records the number of nanoseconds between when Crashpad was initialized and when a snapshot is generated. Crashpad minidumps record the MDRawMiscInfo process_create_time using a sysctl(KERN_PROC).kp_proc.p_starttime. This time is used to display the 'uptime' of a process. However, iOS 15 and later has a feature that 'prewarms' the app to reduce the amount of time the user waits before the app is usable. This mean crashes that may happen immediately on startup would appear to happen minutes or hours after process creation time. While initial implementations of prewarming would include some parts of main, since iOS16 prewarming is complete before main, and therefore before Crashpad is typically initialized. Bug: crashpad:472 Change-Id: Iff960e37ae40121bd5927d319a2767d1cafce846 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5171091 Reviewed-by: Ben Hamilton <[email protected]> Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Justin Cohen <[email protected]>
This will trigger dead-code warnings in chromium once LOG(FATAL) is understood as [[noreturn]], which needs to be fixed in crashpad first. Bug: 1409729 Change-Id: I75cb4d93e648ca9804f1299345e52bb3e2834cd9 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5193351 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Peter Boström <[email protected]>
Change-Id: I0a30b816e2550e7df6d7777c6d27e6104fc2f9fa Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5206711 Reviewed-by: Robert Sesek <[email protected]> Commit-Queue: Mark Mentovai <[email protected]>
It's expected that iOS intermediate dumps can be written with missing information, but it's better to try and report as much as possible rather than drop the incomplete minidump. Bug: b/284959148 Change-Id: I04110b576a4ee552814234d559c9ba85db0382f0 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4582167 Commit-Queue: Justin Cohen <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
This assumption is non-portable and prevents Chromium from using bounded iterators in libc++. Bug: chromium: 1519908 Change-Id: Iafe6639ef3bc896d6fa4fb3ceb7ac0b546363017 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5237292 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: danakj <[email protected]>
This changes fxbug.dev/ URLs from Monorail bug numbers to the new Fuchsia Issue Tracker numbers. The migration to the new issue tracker was announced here: https://groups.google.com/a/fuchsia.dev/g/announce/c/GOYfJozEqmk/m/qsGsaJ7UAAAJ Bug: 298074672 Change-Id: I5f4b7a26a3f41bf539fa79d15e1a108ea35a5b29 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5246697 Commit-Queue: Mark Mentovai <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
The change in macOS 14's dyld to insert new modules in the front of `dyld_all_image_infos` means that if the any images are loaded during an exception while iterating the modules list, the primary executable will be missed. Instead, read the modules in reverse order. Change-Id: I49f6468173f18ef4bd0f326c84e4b48cfc696cd3 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5249275 Commit-Queue: Justin Cohen <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
This change adds a method to update a CrashpadInfo stream. As part of this change, AddUserDataMinidumpStream() now returns a handle to the added stream. This handle can be passed to UpdateUserDataMinidumpStream() if a new version of the stream needs to be attached to the crash report. This method is needed for e.g., allowing Chrome's System Profile to update, as it contains some data that takes a while to collect. Bug: crashpad:474 Change-Id: I19e935a6904d8843215582e5606b189479ee338b Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5260024 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Jesse McKenna <[email protected]>
If building for chromium, honor the ios_is_app_extension gn variable that is set per toolchain. When it is defined, the code is built for an application extension (i.e. -fapplication-extension is passed to the compiler). Use CRASHPAD_IS_IOS_APP_EXTENSION build guard to not compile code that use unavailable extension when ios_is_app_extension is set. If the variable is not set, then check at runtime whether the API can be used or not (if the crashpad client uses the same toolchain for the main application and its application extensions). This is required to pass -fapplication-extension to the compiler when building application extensions (which allow catching API that is not available to application extensions). Bug: 40120082 Change-Id: I28d545fcfd0f8662430c40ff202b79b0c2b2ff8b Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5286216 Reviewed-by: Justin Cohen <[email protected]> Commit-Queue: Sylvain Defresne <[email protected]>
CrashpadInfo::AddUserDataMinidumpStream() and UpdateUserDataMinidumpStream() allocate memory for the newly added streams. This change makes the CrashpadInfo test free that allocated memory to prevent memory leaks from these tests. This is intended to fix the ASAN failures seen on crrev.com/c/5285881: https://ci.chromium.org/ui/p/chromium/builders/try/linux_chromium_asan_rel_ng/1839072/overview Bug: crashpad:474 Change-Id: I6e030291594d22e316942a58805a177ce448053b Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5292137 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Jesse McKenna <[email protected]>
Bug: b/325495632 Change-Id: I19df5b44b76efcdb050344e79bcc2dfd18d8e289 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5299466 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Mark Mentovai <[email protected]>
Bug: 325296797 Change-Id: I39f76519c46804ad663172abf91ef582bde135e7 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5310754 Commit-Queue: Joshua Peraza <[email protected]> Reviewed-by: Justin Cohen <[email protected]>
This adds argv[0] for PLOG(FATAL) calls following a failed posix_spawn or execve call to make logs more useful. Bug: chromium:324982367 Change-Id: I179928ec9f791ce5b365b3444aa3bb667f4ec4b3 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5315332 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Peter Boström <[email protected]>
Chrome on ChromeOS is starting to run into problems where there are more than 200 annotations, primarily because we use a lot of command-line switches (40 or more) and commandline-enabled-features as well, each of which takes up an annotation. It's still rare (100s a day) but will probably become worse over time as more CrashKey uses are added. Increase kMaxNumberOfAnnotations to 400. BUG=296821415 Change-Id: Iba7049014ee3c5ae9c45c4022600eaba50acd403 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5354336 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Ian Barkley-Yeung <[email protected]> Reviewed-by: Joshua Peraza <[email protected]>
There appears to be a change in dyld in macOS 14.3 that iOS 17 accounts for, but older simulators do not. This causes the main binary to be listed twice when iterating modules, breaking some tests. Bug: crbug.com/328282286 Change-Id: I71909fbc13bee6de23b10ffd92a791067f8ea909 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5353754 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Justin Cohen <[email protected]>
This CL make the iterators implemented by AnnotationList compliant to the requirements imposed by the C++ standard on input iterators. Change-Id: I263c94a97f5bcd7edd5ef4d8b65fa28b11876974 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5093147 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Mark Mentovai <[email protected]>
Arm's Pointer Authentication uses two keys for signing pointers, A-key and B-key. Although by default Clang uses the A-key if PAC support is enabled at compile time, this behaviour might be overridden via compiler command line. This CL fixes the check for the B-key being enabled. The key that shall be used for Pointer Authentication is denoted by bits 0 (A-key) or 1 (B-key) of __ARM_FEATURE_PAC_DEFAULT. Hence, the previous way of checking by using bits 0 and 2 does not correctly identify the B-key. Bug: 40608466 Change-Id: Ib2f226baa12a7145fa0b6e486e49d36e6b0a3cd7 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5341090 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Mark Mentovai <[email protected]>
After https://crrev.com/c/5375084, Chromium __libcpp_verbose_abort is handled differently for official non-dcheck builds. This change fixes the test expectation for release non-official builds. Bug: 330168249 Change-Id: Iceb6d327f9e93fd366cc07abe27eefd1adf06472 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5378380 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Justin Cohen <[email protected]>
Previously, Crashpad would only capture iOS thread context memory regions by iterating the task_threads->thread_get_state's. For Mach exception this worked as intended. However, for signal exceptions this missed the registers from the actual signal context. This change correctly captures these regions and stores them in the exception snapshot. Change-Id: I494e753a25c2687e61b5183ed0135f520ca8bf52 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5380505 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Justin Cohen <[email protected]>
This should give crashpad a newer xcode and msvc that support C++20. These changes need to land separately from the C++20 usage, as they do not get applied until after landing, so can't affect the CQ from inside the CQ. Bug: 40284755 Change-Id: I3ae72befa008bfb37bac882de0986c5bcf9de079 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5425460 Commit-Queue: danakj <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
Also enables C++20 as span now depends on it. Roll buildtools to grab a newer libc++ that supports C++20. Explicitly capture `this` in lambdas in cpp-httplib as the implicit capture through `=` is deprecated and causes an error in C++20. Update the MacOS version to "Mac-13|Mac-14" which is the current value of `os.MAC_DEFAULT` in Chromium infra in order to have C++20 support in the std library on iOS. Moves iOS tests to run on iPhone 13 and includes a mini_chromium roll to fix Xcode 14.3 egtests. Bug: 40284755 Change-Id: Ic078f07d12473f2aaed5e84df0f0a7fb7b8c35c3 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5443384 Commit-Queue: Justin Cohen <[email protected]> Reviewed-by: danakj <[email protected]>
There were two issues with the iOS implementation of CrashpadClient which I reported in https://crbug.com/crashpad/481: 1) TSAN found a data race in ResetForTesting() when it modified the ScopedMachReceiveRight while the Mach exception port thread was reading it 2) The Mach port connected to the exception server was never deallocated This CL fixes both issues. Change-Id: I5bd4f79ae6d0eccca954d663be7a36f8ceb0a0e8 Bug: https://crbug.com/crashpad/481 Bug: b:332305593 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5410301 Reviewed-by: Mark Mentovai <[email protected]> Commit-Queue: Justin Cohen <[email protected]>
base/sys_byteorder.h is going away. Instead, use the byte conversions in base::numerics to convert from a byte array in big endian to an integer. This avoids putting big endian data into integer types at all. mini_chromium was rolled and crashpad updated to work with newer mac/windows toolchains in order to support C++20 in f9cee5c. Bug: 40284755 Change-Id: If690847b7aa54b0216e73ec297eae3d0bca2fa57 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5402184 Commit-Queue: danakj <[email protected]> Reviewed-by: Mark Mentovai <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Updates Crashpad to 7e0af1d
Checklist