Skip to content

Conversation

@jan-auer
Copy link
Member

This PR contains patches for Sentry. Do not merge.

Swatinem pushed a commit that referenced this pull request Sep 10, 2020
__builtin_trap uses ud2 on x86_64, producing a SIGILL. On arm64, it uses
brk #1, producing a SIGTRAP. Test expectations must be adjusted
accordingly.

Bug: crashpad:345
Test: crashpad_snapshot_test MachOImageAnnotationsReader.CrashModuleInitialization, crashpad_util_test ExcServerVariants.*,ExceptionPorts.*
Change-Id: I22e75b7b48b8887031b1d95f1cea8a09733daf49
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2386464
Commit-Queue: Mark Mentovai <[email protected]>
Reviewed-by: Robert Sesek <[email protected]>
supervacuus pushed a commit to supervacuus/crashpad that referenced this pull request Dec 12, 2022
…Body

This bug was found when trying to upgrading the MSAN bots from Ubuntu
18.04 (where this codepath was not hit) to 20.04.  The following MSAN
error is produced when running HTTPTransport/HTTPTransport.*

==3496553==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x5616c540ad7d in __is_long buildtools/third_party/libc++/trunk/include/string:1674:33
    getsentry#1 0x5616c540ad7d in size buildtools/third_party/libc++/trunk/include/string:1069:17
    getsentry#2 0x5616c540ad7d in crashpad::(anonymous namespace)::HTTPTransportLibcurl::WriteResponseBody(char*, unsigned long, unsigned long, void*) third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc:528:50
    ...
    SUMMARY: MemorySanitizer: use-of-uninitialized-value buildtools/third_party/libc++/trunk/include/string:1674:33 in __is_long
  ORIGIN: invalid (0). Might be a bug in MemorySanitizer origin tracking.

The memory is initialized in http_transport_test.cc:293, but MSAN gets
confused.  Given the message output by MSAN (ORIGIN: invalid (0).
Might be a bug in MemorySanitizer origin tracking), this appears
to be a bug in MSAN, not crashpad, so this CL suppresses the error.

Bug: chromium: 1260217
Change-Id: I2d6a46e3489816270cc1fee776793ffafe0147e4
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4015160
Reviewed-by: Joshua Peraza <[email protected]>
Commit-Queue: Thomas Anderson <[email protected]>
davidben and others added 28 commits October 30, 2023 19:31
These are slightly frustrating. First, when a struct is packed, some of
its fields may be underaligned. This is fine for direct access
(foo.bar), but if one takes the address if the field, this creates an
unaligned pointer. Dereferencing that pointer is then UB. (I'm not sure
if creating that pointer is UB.)

Crashpad seemingly doesn't do this, but it uses EXPECT_EQ from GTest.
EXPECT_EQ seems to internally take pointers to its arguments. I'm
guessing it binds them by const reference. This then trips UBSan. To
avoid this, we can copy the value into a temporary before passing to
EXPECT_EQ.

Second, the test to divide by 0 to trigger SIGFPE is undefined behavior.
The compiler is not actually obligated to trip SIGFPE. UBSan prints one
of its errors instead. Instead, since this file is only built on POSIX
anyway, use GCC inline assembly to do the division. That one is
well-defined.

