Skip to content

Releases: DataDog/java-profiler

v_1.51.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 18:32
b161da4

What's Changed

  • fix: omit source_sha in retry mode by @jbachorik in #764
  • Fix release.sh script by @zhengyu123 in #776
  • fix(nativemem): refresh NM_NATIVE_SYMBOLS where the tables change by @rkennke in #753
  • feat(nativemem): emit post-serialization counters so flush cost is visible by @rkennke in #754
  • refactor(profiling): Signal handler boilerplate by @yaronguro-datadog in #756
  • Possible out-of-bounds Context read by @zhengyu123 in #774
  • refactor(sampling): replace std::random_device with the existing xorshift64 by @rkennke in #794
  • ci: move the shipped binaries to AlmaLinux 8, get the test images off EOL Debian by @rkennke in #790
  • Avoid UBSan wrap in ElfSection vaddr arithmetic by @jbachorik in #795
  • Model crashNow's intentional crash as a trap under scan-build by @jbachorik in #804
  • ci: count integration configurations with no result as failures by @rkennke in #792
  • ci: quarantine flaky tests against a ticket instead of retrying past them by @rkennke in #777
  • JFR event types and emission for reference chains by @jbachorik in #796
  • Fix: PROF-15934 - native stack walker return-address attribution by @rkennke in #786
  • Restore ucontext on faulted paths by @zhengyu123 in #781
  • Add performance counters/metrics for samplers by @zhengyu123 in #811
  • Fix SanityCheckTest OOM on JDK 8 and a false crash in flake_report by @rkennke in #815
  • ci: restore EL7 stresstest coverage, add nightly EL7 functional tests by @rkennke in #805
  • ci: wire the EL7 functional job into #777's quarantine machinery by @rkennke in #810
  • Purge unsupported platforms by @zhengyu123 in #818
  • fix(test): stop -O3 tail-calling away the return-address trampolines by @rkennke in #819
  • ci: run the C++ unit tests in the release configuration by @rkennke in #821
  • fix: address argument parsing silent drops by @kaahos in #817
  • Possible UAF of otel_thread_ctx_v1 by @zhengyu123 in #820

New Contributors

Full Changelog: v_1.50.0...v_1.51.0

v_1.50.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 19:19
484f9db

What's Changed

  • Remove dead Lookup::_class_cache by @rkennke in #723
  • Remove duplicated SpinLock Exclusive/Shared Locker by @zhengyu123 in #731
  • Add sanity checks for profiler by @jbachorik in #48
  • Return JMETHODID_NOT_WALKABLE instead of nullptr for unpopulated jmethodID slots by @jbachorik in #733
  • feat(nativemem): instrument remaining allocation sites by @rkennke in #724
  • Make ProfiledThread's UnwindFailures field debug only by @zhengyu123 in #734
  • Fix entry resolution for main(String[]) method by @zhengyu123 in #740
  • Improve detecting subclass of Thread by @zhengyu123 in #741
  • Restore priming and fix races on acquire/release ProfiledThread by @zhengyu123 in #713
  • Serialize stale jmethodID frames as instead of jvmtiError by @jbachorik in #744
  • Fix CollectedHeapWrapper stale layout on JDK 25+ by @jbachorik in #746
  • Protect HotspotSupport::resolve() with longjmp by @zhengyu123 in #743
  • Adopt JmpCtxScope for setting stack walk siglongjmp protection by @zhengyu123 in #758
  • Protect Lookup::resolveMethod() with siglongjmp by @zhengyu123 in #752
  • fix(nativemem): count NM_CALLTRACE residency, not reserved chunk capacity by @rkennke in #757

Full Changelog: v_1.49.0...v_1.50.0

v_1.49.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 21:13
v_1.49.0
3aa1887

