Skip to content

Commit 0b92c47

Browse files
committed
Update submodule imports
1 parent aaeb85e commit 0b92c47

File tree

3,450 files changed

+47032
-20741
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,450 files changed

+47032
-20741
lines changed

external_imported/sentry-native/.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,21 @@ jobs:
6262
- name: macOS (xcode llvm)
6363
os: macOs-latest
6464
ERROR_ON_WARNINGS: 1
65+
SYSTEM_VERSION_COMPAT: 0
6566
- name: macOS (xcode llvm + universal)
6667
os: macOs-latest
6768
ERROR_ON_WARNINGS: 1
69+
SYSTEM_VERSION_COMPAT: 0
6870
CMAKE_DEFINES: -DCMAKE_OSX_ARCHITECTURES=arm64;x86_64
6971
- name: macOS (clang 11 + asan + llvm-cov)
7072
os: macOs-latest
7173
CC: clang
7274
CXX: clang++
7375
ERROR_ON_WARNINGS: 1
76+
SYSTEM_VERSION_COMPAT: 0
7477
RUN_ANALYZER: asan,llvm-cov
75-
- name: Windows (VS2017, 32bit)
76-
os: vs2017-win2016
78+
- name: Windows (VS2019)
79+
os: windows-2019
7780
TEST_X86: 1
7881
- name: Windows (latest)
7982
os: windows-latest
@@ -98,6 +101,7 @@ jobs:
98101
ANDROID_API: ${{ matrix.ANDROID_API }}
99102
ANDROID_NDK: ${{ matrix.ANDROID_NDK }}
100103
CMAKE_DEFINES: ${{ matrix.CMAKE_DEFINES }}
104+
SYSTEM_VERSION_COMPAT: ${{ matrix.SYSTEM_VERSION_COMPAT }}
101105

102106
steps:
103107
- uses: actions/checkout@v2

external_imported/sentry-native/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ CMakeSettings.json
77
/build
88
/build*
99
leak-build
10+
unit-build
1011

1112
# Run files
1213
.sentry-native

external_imported/sentry-native/CHANGELOG.md

Lines changed: 70 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,82 @@
11
# Changelog
22