Finally, casting a string to uint32_t* is undefined both by alignment
and by strict aliasing (although Chromium doesn't enable the latter).
Instead, type-punning should be done with memcpy.

Bug: chromium:1394755
Change-Id: I79108773a04ac26f5189e7b88a0acbf62eb4401d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4985905
Reviewed-by: Robert Sesek <[email protected]>
Commit-Queue: David Benjamin <[email protected]>
memcpy and memchr on NULL, 0 is UB due to a C language bug. Instead, use
the C++ functions, which do not have this bug.

Bug: chromium:1394755
Change-Id: I82023aa038c53905f9867c635b26f3b26d9994f5
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4987148
Commit-Queue: David Benjamin <[email protected]>
Reviewed-by: Robert Sesek <[email protected]>
This CL implements a const iterator to allow for iteration over a const
AnnotationList. This way, the annotation list can passed as a const
reference in search only situations.

Change-Id: I53bd7871f3d914e7e7e627b6b464aa7fa79597f4
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4984053
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Andre Kempe <[email protected]>
Call __cxa_free_exception after __cxa_allocate_exception usage.

Change-Id: I0cd5043b945652e6ac28c3bf79486c071d3aa09e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4990028
Commit-Queue: Justin Cohen <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
Do not rely on base/logging.h to provide it.

Change-Id: I8b7d733bcf66abe9b46eabd3703b7ed549d02db7
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5007844
Commit-Queue: Lei Zhang <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
…b10118 (1 commit)

https://chromium.googlesource.com/chromium/mini_chromium/+log/e508a6010e25..450b101187b5

$ git log e508a6010..450b10118 --date=short --no-merges --format='%ad %ae %s'
2023-11-06 pkasting Rename WCHAR_T_IS_UTF* to WCHAR_T_IS_*BIT

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

Change-Id: Id39911a5dbd1275199400848428ab024bb62cf2a
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5008818
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Peter Kasting <[email protected]>
Bug: chromium:691162
Change-Id: I2d34bcfd3b97d59d1811183d62b893b875b08bb4
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5010942
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Lei Zhang <[email protected]>
Windows ARM64 uses a different ASM variant.  The assembly is already correct but the CMake setup for the variant was not.  This corrects that to enable building crashpad for Windows ARM64.  Beyond this change, an update to zlib is required.
build: adjust for Windows ARM64
`simd_stub.c` was removed from the repository upstream. This updates the CMakeLists.txt so that it is possible to build for Windows ARM64.
The ARM64 build should use the ARM64 branch.  The normal spelling for the CMAKE_SYSTEM_PROCESSOR is ARM64 when building with MSVC toolsets.  This allows building for Windows ARM64 with MSBuild + CMake.
build: remove obsolete source file
build: adjust process name matching
The implementation details of flags can change; fixing this proactively
makes it easier to roll googletest in chromium.

Bug: chromium:1409870
Change-Id: Ib27a922a5b3147386a36f98b42e60950e2215190
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5081703
Commit-Queue: Daniel Cheng <[email protected]>
Reviewed-by: Robert Sesek <[email protected]>
bit_cast should never be used on pointers, as it doesn't avoid UB and
can lose qualifiers.

Fortunately, the only use of bit_cast on a pointer was to cast
nullptr into a function pointer, and because nullptr will implicitly
behave as any kind of pointer, that cast isn't needed.

Bug: none
Change-Id: I3ad79b36b7fb5ab53d4b4b6dfc82dea883ec8b53
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5106728
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Avi Drissman <[email protected]>
https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time

> Prefer to use the equivalent clock_gettime_nsec_np(CLOCK_UPTIME_RAW) in nanoseconds.

The two are equivalent:

https://github.com/apple-oss-distributions/Libc/blob/c5a3293354e22262702a3add5b2dfc9bb0b93b85/gen/clock_gettime.c#L118

Change-Id: I1c7a08d821d1840b74fc5eaa0e9ceca2ade5bbfc
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5085307
Commit-Queue: Ben Hamilton <[email protected]>
Reviewed-by: Justin Cohen <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
The real Chromium base/bit_cast.h is in the base namespace.
mini_chromium's version was just changed to be in the base namespace
as well. Roll to the latest mini_chromium and scope all calls to
bit_cast.

Bug: chromium:1506769
Change-Id: I7b25ee512f67694ef6ed3d0250e4f6a6db151eb3
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5116880
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Avi Drissman <[email protected]>
Change-Id: Ifc373d313db71872cc0fd7706da2bdc07cf4ba1b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5126940
Reviewed-by: Justin Cohen <[email protected]>
Commit-Queue: Ben Hamilton <[email protected]>
Avoid unconditionally running mig in incremental builds,
and causing un-necessary re-build of downstream targets.

Bug: b/42147841
Bug: b/42084680
Change-Id: I961189870aec8f0b1a1ced22105730218664e109
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/5171755
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: David Fang <[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]>
solomonkinardchromium and others added 30 commits July 11, 2025 20:47
Bug: 415304336
Change-Id: Ib7997b7753bba0e4e9a03daad08752e4a3e86b3e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6725278
Commit-Queue: Solomon Kinard <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
__android_log_buf_write() has been updated to no longer return
-EAGAIN. It now returns 1 on success, otherwise -EPERM.

Change-Id: I3f78d25ca773bb3d580612454dded002084095db
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6786151
Commit-Queue: Joshua Peraza <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
Running macOS 15.5 24F74 on a MacBookPro18,2, this test was flaky with
an inner sleep of 1ms, but passes reliably at 10ms.

Change-Id: I697ef96e0b382ccea24d7983fcc53a1c21858f80
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6794724
Reviewed-by: Joshua Peraza <[email protected]>
Commit-Queue: Mark Mentovai <[email protected]>
Starting in dyld-1284.13 (macOS 15.4), _dyld_get_image_name (in
dyld4::PrebuiltLoader::path) returns an absolute path for a main
executable, even when the image was not loaded from an absolute path.
This can break test expectations when the test executable is not invoked
from an absolute path. As a workaround, just use the main executable’s
basename for comparison purposes.

Change-Id: I3846d237a7a15e886cf15cd27146556103c22c2e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6794725
Reviewed-by: Joshua Peraza <[email protected]>
Commit-Queue: Mark Mentovai <[email protected]>
Upstreams https://chromium-review.googlesource.com/c/chromium/src/+/6785872

Change-Id: I268b7c6ddd160cb759fae6ddd67b63dcfd3ad6c1
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6788464
Reviewed-by: Lei Zhang <[email protected]>
Commit-Queue: Joshua Peraza <[email protected]>
sysctlbyname("kern.osproductversion", …) is available since macOS
10.13.4, which is now well below this code’s minimum runtime OS version.
The old implementation that fell back to calling uname and inferring the
macOS version from utsname::release is no longer necessary.

Tests and documentation are also slightly updated and improved.

Test: crashpad_util_test MacUtil.MacOSVersion*
Change-Id: Idb26bb59c124ab2191ef961f01e9691856f2c812
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6798736
Reviewed-by: Justin Cohen <[email protected]>
Commit-Queue: Mark Mentovai <[email protected]>
The board_id returned on mac-arm64 was taken from the target-type
property of the IOPlatformExpertDevice obtained through IOKit when this
code was written on a mac-arm64 Developer Transition Kit, with a TODO to
verify with production hardware. Several generations of production
hardware have shown that this is a viable strategy. In fact, a slightly
more detailed ID can be obtained from the target-sub-type property.

mac-x86_64 continues to use the board-id property for this purpose.

Test: crashpad_util_test MacUtil.MacModelAndBoard
Change-Id: I81d5052d1a9cd7a76b6b4593fb4115a251409de7
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6798247
Commit-Queue: Mark Mentovai <[email protected]>
Reviewed-by: Justin Cohen <[email protected]>
The files in infra/config/generated were generated by running `lucicfg
generate main.star`.

Bug: 434907998
Change-Id: I110f147a58d53f7b858829f9a09b959d97d48112
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6803620
Reviewed-by: Ben Pastene <[email protected]>
Commit-Queue: Mark Mentovai <[email protected]>
macOS/iOS 26 introduce a new version of the crashreporter_annotations_t
structure used in __DATA,__crash_info or __DATA_DIRTY,__crash_info:
version 7. This is expected to be the value of
CRASHREPORTER_ANNOTATIONS_VERSION in the private
<CrashReporterClient.h>. Version 7 crashreporter_annotations_t
structures are empirically observed to be 328 bytes long, which is 264
bytes (or 33 uint64_ts) longer than the previously known version 5
structure. Version 5 was used from OS X 10.11 through macOS 15, and
there does not appear to be a version 6. The precise layout and meaning
of the new fields in the version 7 extension is not yet known.

Test: crashpad_snapshot_test MachOImageAnnotations.Crash*
Bug: 425331081
Change-Id: I1bc06a4a0f07c43830701e335da479f6fb5b5846
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6796433
Reviewed-by: Justin Cohen <[email protected]>
Commit-Queue: Mark Mentovai <[email protected]>
This upstreams https://chromium-review.googlesource.com/c/chromium/src/+/6803484

No behavior change.

Bug: none
Change-Id: I5b9d304f693958236f839814ec427d8171c13578
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6812474
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Nico Weber <[email protected]>
On newer dyld versions, the `__crash_info` section is placed in the
`__DATA_DIRTY` segment. This change updates the crash handler to check
for this segment in addition to `SEG_DATA`.

Change-Id: Ie0eebf36c57db3e5267c4e3dcfae6eef488d52f3
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6806281
Commit-Queue: Justin Cohen <[email protected]>
Reviewed-by: Mark Cogan <[email protected]>
Upstreams https://chromium-review.googlesource.com/c/chromium/src/+/5698665

Bug: 40506050
Change-Id: Idde07d7a8c8bb7209b38543b44fd13be72c9ce12
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6854282
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Joshua Peraza <[email protected]>
__system_property_get() is deprecated. __system_property_read_callback()
replaces it as of Android API level 26.

This change was generated using gemini-cli.

Bug: 413072681
Change-Id: Ifc532d1caa4692b496e57af4a0455ae95604e146
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6854281
Commit-Queue: Joshua Peraza <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
Bug: 40506050
Fixed: 439063162
Change-Id: Ia54a4391d705e9360ccdfee42dbed76c12260b77
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6854524
Reviewed-by: Mark Mentovai <[email protected]>
Reviewed-by: Joshua Peraza <[email protected]>
Commit-Queue: Thomas Gales <[email protected]>
ee0bee390725 Fix HttpWatch tests (#2089)
f2928d71525d Switch redirect tests to httpbingo.org (#2090)
85b5cdd78d9b Move detail::read_file() to test/test.cc (#2092)
5a1ecc3958f4 Run 32-bit compiled unit tests on Ubuntu (#2095)
48084d55f229 Fix #2096
37399af9960e build(meson): copy MountTest.MultibytesPathName files
             (#2098)
a9ba0a4dff62 Remove SSLInit (#2102)
2f39723d08ea Wrap poll()/WSAPoll() in a function and build compiled
             library on Windows (#2107)
a8d6172250ef Avoid static std::string (#2103)
94a402882189 Update vendored gtest to 1.12.1 (#2100)
2eaa2ea64f9f Make random_string() thread-safe (#2110)
0bda3a7d1a79 Update benchmark
c765584e6b10 Add zstd support (#2088)
33acccb346ec Fix #2109
87a5ae64a416 Fix #2097
0be052608541 cmake: only validate component when the required library is
             found (#2112)
7a212cfe40cc clang-format
787a34ad7f01 Release v0.20.0
65ce51aed7f1 Fix start_time shadow variable (#2114)
72b35befb242 Add AF_UNIX support on windows (#2115)
7dbf5471ce45 Fix the style error and comment
dbc4af819a2c Fix compilation error on windows (#2118)
0dbe8ba1446d Support zstd also via pkg-config (#2121)
b7e33b08f17a Add missing component comment (#2124)
3e3a8cc02f2b Made the max timeout threshold for SSL longer
65d6316d65ae Fix #2113
9e4aed482e70 Fix style error
caf7c55785ed Fix regression of #2121 (#2126)
9589519d5823 Fix #2130
7b752106ac42 Merge commit from fork
a0de42ebc41d clang-format
3af7f2c16147 Release v0.20.1
61893a00a42d Fix #2135
c216dc94d20e Code cleanup
366eda72dce5 Specify version in meson.build (#2139)
fd324e141289 Add KeepAliveTest.MaxCount
4a7aae54690c Detect if afunix.h exists (#2145)
365cbe37fac4 Fix #2101
fd8da4d8e4ec Feature/multipart headers (#2152)
3a1f379e751e Release v0.21.0
08a0452fb2fe Update README.md (#2156)
27879c4874aa Fix #2157 (#2158)
91e79e9a6345 Fix #1777 (#2160)
28dcf379e82a Merge commit from fork
b6c55c6030f5 Release v0.22.0
de5a255ac650 Fix bad request for multipart form data with boundary split
             (#2159)
aabd0634aeac Fix warnings created by #2152
1729aa8c1f45 Issue 2162 (#2163)
b2bf17239363 Fix #1551
d37373a983f9 Performance investigation
a183dba9fc93 clang-format
696c02f2bcc4 Update README
e1ab5a604bef Proxy problems (#2165)
e6ff3d7ac28c Cleaner API (#2166)
ea850cbfa74e Fix #1601 (#2167)
7c303bb87128 Launch proxy server before proxy test
292f9a6c5563 Add CPPHTTPLIB_USE_NON_BLOCKING_GETADDRINFO
0b875e07471f Remove unnecessary parameters
d5409ab541ec Fix warnings
fd034832379e Fix warnings
9e36247665df clang-format
083fe43ad34d Remove httpwatch.com dependency
cfb56c0b787b Fix #1818
9a0571513e0f Fix Makefile
0c08c378d7d9 Simplify benchmark
ceff2c115405 Add non-blocking getaddrinfo option to Cmake (#2168)
120405beac2d clang-format
cb85e573dea2 Fix #1416 (#2169)
a636a094bf21 Fix #1656
a3f556919629 Fix #2082 (#2170)
af7337761181 Fix #1578 (#2171)
145fc8b0215f Proxy test (#2172)
af7a69bcf631 build(meson): add non_blocking_getaddrinfo option (#2174)
52163ed9823c Fix #2148 (#2173)
082acacd4581 Merge commit from fork
4ff7a1c858fa build(meson): simplify build options (#2176)
c551e972971b Add .pre-commit-config.yaml
9dbaed75efff Fix #2175 (#2177)
802743264cec Remove incorrect comment
17ba303889b8 Merge commit from fork
b5b2a1d1c862 Change uint64_t to size_t
ecfd84c1712b Release v0.23.0
53ea9e8bb475 Fix #2111 (#2179)
55b38907dcdf Resolve #1264
8b28577ec6c3 Resolve #366
7b6867bcdf72 Fix #2021 (#2180)
1f110b54d8b3 Chang #error to #warning for the 32-bit environment check
             except 32-bit Windows
dd98d2a24d9d build(meson): warn/fail on 32-bit machines (#2181)
ca5fe354fb83 Release v0.23.1
890a2dd85d9f Fix #2189
8e8a23e3d248 Fix #2187
c0c36f021def Fix #2184, #2185 (#2190)
a5d4c143e524 Release v0.24.0
0b3758ec36be Fix problem with Windows version check
acf28a362df8 #2191 Check for minimum required Windows version (#2192)
b52d7d8411f9 ErrorLogger support (#870) (#2195)
cdaed14925a4 Update README
70cca55cafb4 Workaround for chocolatey issue with the latest OpenSSL
fbee136dca54 Fix #2193. Allow _WIN32
b1c1fa2dc635 Code cleanup
7012e765e131 CMake: Check pointer size at configure time (#2197)
a2bb6f6c1ea5 Update docker/main.cc
3f44c80fd345 Release v0.25.0

Bug: 438422635
Test: crashpad_util_test HTTPTransport.*
Change-Id: Iaa8e732d3a2a9e46ee9ffefa4848b769c8f54f74
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6867730
Reviewed-by: Joshua Peraza <[email protected]>
Commit-Queue: Mark Mentovai <[email protected]>
A future libc++ revision will stop providing this include transitively.

Bug: 376278210
Change-Id: I79460933ed915bc601278a6d75f2c2ced1130440
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6049220
Commit-Queue: Nico Weber <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>

Co-authored-by: Nico Weber <[email protected]>
Co-authored-by: seer-by-sentry[bot] <157164994+seer-by-sentry[bot]@users.noreply.github.com>
'README.crashpad' is recognised by our tooling as a metadata file. This
invalid file prevents us enforcing vulnerability coverage. There are
about a dozen valid 'README.crashpads, see examples of correctly
formatted ones by searching on codesearch.

Bug: 422924482
Change-Id: Ie19422dd870548e36e9bbb7803e69a997d78b2da
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6975426
Reviewed-by: Will Harris <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Jordan Brown <[email protected]>
Bug: 448113221
Change-Id: I0e7bc9513fdbc1c22b3d94a82efeb0adee6cb04c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/7022792
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Joshua Pawlicki <[email protected]>
This change moves the rate-limiting logic from ShouldRateLimitUpload()
into a separate helper function with its own tests. The logic itself
is unchanged.

This is a precursor to changes that will experimentally change the
rate limit. The new tests will help ensure that future changes don't
unexpectedly break existing logic that should be kept (e.g., the
CrashSkippedReason, which is emitted to a histogram).

Bug: 42310127
Change-Id: I68268ee6ea76aa31961f3791c595503a204ec5b4
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/7038272
Commit-Queue: Jesse McKenna <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
* fix(win): remove MAX_PATH dependency

* add wchar alignment validation on the server IPC side
kBackwardsClockTolerance is in a header file, so it should be inlined to
ensure it's not duplicated across translation units.

This fixes the following Chromium presubmit warning:

Consider inlining constexpr variable definitions in headers outside of classes
to avoid unnecessary copies of the constant. See https://abseil.io/tips/168 for
more details.
  third_party\crashpad\crashpad\handler\crash_report_upload_rate_limit.h: 29
    constexpr int kBackwardsClockTolerance = 60 * 60 * 24;  // 1 day

Bug: 42310127
Change-Id: Ie37ec72f62f5e3ee8c8080e5e1dd951a575e248a
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/7056627
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Jesse McKenna <[email protected]>
This fixes the following clang-tidy error seen when rolling Crashpad
into Chrome:

check: modernize-concat-nested-namespaces

nested namespaces can be concatenated
(https://clang.llvm.org/extra/clang-tidy/checks/modernize/concat-nested-namespaces.html)

Change-Id: I5b5ef3deef40e5850b92a0375b00b057c9b60244
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/7068660
Commit-Queue: Jesse McKenna <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
use std::atomic_fetch_add() in place of base::subtle::Barrier_AtomicIncrement()
move __attribute__((packed)) to the end of the struct to satisfy GCC
meta: update 2025-10-22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.