Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/test_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,13 @@ jobs:
name: signal-safety-violation-glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64
path: /tmp/signal-safety-violation.txt
if-no-files-found: ignore
- name: Upload ASan logs
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: failure() && matrix.config == 'asan'
with:
name: asan-logs-glibc-${{ matrix.java_version }}-amd64
path: /tmp/asan.log.*
if-no-files-found: ignore

test-linux-musl-amd64:
needs: [cache-jdks, filter-musl-configs]
Expand Down Expand Up @@ -317,6 +324,13 @@ jobs:
name: signal-safety-violation-musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64
path: /tmp/signal-safety-violation.txt
if-no-files-found: ignore
- name: Upload ASan logs
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: failure() && matrix.config == 'asan'
with:
name: asan-logs-musl-${{ matrix.java_version }}-amd64
path: /tmp/asan.log.*
if-no-files-found: ignore

test-linux-glibc-aarch64:
needs: cache-jdks
Expand Down Expand Up @@ -495,6 +509,13 @@ jobs:
name: signal-safety-violation-glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64
path: /tmp/signal-safety-violation.txt
if-no-files-found: ignore
- name: Upload ASan logs
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: failure() && matrix.config == 'asan'
with:
name: asan-logs-glibc-${{ matrix.java_version }}-aarch64
path: /tmp/asan.log.*
if-no-files-found: ignore

test-linux-musl-aarch64:
needs: [cache-jdks, filter-musl-configs]
Expand Down Expand Up @@ -599,3 +620,10 @@ jobs:
name: signal-safety-violation-musl-${{ matrix.java_version }}-${{ matrix.config }}-aarch64
path: /tmp/signal-safety-violation.txt
if-no-files-found: ignore
- name: Upload ASan logs
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: failure() && matrix.config == 'asan'
with:
name: asan-logs-musl-${{ matrix.java_version }}-aarch64
path: /tmp/asan.log.*
if-no-files-found: ignore
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ object ConfigurationPresets {
if (libasan != null) {
config.testEnvironment.apply {
put("LD_PRELOAD", libasan)
put("ASAN_OPTIONS", "allocator_may_return_null=1:unwind_abort_on_malloc=1:use_sigaltstack=0:detect_stack_use_after_return=0:handle_segv=0:halt_on_error=0:abort_on_error=0:print_stacktrace=1:symbolize=1:suppressions=$rootDir/gradle/sanitizers/asan.supp")
put("ASAN_OPTIONS", "allocator_may_return_null=1:unwind_abort_on_malloc=1:use_sigaltstack=0:detect_stack_use_after_return=0:handle_segv=0:halt_on_error=0:abort_on_error=0:print_stacktrace=1:symbolize=1:log_path=/tmp/asan.log:suppressions=$rootDir/gradle/sanitizers/asan.supp")
put("UBSAN_OPTIONS", "halt_on_error=0:abort_on_error=0:print_stacktrace=1:suppressions=$rootDir/gradle/sanitizers/ubsan.supp")
put("LSAN_OPTIONS", "detect_leaks=0")
}
Expand Down
1 change: 1 addition & 0 deletions ddprof-lib/src/main/cpp/buffers.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ class Buffer {
_data[_offset++] = v;
}

__attribute__((no_sanitize("undefined")))
__attribute__((no_sanitize("bounds")))
void put16(short v) {
assert(_offset + 2 < limit());
Expand Down
2 changes: 1 addition & 1 deletion ddprof-lib/src/main/cpp/callTraceStorage.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class CallTraceStorage {
// Reserved trace ID for dropped samples due to contention
// Real trace IDs are generated as (instance_id << 32) | slot, where instance_id starts from 1
// Any ID with 0 in upper 32 bits is guaranteed to not clash with real trace IDs
static const u64 DROPPED_TRACE_ID = 1ULL;
static constexpr u64 DROPPED_TRACE_ID = 1ULL;

// Static dropped trace object that appears in JFR constant pool
static CallTrace* getDroppedTrace();
Expand Down
Loading