3+
## 0.4.17
4+
5+
**Fixes**:
6+
7+
- sentry-native now successfully builds when examples aren't included. ([#702](https://github.com/getsentry/sentry-native/pull/702))
8+
9+
**Thank you**:
10+
11+
Features, fixes and improvements in this release have been contributed by:
12+
13+
- [@AenBleidd](https://github.com/AenBleidd)
14+
15+
## 0.4.16
16+
17+
**Features**:
18+
19+
- Removed the `SENTRY_PERFORMANCE_MONITORING` compile flag requirement to access performance monitoring in the Sentry SDK. Performance monitoring is now available to everybody who has opted into the experimental API.
20+
- New API to check whether the application has crashed in the previous run: `sentry_get_crashed_last_run()` and `sentry_clear_crashed_last_run()` ([#685](https://github.com/getsentry/sentry-native/pull/685)).
21+
- Allow overriding the SDK name at build time - set the `SENTRY_SDK_NAME` CMake cache variable.
22+
- More aggressively prune the Crashpad database. ([#698](https://github.com/getsentry/sentry-native/pull/698))
23+
24+
**Internal**:
25+
26+
- Project IDs are now treated as opaque strings instead of integer values. ([#690](https://github.com/getsentry/sentry-native/pull/690))
27+
- Updated Breakpad and Crashpad backends to 2022-04-12. ([#696](https://github.com/getsentry/sentry-native/pull/696))
28+
29+
**Fixes**:
30+
31+
- Updated CI as well as list of supported platforms to reflect Windows Server 2016, and therefore MSVC 2017 losing active support.
32+
- Correctly free Windows Mutexes in Crashpad backend.
33+
34+
**Thank you**:
35+
36+
Features, fixes and improvements in this release have been contributed by:
37+
38+
- [@zhaowq32](https://github.com/zhaowq32)
39+
40+
## 0.4.15
41+
42+
**Fixes**:
43+
44+
- Fix contexts from the scope not being attached to events correctly.
45+
- Improve performance of event serialization.
46+
47+
## 0.4.14
48+
49+
**Features**:
50+
51+
- The Sentry SDK now has experimental support for performance monitoring.
52+
The performance monitoring API allows manually creating transactions and instrumenting spans, and offers APIs for distributed tracing.
53+
The API is currently disabled by default and needs to be enabled via a compile-time `SENTRY_PERFORMANCE_MONITORING` flag.
54+
For more information, take a look at the more detailed [documentation of performance monitoring](https://docs.sentry.io/platforms/native/performance/).
55+
- Sentry now has an explicit `sentry_flush` method that blocks the calling thread for the given time, waiting for the transport queue to be flushed. Custom transports need to implement a new `flush_hook` for this to work.
56+
57+
**Fixes**:
58+
59+
- Fix Sentry API deadlocking when the SDK was not initialized (or `sentry_init` failed).
60+
- The rate limit handling of the default transports was updated to match the expected behavior.
61+
- The Windows OS version is now read from the Registry and is more accurate.
62+
- The `SENTRY_LIBRARY_TYPE` CMake option is now correctly honored.
63+
- The Linux Modulefinder was once again improved to increase its memory safety and reliability.
64+
65+
**Thank you**:
66+
67+
Features, fixes and improvements in this release have been contributed by:
68+
69+
- [@Mixaill](https://github.com/Mixaill)
70+
371
## 0.4.13
472

5-
**Features**
73+
**Features**:
674

775
- Add client-side stackwalking on Linux, Windows, and macOS (disabled by default).
876
- CMake: add ability to set solution folder name.
977
- Add AIX support.
1078

11-
**Fixes**
79+
**Fixes**:
1280

1381
- CMake: check whether libcurl was already found.
1482
- Increment CXX standard version to 14 to allow crashpad to build.

external_imported/sentry-native/CMakeLists.txt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ if(NOT CMAKE_C_STANDARD)
3030
endif()
3131

3232
if(NOT CMAKE_CXX_STANDARD)
33-
set(CMAKE_CXX_STANDARD 14)
33+
set(CMAKE_CXX_STANDARD 17)
3434
endif()
3535

3636
include(GNUInstallDirs)
@@ -151,9 +151,12 @@ if(SENTRY_BACKEND_CRASHPAD AND ANDROID)
151151
message(FATAL_ERROR "The Crashpad backend is not currently supported on Android")
152152
endif()
153153

154+
set(SENTRY_SDK_NAME "" CACHE STRING "The SDK name to report when sending events.")
155+
154156
message(STATUS "SENTRY_TRANSPORT=${SENTRY_TRANSPORT}")
155157
message(STATUS "SENTRY_BACKEND=${SENTRY_BACKEND}")
156158
message(STATUS "SENTRY_LIBRARY_TYPE=${SENTRY_LIBRARY_TYPE}")
159+
message(STATUS "SENTRY_SDK_NAME=${SENTRY_SDK_NAME}")
157160

158161
if(ANDROID)
159162
set(SENTRY_WITH_LIBUNWINDSTACK TRUE)
@@ -221,6 +224,10 @@ target_sources(sentry PRIVATE "${PROJECT_SOURCE_DIR}/include/sentry.h")
221224
add_library(sentry::sentry ALIAS sentry)
222225
add_subdirectory(src)
223226

227+
if (NOT SENTRY_SDK_NAME STREQUAL "")
228+
target_compile_definitions(sentry PRIVATE SENTRY_SDK_NAME="${SENTRY_SDK_NAME}")
229+
endif()
230+
224231
# we do not need this on android, only linux
225232
if(LINUX)
226233
target_sources(sentry PRIVATE
@@ -233,7 +240,7 @@ set_target_properties(sentry PROPERTIES PUBLIC_HEADER "include/sentry.h")
233240

234241
if(DEFINED SENTRY_FOLDER)
235242
set_target_properties(sentry PROPERTIES FOLDER ${SENTRY_FOLDER})
236-
endif()
243+
endif()
237244

238245
# check size type
239246
include(CheckTypeSize)
@@ -384,7 +391,7 @@ if(SENTRY_LINK_PTHREAD)
384391
endif()
385392

386393
# apply platform libraries to sentry library
387-
if(SENTRY_LIBRARY_TYPE STREQUAL "static")
394+
if(SENTRY_LIBRARY_TYPE STREQUAL "STATIC")
388395
target_link_libraries(sentry PUBLIC ${_SENTRY_PLATFORM_LIBS})
389396
else()
390397
target_link_libraries(sentry PRIVATE ${_SENTRY_PLATFORM_LIBS})
@@ -457,7 +464,7 @@ if(SENTRY_BACKEND_CRASHPAD)
457464
set_target_properties(crashpad_util PROPERTIES FOLDER ${SENTRY_FOLDER})
458465
set_target_properties(crashpad_zlib PROPERTIES FOLDER ${SENTRY_FOLDER})
459466
set_target_properties(mini_chromium PROPERTIES FOLDER ${SENTRY_FOLDER})
460-
endif()
467+
endif()
461468

462469
target_link_libraries(sentry PRIVATE
463470
$<BUILD_INTERFACE:crashpad::client>
@@ -490,8 +497,8 @@ elseif(SENTRY_BACKEND_BREAKPAD)
490497

491498
if(DEFINED SENTRY_FOLDER)
492499
set_target_properties(breakpad_client PROPERTIES FOLDER ${SENTRY_FOLDER})
493-
endif()
494-
500+
endif()
501+
495502
if(NOT SENTRY_BUILD_SHARED_LIBS)
496503
sentry_install(TARGETS breakpad_client EXPORT sentry
497504
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
@@ -570,7 +577,7 @@ if(SENTRY_BUILD_EXAMPLES)
570577

571578
if(DEFINED SENTRY_FOLDER)
572579
set_target_properties(sentry_example PROPERTIES FOLDER ${SENTRY_FOLDER})
573-
endif()
580+
endif()
574581

575582
add_test(NAME sentry_example COMMAND sentry_example)
576583
endif()

external_imported/sentry-native/CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Building and testing `sentry-native` currently requires the following tools:
1212
- **CMake** and a supported C/C++ compiler, to actually build the code.
1313
- **python** and **pytest**, to run integration tests.
1414
- **clang-format** and **black**, to format the C/C++ and python code respectively.
15+
- **curl** and **zlib** libraries (e.g. on Ubuntu: libcurl4-openssl-dev, libz-dev)
1516

1617
`pytest` and `black` are installed as virtualenv dependencies automatically.
1718

external_imported/sentry-native/Makefile

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,17 @@ build: build/Makefile
1212
@cmake --build build --parallel
1313
.PHONY: build
1414

15-
build/sentry_test_unit: build
16-
@cmake --build build --target sentry_test_unit --parallel
17-
1815
test: update-test-discovery test-integration
1916
.PHONY: test
2017

21-
test-unit: update-test-discovery build/sentry_test_unit
22-
./build/sentry_test_unit
18+
test-unit: update-test-discovery CMakeLists.txt
19+
@mkdir -p unit-build
20+
@cd unit-build; cmake \
21+
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=$(PWD)/unit-build \
22+
-DSENTRY_BACKEND=none \
23+
..
24+
@cmake --build unit-build --target sentry_test_unit --parallel
25+
./unit-build/sentry_test_unit
2326
.PHONY: test-unit
2427

2528
test-integration: setup-venv

external_imported/sentry-native/README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ The SDK currently supports and is tested on the following OS/Compiler variations
5858
- 64bit Linux with GCC 9
5959
- 64bit Linux with clang 9
6060
- 32bit Linux with GCC 7 (cross compiled from 64bit host)
61-
- 64bit Windows with MSVC 2019
62-
- 32bit Windows with MSVC 2017
61+
- 32bit Windows with MSVC 2019
62+
- 64bit Windows with MSVC 2022
6363
- macOS Catalina with most recent Compiler toolchain
6464
- Android API29 built by NDK21 toolchain
6565
- Android API16 built by NDK19 toolchain
@@ -264,13 +264,17 @@ Legend:
264264

265265
- `SENTRY_FOLDER` (Default: not defined):
266266
Sets the sentry-native projects folder name for generators which support project hierarchy (like Microsoft Visual Studio).
267-
To use this feature you need to enable hierarchy via [`USE_FOLDERS` property](https://cmake.org/cmake/help/latest/prop_gbl/USE_FOLDERS.html)
267+
To use this feature you need to enable hierarchy via [`USE_FOLDERS` property](https://cmake.org/cmake/help/latest/prop_gbl/USE_FOLDERS.html)
268268

269269
- `CRASHPAD_ENABLE_STACKTRACE` (Default: OFF):
270270
This enables client-side stackwalking when using the crashpad backend. Stack unwinding will happen on the client's machine
271271
and the result will be submitted to Sentry attached to the generated minidump.
272272
Note that this feature is still experimental.
273273

274+
- `SENTRY_SDK_NAME` (Default: sentry.native or sentry.native.android):
275+
Sets the SDK name that should be included in the reported events. If you're overriding this, make sure to also define
276+
the same value using `target_compile_definitions()` on your own targets that include `sentry.h`.
277+
274278
### Build Targets
275279

276280
- `sentry`: This is the main library and the only default build target.

external_imported/sentry-native/examples/example.c

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,14 @@ main(int argc, char **argv)
9393
options, sentry_transport_new(print_envelope));
9494
}
9595

96+
if (has_arg(argc, argv, "capture-transaction")) {
97+
sentry_options_set_traces_sample_rate(options, 1.0);
98+
}
99+
100+
if (has_arg(argc, argv, "child-spans")) {
101+
sentry_options_set_max_spans(options, 5);
102+
}
103+
96104
sentry_init(options);
97105

98106
if (!has_arg(argc, argv, "no-setup")) {
@@ -208,6 +216,41 @@ main(int argc, char **argv)
208216
sentry_capture_event(event);
209217
}
210218

219+
if (has_arg(argc, argv, "capture-transaction")) {
220+
sentry_transaction_context_t *tx_ctx
221+
= sentry_transaction_context_new("little.teapot",
222+
"Short and stout here is my handle and here is my spout");
223+
224+
if (has_arg(argc, argv, "unsample-tx")) {
225+
sentry_transaction_context_set_sampled(tx_ctx, 0);
226+
}
227+
sentry_transaction_t *tx
228+
= sentry_transaction_start(tx_ctx, sentry_value_new_null());
229+
230+
if (has_arg(argc, argv, "error-status")) {
231+
sentry_transaction_set_status(
232+
tx, SENTRY_SPAN_STATUS_INTERNAL_ERROR);
233+
}
234+
235+
if (has_arg(argc, argv, "child-spans")) {
236+
sentry_span_t *child
237+
= sentry_transaction_start_child(tx, "littler.teapot", NULL);
238+
sentry_span_t *grandchild
239+
= sentry_span_start_child(child, "littlest.teapot", NULL);
240+
241+
if (has_arg(argc, argv, "error-status")) {
242+
sentry_span_set_status(child, SENTRY_SPAN_STATUS_NOT_FOUND);
243+
sentry_span_set_status(
244+
grandchild, SENTRY_SPAN_STATUS_ALREADY_EXISTS);
245+
}
246+
247+
sentry_span_finish(grandchild);
248+
sentry_span_finish(child);
249+
}
250+
251+
sentry_transaction_finish(tx);
252+
}
253+
211254
// make sure everything flushes
212255
sentry_close();
213256

external_imported/sentry-native/external/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,13 @@ set(BREAKPAD_SOURCES_CLIENT_APPLE
9191
breakpad/src/client/mac/handler/breakpad_nlist_64.h
9292
breakpad/src/client/mac/handler/dynamic_images.cc
9393
breakpad/src/client/mac/handler/dynamic_images.h
94-
breakpad/src/client/mac/handler/exception_handler.cc
95-
breakpad/src/client/mac/handler/exception_handler.h
9694
breakpad/src/client/mac/handler/minidump_generator.cc
9795
breakpad/src/client/mac/handler/minidump_generator.h
9896
)
9997

10098
set(BREAKPAD_SOURCES_CLIENT_MAC
99+
breakpad/src/client/mac/handler/exception_handler.cc
100+
breakpad/src/client/mac/handler/exception_handler.h
101101
breakpad/src/client/mac/crash_generation/crash_generation_client.cc
102102
breakpad/src/client/mac/crash_generation/crash_generation_client.h
103103
)

external_imported/sentry-native/external/breakpad/.github/workflows/coverity.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# GitHub actions workflow.
22
# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
33

4-
# https://scan.coverity.com/projects/gentoo-pax-utils
4+
# https://scan.coverity.com/projects/google-breakpad
55
name: Coverity Scan
66

77
on:
@@ -36,9 +36,8 @@ jobs:
3636
- run: ./configure --disable-silent-rules
3737
working-directory: src
3838

39-
- uses: vapier/coverity-scan-action@v0
39+
- uses: vapier/coverity-scan-action@v1
4040
with:
41-
project: google%2Fbreakpad
4241
command: make -C src -O -j$(getconf _NPROCESSORS_CONF)
43-
42+
email: ${{ secrets.COVERITY_SCAN_EMAIL }}
4443
token: ${{ secrets.COVERITY_SCAN_TOKEN }}

0 commit comments

Comments
 (0)