What's Changed

  • [Automated] Bump dev version to 1.49.0 by @dd-octo-sts[bot] in #690
  • Missing libgcc_s.so.1 on the host should not result in crash by @zhengyu123 in #689
  • fix(reliability): stop the reliability CI jobs from failing on every run by @jbachorik in #697
  • Avoid retaining invalid VM method pointers by @jbachorik in #699
  • Remove legacy DirectByteBuffer-based OTEP context storage (Phase 3) by @rkennke in #696
  • chore(release): fix release bump auto-merge by @kaahos in #698
  • fix: restore trivial approval action pins by @kaahos in #710
  • [fault-injection] Profiler::recordSample() stack walk is unprotected by @zhengyu123 in #687
  • Carve slow/e2e tests into separate testSlow tasks by @jbachorik in #700
  • fix(ci): bump IBM Java 8 JRE URL to 8.0.8.70 by @jbachorik in #717
  • fix: skip jobs needing build/deploy-artifact on release/* branches by @jbachorik in #716
  • Add disabled regression test for unprimed native threads by @jbachorik in #712
  • fix(ci): stop JAVA_TOOL_OPTIONS from silently killing integration tests by @jbachorik in #718
  • Fix memory leak in JfrMetadata::reset() by @jbachorik in #694
  • Guard Recording::writeElement against SIGSEGV on a corrupted metadata tree by @jbachorik in #692
  • Replace JMC's JFR loader with a lightweight, streaming jafar-backed API by @jbachorik in #719
  • fix: don't disable profiler on Alpine/musl over missing libgcc_s.so.1 by @jbachorik in #720
  • Never patch the profiler's own import table by @hisener in #721
  • Add prepare-patch.sh to backport pending PRs before a patch release by @jbachorik in #722

New Contributors

Full Changelog: v_1.48.0...v_1.49.0

v_1.48.2

Choose a tag to compare

@github-actions github-actions released this 07 Aug 21:21
v_1.48.2
1489d1b

What's Changed

  • [Automated] Bump dev version to 1.48.2 by @kaahos in #715

Full Changelog: v_1.48.1...v_1.48.2

v_1.48.1

Choose a tag to compare

@github-actions github-actions released this 04 Aug 09:05
v_1.48.1
c96ea85

What's Changed

  • chore(release): backport release automation to 1.48 by @kaahos in #709
  • fix: backport libgcc and invalid method pointer fixes to 1.48 by @kaahos in #711

Full Changelog: v_1.48.0...v_1.48.1

v_1.48.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 16:25
587a45c

What's Changed

  • [Automated] Bump dev version to 1.48.0 by @dd-octo-sts[bot] in #684
  • fix(codecache): make memoryUsage() accurate and live by @rkennke in #677
  • chore: update token for version bump auto-merge by @kaahos in #685
  • feat(profiler): native malloc/socket stack capture with profiler-hook frame skipping by @jbachorik in #648
  • fix(codecache): report the real runtime-stubs cache size by @rkennke in #681
  • feat(nativemem): categorized native-memory accounting — first cut by @rkennke in #669
  • [fault-injection] Startup should setup signal handlers before initializing VMStructs and protect VMFlag::name() call by @zhengyu123 in #674
  • Use sigsetjmp/siglongjmp instead of setjmp/longjmp by @zhengyu123 in #686

Full Changelog: v_1.47.0...v_1.48.0

v_1.47.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 11:33
v_1.47.0
61fcfb3

What's Changed

  • Use ThreadLocal to setup protection longjmp buffer and fix jmp_buf chaining by @zhengyu123 in #615
  • ci: fix codeql-action version mismatch between init and analyze by @rkennke in #638
  • fix(build): link vmStructs inline definitions in assertion-enabled builds by @rkennke in #641
  • ci: raise ASan test JVM heap to fix flaky nightly OOMs by @jbachorik in #640
  • build-logic: link sanitizer runtime for the fuzzer shared lib by @rkennke in #646
  • feat(context): all-native OTEL context write API — Phase 1 (PROF-15271) by @rkennke in #631
  • test: coarsen ASan sampling rate/workload to stop nightly heap OOMs by @jbachorik in #653
  • test: add fuzzer for thread local by @zhengyu123 in #645
  • feat: add matrix tests to containers by @kaahos in #637
  • Bound class-map growth to fix reliability-chaos OOMs by @jbachorik in #654
  • (fix): gate FrameType::isRawPointer on HotSpot by @jbachorik in #658
  • Profiler's fuzz tests store corpus files under wrong directories by @zhengyu123 in #656
  • fix(profiler): guard line-number-table copy against stale jmethodID by @jbachorik in #647
  • Optimize SafeAccess:safeCopy() implementation in assembly by @zhengyu123 in #660
  • fix: prevent duplicate trace_id after CallTraceHashTable expansion by @jbachorik in #659
  • Gate FrameType::isRawPointer on ENCODED_MASK and HotSpot by @jbachorik in #667
  • chaos: vthread-context-cascade antagonist + glibc heap-corruption defaults by @jbachorik in #642
  • Share object across fuzz targets & increase build timeout by @edznux-dd in #662
  • Adopt ThreadLocal to store ProfiledThread by @zhengyu123 in #639
  • Add compile-time fault-injection infrastructure for stack-walker recovery paths by @zhengyu123 in #661
  • Fix native OOM from unbounded CallTraceHashTable expansion by @jbachorik in #670
  • chore(ci): pin benchmarking base image to :newest tag by @faydef in #679
  • chore(ci): fix ci images tags by @kaahos in #682
  • chore: address release script by @kaahos in #683

New Contributors

Full Changelog: v_1.46.0...v_1.47.0

v_1.46.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 21:27
v_1.46.0
92427b9

What's Changed

Fixes

  • An alternative TLS implementation to fix a crash on musl/aarch64 by @zhengyu123 in #600
  • Don't preload jmethodIDs when cstack=vm with hotspot JVM by @zhengyu123 in #549
  • fix(context): scope OTEL ThreadContext storage to the carrier thread (PROF-15271) by @rkennke in #625
  • [PROF-15201] fix(profiler): close two TOCTOU races between SIGPROF handler and JFR lifecycle by @r1viollet in #614

Features

  • feat(profiler): wall-clock signal suppression for idle threads by @kaahos in #560

Tests

  • test: thread lifecycle × profiler-state coverage by @jbachorik in #624
  • fix(test): reduce ASAN wall-clock rate in BoundMethodHandleProfilerTest to avoid OOM by @rkennke in #630
  • fix(test): forkEvery for asan Test task to bound cumulative heap growth by @rkennke in #632

Full Changelog: v_1.45.0...v_1.46.0

v_1.45.0

Choose a tag to compare

@github-actions github-actions released this 18 Jun 21:09
48d5522

What's Changed

  • Fix duplicated cookies by @zhengyu123 in #564
  • fix(wallclock): add signal-origin guard to WallClockJvmti by @jbachorik in #569
  • fix: prevent overflow and misaligned read in build-id parsing by @edznux-dd in #567
  • fix: bound DWARF .eh_frame_hdr parsing to the section by @edznux-dd in #571
  • fix: bounds-check ELF section and symbol-table parsing by @edznux-dd in #568
  • fix(spinlock): bound OptionalSharedLockGuard spin in signal handler paths by @jbachorik in #572
  • Native malloc fixes and cleanup by @jbachorik in #550
  • feat(chaos): production-pattern antagonists + Java-25 thread-churn crash simulation by @jbachorik in #558
  • Refactor argument matching with case insensitive string comparison by @zhengyu123 in #580
  • fix(calltrace): fix three SIGSEGV-inducing defects in clearTableOnly/collect (PROF-14889) by @jbachorik in #585
  • feat(fuzz): add GitLab fuzzing infra setup by @edznux-dd in #587
  • feat: native socket I/O tracking via PLT hooks (PROF-10637) by @jbachorik in #488
  • fix: switch container runtime to podman by @kaahos in #588
  • fix(tsan): suppress false-positive race from VA reuse in LinearAllocator by @jbachorik in #593
  • feat(otep) Publish thread context attribute keys at process start by @ivoanjo in #576
  • Fix crash at thread exit by @zhengyu123 in #591
  • feat(sframe): complete SFrame V2 parser — replace stub with full implementation by @jbachorik in #471
  • fix(profiler): name native threads periodically (PROF-15139) by @jbachorik in #601
  • fix(jfr): prevent duplicate method-pool ids (PROF-15130) by @jbachorik in #602
  • fix(chaos): rate-limit tight-loop antagonists to prevent long-run OOM by @jbachorik in #604
  • feat(otep): add batch reapply-by-id-and-bytes context API by @jbachorik in #598
  • Potentially infinite loop and store trace in unowned slot in CallTraceHashTable::putWithExistingId() by @zhengyu123 in #578
  • fix(jfr): skip emitting empty constant pools by @jbachorik in #603

New Contributors

Full Changelog: v_1.44.0...v_1.45.0

v_1.44.0

Choose a tag to compare

@github-actions github-actions released this 02 Jun 14:02
263822e

What's Changed

  • ci: fix release branch pipelines and blocked org actions by @jbachorik in #548
  • ci: replace third-party GH actions with built-in equivalents by @jbachorik in #553
  • fix(profiler): close onThreadEnd teardown race by @jbachorik in #552
  • fix(tsan): clean TSan gtest suite; fix races and RefCountGuard activation window by @jbachorik in #554
  • Fix buffer overrun in livenessTracker.cpp by @zhengyu123 in #555
  • fix(ci): exclude publish-benchmark-gh-pages from schedule pipelines by @jbachorik in #557
  • fix(liveness): release jweak ref when liveness table overflows or realloc fails by @jbachorik in #556
  • fix(tsan): atomic reads in findCallTrace to eliminate data race by @jbachorik in #559
  • ci: fix release branch pipelines and surface version bump PR link by @jbachorik in #551
  • fix(ci): skip tag/branch creation when MINOR tag already exists by @jbachorik in #561
  • fix(ci): force-push bump branch to handle pre-existing remote by @jbachorik in #562
  • [Automated] Bump dev version to 1.44.0 by @jbachorik in #563

Full Changelog: v_1.43.0...v_1.44.0