Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Port native malloc allocation profiling from async-profiler#398

Open
jbachorik wants to merge 12 commits intomainfrom
jb/native_allocs
Open

Port native malloc allocation profiling from async-profiler#398
jbachorik wants to merge 12 commits intomainfrom
jb/native_allocs

Conversation

@jbachorik
Copy link
Collaborator

@jbachorik jbachorik commented Feb 25, 2026

⚠️ Code origin notice: The core implementation (mallocTracer.cpp, mallocTracer.h) was directly ported from async-profiler (Apache-2.0). All source files carry the original Copyright The async-profiler authors header. Datadog modifications are attributed separately in each file.

What does this PR do?:
Ports the native malloc allocation profiler from async-profiler and integrates it with the Datadog JFR pipeline. When enabled via nativemem=<interval>, the profiler intercepts malloc, calloc, realloc, posix_memalign, and aligned_alloc across all loaded native libraries using GOT patching, and emits profiler.Malloc JFR events with Java stack traces. The free function is hooked to forward correctly through the GOT but free events are not recorded — sampled mallocs mean most frees would match nothing, and the immense event volume with no stack traces provides no actionable insight.

Changes:

  • mallocTracer.cpp/h — ported from async-profiler; GOT-patching hooks, Poisson byte-interval sampling with PID rate-limiting, nested-malloc detection for musl compatibility
  • flightRecorder.cpp/hrecordMallocSample() for profiler.Malloc JFR events with profiling context (spanId, localRootSpanId, contextAttributes); fix putVar32putVar64 for 64-bit trace IDs
  • jfrMetadata.cpp/h — new profiler.Malloc (T_MALLOC) event type definition with weight and context fields
  • profiler.cpp/hBCI_NATIVE_MALLOC path in recordSample, dlopen_hook patching of newly loaded libraries, CSTACK_VM promotion when VMStructs available
  • arguments.cpp/hnativemem=<bytes> argument parsing
  • codeCache.cpp/him_posix_memalign / im_aligned_alloc import IDs
  • event.hMallocEvent struct with weight field
  • doc/architecture/NativeMemoryProfiling.md — architecture document

Motivation:
Native heap allocations (malloc/free) are a significant source of memory pressure and latency in JVM applications that rely on JNI, off-heap buffers, or native libraries. This feature gives users visibility into native allocation patterns alongside existing JVM heap profiling.

Additional Notes:

Upstream source: mallocTracer.cpp and mallocTracer.h are a port of the equivalent files from async-profiler. The porting involved:

  • Replacing async-profiler's internal types and helpers with Datadog profiler equivalents
  • Routing events through the Datadog JFR pipeline (recordSample) instead of async-profiler's own serialisation
  • Adapting the patchLibraries loop to use Datadog's CodeCache / UnloadProtection API

Stack walking: Native malloc events have no signal context (ucontext == NULL). CSTACK_VM (HotSpot VMStructs + JavaFrameAnchor) is the only mode that can produce meaningful Java stack traces in this situation. CSTACK_DEFAULT is the initial default; at profiler start it is promoted to CSTACK_VM when VMStructs are available. On JVMs where VMStructs are unavailable the profiler stays at CSTACK_DEFAULT.

Sampling: Uses Poisson-interval sampling (shouldSample()) with a lock-free CAS loop. A PID controller (updateConfiguration()) periodically adjusts the interval to maintain ~100 samples/second. Each sample carries a statistical weight reflecting the Poisson sampling probability.

No free event tracking: Free calls are hooked (to forward through the GOT correctly) but not recorded. With Poisson sampling on mallocs, most frees correspond to unsampled allocations and would produce meaningless events. The volume of free calls with no stack traces provides no actionable insight.

Reentrancy: Allocations made by the profiler itself during recording (stack walking, JFR buffer writes) will re-enter the hooks. This is a deliberate design trade-off (no TLS guard) documented in the source — it does not cause infinite recursion but may produce minor over-counting.

How to test the change?:
Automated integration tests covering malloc sampling:

./utils/run-docker-tests.sh --mount --tests="*NativememProfilerTest*"

Tests pass for both cstack=vm and cstack=vmx variants of:

  • NativememProfilerTest#shouldRecordMallocSamples

For Datadog employees:

  • If this PR touches code that signs or publishes builds or packages, or handles
    credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.
  • This PR doesn't touch any of that.
  • JIRA: PROF-13909

Unsure? Have a question? Request a review!

@jbachorik jbachorik added the AI label Feb 25, 2026
@dd-octo-sts
Copy link

dd-octo-sts bot commented Feb 25, 2026

CI Test Results

Run: #22770980642 | Commit: 48b2e09 | Duration: 9m 59s (longest job)

All 32 test jobs passed

Status Overview

JDK glibc-aarch64/debug glibc-amd64/debug musl-aarch64/debug musl-amd64/debug
8 - - -
8-ibm - - -
8-j9 - -
8-librca - -
8-orcl - - -
11 - - -
11-j9 - -
11-librca - -
17 - -
17-graal - -
17-j9 - -
17-librca - -
21 - -
21-graal - -
21-librca - -
25 - -
25-graal - -
25-librca - -

Legend: ✅ passed | ❌ failed | ⚪ skipped | 🚫 cancelled

Summary: Total: 32 | Passed: 32 | Failed: 0


Updated: 2026-03-06 16:22:22 UTC

