RFR: Merge jdk-17-ga
Jiangli Zhou
jiangli at openjdk.org
Fri Feb 16 22:00:55 UTC 2024
This is a redo of https://github.com/openjdk/tsan/pull/16 to address the commits issue. Updated description:
Command: $ git merge --no-ff jdk-17-ga
Most manual merge for conflicts are mechanical.
Additional manual updates:
Add #include "memory/resourceArea.hpp" in src/hotspot/share/tsan/tsanOopMap.cpp to resolve compiler error:
tsanOopMap.cpp:351:5: error: use of undeclared identifier 'ResourceMark'; did you mean 'ResourceStack'?
ResourceMark rm;
^~~~~~~~~~~~
ResourceStack
Remove AMD64_ONLY(assert((id_u8 & left_n_bits(17)) == 0, "jmethodID is not aligned");) in classFileParser.cpp. left_n_bits has been removed by https://bugs.openjdk.org/browse/JDK-8178348
Change obj_field_addr_raw<oop>() to field_addr() in java_lang_Class::init_lock_addr in javaClasses.cpp.
Remove ShenandoahTSANWeakRoot::ShenandoahTSANWeakRoot as ShenandoahWeakSerialRoot is removed in shenandoahRootProcessor.cpp.
Remove JVMWrapper calls in tsan related functions in jvm.cpp. The macro has been removed.
Change to use current for JRT_ENTRY(void, SharedRuntime::tsan_interp_method_entry(JavaThread* thread)) as JRT_ENTRY macro expects current, sharedRuntime.cpp.
Change THREAD to current in synchronizer.cpp.
Tested by running hotspot/jtreg/tsan locally:
$ bash configure --with-boot-jdk=/usr/local/google/home/jianglizhou/openjdk/jdk-17.0.10 --with-debug-level=release --disable-warnings-as-errors --with-jtreg=/usr/local/google/home/jianglizhou/github/jtreg/build/images/jtreg --with-stdc++lib=static --disable-precompiled-headers --enable-unlimited-crypto --with-native-debug-symbols=internal --with-default-make-target=jdk-image --disable-warnings-as-errors --with-toolchain-type=clang --with-toolchain-path=/usr/local/google/home/jianglizhou/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04 --disable-warnings-as-errors
$ make test TEST=hotspot/jtreg/tsan
New runs found more random failures in addition to tsan/NonRacySyncBlockExceptionLoopTest.java. The failed tests appear to be inconsistent, but tsan/NonRacyGarbageCollectionLoopTest.java is more consistently failing.
Also built and tested using Clang/LLVM 16.0.6. It appears to be working with jdk-17-ga merge.
-------------
Commit messages:
- Merge tag 'jdk-17-ga' into 17-merge
- 8270872: Final nroff manpage update for JDK 17
- 8271588: JFR Recorder Thread crashed with SIGSEGV in write_klass
- 8271863: ProblemList serviceability/sa/TestJmapCore.java on linux-x64 with ZGC
- 8271894: ProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK17
- 8271877: ProblemList jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java in JDK17
- 8271064: ZGC several jvm08 perf regressions after JDK-8268372
- 8067223: [TESTBUG] Rename Whitebox API package
- 8271150: Remove EA from JDK 17 version string starting with Initial RC promotion on Aug 5, 2021(B34)
- 8271272: C2: assert(!had_error) failed: bad dominance
- ... and 5180 more: https://git.openjdk.org/tsan/compare/8fe80f4e...b21ad21d
The webrevs contain the adjustments done while merging with regards to each parent branch:
- tsan: https://webrevs.openjdk.org/?repo=tsan&pr=17&range=00.0
- jdk-17-ga: https://webrevs.openjdk.org/?repo=tsan&pr=17&range=00.1
Changes: https://git.openjdk.org/tsan/pull/17/files
Stats: 2477284 lines in 22798 files changed: 1467490 ins; 880336 del; 129458 mod
Patch: https://git.openjdk.org/tsan/pull/17.diff
Fetch: git fetch https://git.openjdk.org/tsan.git pull/17/head:pull/17
PR: https://git.openjdk.org/tsan/pull/17
More information about the tsan-dev
mailing list