@jbachorik jbachorik changed the title Port native malloc/free allocation profiling from async-profiler [WIP] Port native malloc/free allocation profiling from async-profiler Feb 25, 2026
jbachorik and others added 5 commits March 4, 2026 16:43
- Add MallocTracer engine (GOT/PLT patching for malloc/calloc/realloc/free/posix_memalign/aligned_alloc)
- Add BCI_NATIVE_MALLOC, MallocEvent, T_MALLOC/T_FREE JFR types
- Add nativemem/nofree arguments
- Add profiler.Malloc and profiler.Free JFR event metadata
- Add recordEventOnly() for stack-trace-less free events
- Add NativememProfilerTest and NofreeNativememProfilerTest

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jbachorik jbachorik changed the title [WIP] Port native malloc/free allocation profiling from async-profiler Port native malloc allocation profiling from async-profiler Mar 4, 2026
@jbachorik jbachorik marked this pull request as ready for review March 4, 2026 18:29
@jbachorik jbachorik requested a review from a team as a code owner March 4, 2026 18:29
@pr-commenter
Copy link

pr-commenter bot commented Mar 5, 2026

Integration Tests

19 passed, 21 failed out of 40 configurations

Test Matrix

Platform JDK 8 JDK 11 JDK 17 JDK 21 JDK 25
glibc-x64-hotspot
glibc-x64-openj9
glibc-arm64-hotspot
glibc-arm64-openj9
musl-x64-hotspot
musl-x64-openj9
musl-arm64-hotspot
musl-arm64-openj9

Failure Details

glibc-arm64-hotspot-jdk17

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:12:08Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=glibc, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-glibc-arm64-hotspot-jdk17/dd-profiler-debug-12565600407867876505.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
glibc-arm64-hotspot-jdk21

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:31Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=glibc, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-glibc-arm64-hotspot-jdk21/dd-profiler-debug-10008731578181627857.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
glibc-arm64-hotspot-jdk25

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:24Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=glibc, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-glibc-arm64-hotspot-jdk25/dd-profiler-debug-11213769165370065227.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
glibc-arm64-openj9-jdk21

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:25Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=glibc, jvm-type=openj9
JFR file: /tmp/jfr-profiler-only-glibc-arm64-openj9-jdk21/dd-profiler-debug-14043475597456447001.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
glibc-arm64-openj9-jdk25

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:09:19Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=glibc, jvm-type=openj9
JFR file: /tmp/jfr-profiler-only-glibc-arm64-openj9-jdk25/dd-profiler-debug-13120127014324483885.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
glibc-arm64-openj9-jdk8

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:16Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=glibc, jvm-type=openj9
JFR file: /tmp/jfr-profiler-only-glibc-arm64-openj9-jdk8/dd-profiler-debug-5211877000043001373.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
glibc-x64-hotspot-jdk11

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:09:04Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=x64, libc=glibc, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-glibc-x64-hotspot-jdk11/dd-profiler-debug-5071370810450259798.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
glibc-x64-hotspot-jdk25

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:09:01Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=x64, libc=glibc, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-glibc-x64-hotspot-jdk25/dd-profiler-debug-9820169312212293441.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
glibc-x64-hotspot-jdk8

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:09:10Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=x64, libc=glibc, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-glibc-x64-hotspot-jdk8/dd-profiler-debug-4516592420843669195.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-hotspot-jdk11

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:13Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-musl-arm64-hotspot-jdk11/dd-profiler-debug-12145760201251640018.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-hotspot-jdk17

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:16Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-musl-arm64-hotspot-jdk17/dd-profiler-debug-4594202303904368381.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-hotspot-jdk21

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:26Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-musl-arm64-hotspot-jdk21/dd-profiler-debug-6340358903870091289.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-hotspot-jdk25

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:15Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-musl-arm64-hotspot-jdk25/dd-profiler-debug-15334300992900455322.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-hotspot-jdk8

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:25Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-musl-arm64-hotspot-jdk8/dd-profiler-debug-7146375866001340193.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-openj9-jdk17

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:13Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=openj9
JFR file: /tmp/jfr-profiler-only-musl-arm64-openj9-jdk17/dd-profiler-debug-1641480798196165124.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-openj9-jdk21

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:27Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=openj9
JFR file: /tmp/jfr-profiler-only-musl-arm64-openj9-jdk21/dd-profiler-debug-2498400909082646623.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-openj9-jdk25

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:13Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=openj9
JFR file: /tmp/jfr-profiler-only-musl-arm64-openj9-jdk25/dd-profiler-debug-3875016279689912871.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-arm64-openj9-jdk8

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:11:25Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=arm64, libc=musl, jvm-type=openj9
JFR file: /tmp/jfr-profiler-only-musl-arm64-openj9-jdk8/dd-profiler-debug-3628143311474980177.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-x64-hotspot-jdk17

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:08:59Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=x64, libc=musl, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-musl-x64-hotspot-jdk17/dd-profiler-debug-2193884265493992170.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-x64-hotspot-jdk21

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:08:58Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=x64, libc=musl, jvm-type=hotspot
JFR file: /tmp/jfr-profiler-only-musl-x64-hotspot-jdk21/dd-profiler-debug-16968938115101820005.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
musl-x64-openj9-jdk8

Profiler-only:

VALIDATION_STARTED: 2026-03-06T16:08:59Z
Configuration: ddprof=true, tracer=false, duration=60s
Platform: arch=x64, libc=musl, jvm-type=openj9
JFR file: /tmp/jfr-profiler-only-musl-x64-openj9-jdk8/dd-profiler-debug-1524293703861894568.jfr
Profile: ddprof_only
---
[jbang] Resolving dependencies...
[jbang]    io.btrace:jafar-shell:0.16.0
[jbang] [ERROR] Could not read artifact descriptor for io.btrace:jafar-shell:jar:0.16.0
[jbang] Run with --verbose or -x for more details. The --verbose or -x must be placed before the jbang command. I.e. jbang --verbose run [...]
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)
VALIDATION_FAILED: Script terminated unexpectedly (exit code: 1)

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant