From manc at google.com Fri Mar 1 01:13:27 2024 From: manc at google.com (Man Cao) Date: Thu, 29 Feb 2024 17:13:27 -0800 Subject: CFV: New Tsan Committer: Jiangli Zhou Message-ID: I hereby nominate Jiangli Zhou (OpenJDK id: jiangli) to Committer role in Project Tsan. Jiangli is a well-versed OpenJDK contributor and has deep contributions to various OpenJDK projects. Jiangli will help bring the Tsan project up-to-date, so Tsan will work for JDK 21 and beyond. She has already rebased TSAN to JDK 17: https://github.com/openjdk/tsan/pull/17. Votes are due by March 6, 2024. Only current Tsan Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. Best, Man Cao [1] https://openjdk.org/census#tsan [2] https://openjdk.org/projects/#committer-vote -------------- next part -------------- An HTML attachment was scrubbed... URL: From cushon at google.com Fri Mar 1 02:43:19 2024 From: cushon at google.com (Liam Miller-Cushon) Date: Thu, 29 Feb 2024 18:43:19 -0800 Subject: CFV: New Tsan Committer: Jiangli Zhou In-Reply-To: References: Message-ID: Vote: yes On Thu, Feb 29, 2024 at 5:14?PM Man Cao wrote: > I hereby nominate Jiangli Zhou (OpenJDK id: jiangli) to Committer role in > Project Tsan. > > Jiangli is a well-versed OpenJDK contributor and has deep contributions to > various OpenJDK projects. > Jiangli will help bring the Tsan project up-to-date, so Tsan will work for > JDK 21 and beyond. She has already rebased TSAN to JDK 17: > https://github.com/openjdk/tsan/pull/17. > > Votes are due by March 6, 2024. > > Only current Tsan Committers [1] are eligible to vote on this nomination. > Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > Best, > Man Cao > > [1] https://openjdk.org/census#tsan > [2] https://openjdk.org/projects/#committer-vote > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jcbeyler at google.com Fri Mar 1 14:15:42 2024 From: jcbeyler at google.com (Jean Christophe Beyler) Date: Fri, 1 Mar 2024 09:15:42 -0500 Subject: CFV: New Tsan Committer: Jiangli Zhou In-Reply-To: References: Message-ID: Vote: yes On Thu, Feb 29, 2024 at 9:44?PM Liam Miller-Cushon wrote: > Vote: yes > > On Thu, Feb 29, 2024 at 5:14?PM Man Cao wrote: > >> I hereby nominate Jiangli Zhou (OpenJDK id: jiangli) to Committer role in >> Project Tsan. >> >> Jiangli is a well-versed OpenJDK contributor and has deep contributions >> to various OpenJDK projects. >> Jiangli will help bring the Tsan project up-to-date, so Tsan will work >> for JDK 21 and beyond. She has already rebased TSAN to JDK 17: >> https://github.com/openjdk/tsan/pull/17. >> >> Votes are due by March 6, 2024. >> >> Only current Tsan Committers [1] are eligible to vote on this nomination. >> Votes must be cast in the open by replying to this mailing list. >> >> For Lazy Consensus voting instructions, see [2]. >> >> Best, >> Man Cao >> >> [1] https://openjdk.org/census#tsan >> [2] https://openjdk.org/projects/#committer-vote >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From rasbold at google.com Sat Mar 2 02:19:20 2024 From: rasbold at google.com (Chuck Rasbold) Date: Fri, 1 Mar 2024 18:19:20 -0800 Subject: CFV: New Tsan Committer: Jiangli Zhou In-Reply-To: References: Message-ID: Vote: yes On Thu, Feb 29, 2024 at 5:14?PM Man Cao wrote: > I hereby nominate Jiangli Zhou (OpenJDK id: jiangli) to Committer role in > Project Tsan. > > Jiangli is a well-versed OpenJDK contributor and has deep contributions to > various OpenJDK projects. > Jiangli will help bring the Tsan project up-to-date, so Tsan will work for > JDK 21 and beyond. She has already rebased TSAN to JDK 17: > https://github.com/openjdk/tsan/pull/17. > > Votes are due by March 6, 2024. > > Only current Tsan Committers [1] are eligible to vote on this nomination. > Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > Best, > Man Cao > > [1] https://openjdk.org/census#tsan > [2] https://openjdk.org/projects/#committer-vote > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From manc at google.com Fri Mar 8 08:06:10 2024 From: manc at google.com (Man Cao) Date: Fri, 8 Mar 2024 00:06:10 -0800 Subject: Result: New Tsan Committer: Jiangli Zhou Message-ID: Voting for Jiangli Zhou [1] is now closed. Yes: 4 (including myself) Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Man Cao [1] https://mail.openjdk.org/pipermail/tsan-dev/2024-March/000469.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From jiangli at openjdk.org Mon Mar 11 19:38:00 2024 From: jiangli at openjdk.org (Jiangli Zhou) Date: Mon, 11 Mar 2024 19:38:00 GMT Subject: RFR: Merge jdk-17-ga [v2] In-Reply-To: References: Message-ID: <7zQdiUugENStgN4eI2Gvd68FiEhottNTZiy7npoIP9U=.6fdd382d-df96-4f79-8858-7c67f76321ed@github.com> > 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() 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. > > Updated test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c to merge JDK-8272472 change to avoid build failure for testing. > > 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 > > Tsan is not fully functional with jdk-17 merge. 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. The test failures most likely is because there is no longer serial iterator for the TsanOopMap. > > Also built and tested using Clang/LLVM 16.0.6. It appears to be working with jdk-17-ga merge. Jiangli Zhou has updated the pull request incrementally with one additional commit since the last revision: Update to address manc@'s review comments. ------------- Changes: - all: https://git.openjdk.org/tsan/pull/17/files - new: https://git.openjdk.org/tsan/pull/17/files/b21ad21d..efc1f52d Webrevs: - full: Webrev is not available because diff is too large - incr: https://webrevs.openjdk.org/?repo=tsan&pr=17&range=00-01 Stats: 91 lines in 7 files changed: 1 ins; 86 del; 4 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 From manc at openjdk.org Mon Mar 11 19:38:00 2024 From: manc at openjdk.org (Man Cao) Date: Mon, 11 Mar 2024 19:38:00 GMT Subject: RFR: Merge jdk-17-ga [v2] In-Reply-To: <7zQdiUugENStgN4eI2Gvd68FiEhottNTZiy7npoIP9U=.6fdd382d-df96-4f79-8858-7c67f76321ed@github.com> References: <7zQdiUugENStgN4eI2Gvd68FiEhottNTZiy7npoIP9U=.6fdd382d-df96-4f79-8858-7c67f76321ed@github.com> Message-ID: On Mon, 11 Mar 2024 19:33:56 GMT, Jiangli Zhou wrote: >> 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() 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. >> >> Updated test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c to merge JDK-8272472 change to avoid build failure for testing. >> >> 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 >> >> Tsan is not fully functional with jdk-17 merge. 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. The test failures most likely is because there is no longer serial iterator for the TsanOopMap. >> >> Also built and tested using Clang/LLVM 16.0.6. It appears to be working with jdk... > > Jiangli Zhou has updated the pull request incrementally with one additional commit since the last revision: > > Update to address manc@'s review comments. Marked as reviewed by manc (Reviewer). ------------- PR Review: https://git.openjdk.org/tsan/pull/17#pullrequestreview-1907662069 From manc at openjdk.org Mon Mar 11 19:38:00 2024 From: manc at openjdk.org (Man Cao) Date: Mon, 11 Mar 2024 19:38:00 GMT Subject: RFR: Merge jdk-17-ga In-Reply-To: References: Message-ID: On Fri, 16 Feb 2024 21:43:43 GMT, Jiangli Zhou wrote: > 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() 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. > > Updated test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c to merge JDK-8272472 change to avoid build failure for testing. > > 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 > > Tsan is not fully functional with jdk-17 merge. 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. The test failures most likely is because there is no longer serial iterator for the TsanOopMap. > > Also built and tested using Clang/LLVM 16.0.6. It appears to be working with jdk-17-ga merge. Looks good, thank you! ------------- PR Comment: https://git.openjdk.org/tsan/pull/17#issuecomment-1970109050 From jiangli at openjdk.org Mon Mar 11 19:38:00 2024 From: jiangli at openjdk.org (Jiangli Zhou) Date: Mon, 11 Mar 2024 19:38:00 GMT Subject: RFR: Merge jdk-17-ga In-Reply-To: References: Message-ID: On Fri, 16 Feb 2024 21:43:43 GMT, Jiangli Zhou wrote: > 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() 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. > > Updated test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c to merge JDK-8272472 change to avoid build failure for testing. > > 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 > > Tsan is not fully functional with jdk-17 merge. 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. The test failures most likely is because there is no longer serial iterator for the TsanOopMap. > > Also built and tested using Clang/LLVM 16.0.6. It appears to be working with jdk-17-ga merge. Thanks for the careful review! > Agree that it is better to adapt TsanOopMap in a separate PR. Another reference is https://bugs.openjdk.org/browse/JDK-8235573, which moved `JFR::weak_oops_do` to use OopStorage and support concurrent processing. > > Could you update the description to mention that after this merge, TSAN is not yet fully working? This is because `TsanOopMap::weak_oops_do()` is not called anywhere, so TSAN fails to keep track of objects moved by GC. Done. > > A few comments: > > 1. In .jcheck/conf, could we use JDK 17's lines for `error=` and `files=`? Applied. > 2. In src/hotspot/share/classfile/systemDictionary.cpp, line `assert(calledholdinglock,"must hold lock for notify");` seems an accidental removal of space. Added space. The line without space was from the jdk-15 version. > 3. The changes to shenandoahPhaseTimings.hpp, shenandoahRootProcessor.hpp/cpp look unnecessary. It seems to revive removed classes `ShenandoahSerialRoot`, `ShenandoahWeakSerialRoot`, `ShenandoahSerialWeakRoots`, etc, I think we can drop these changes to shenandoah files similarly to dropping the TSAN changes to weakProcessorPhases.cpp and weakProcessorPhases.hpp. They are all related to `TsanOopMap`, and the TSAN-touched Shenandoah classes no longer exist in JDK 17. Removed. > 4. In src/hotspot/share/runtime/globals.hpp, there is a missing empty line between the `ThreadSanitizerIgnoreFile` flag and the later `VerifyCrossModifyFence` flag. Added empty line. > 5. In src/hotspot/share/runtime/synchronizer.cpp for `ObjectSynchronizer::wait()`, the change to `DTRACE_MONITOR_WAIT_PROBE` line seems unnecessary. Changed `THREAD` to `current` (current is set to THREAD). `THREAD` was from the jdk-15 version. > 6. The change to test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c seems a backport of https://bugs.openjdk.org/browse/JDK-8272472. Perhaps mention this in description? Done. ------------- PR Comment: https://git.openjdk.org/tsan/pull/17#issuecomment-1970108782 From zsong at openjdk.org Mon Mar 11 19:38:00 2024 From: zsong at openjdk.org (Zhao Song) Date: Mon, 11 Mar 2024 19:38:00 GMT Subject: RFR: Merge jdk-17-ga In-Reply-To: References: Message-ID: On Thu, 29 Feb 2024 00:38:17 GMT, Jiangli Zhou wrote: >> Looks good, thank you! > > @caoman Can you please try sponsor? Looks like that might be needed as I'm not a committer for tsan project. Thanks > >> As you do not have [Committer](https://openjdk.org/bylaws#committer) status in [this project](https://openjdk.org/census#tsan) an existing Committer must agree to [sponsor](https://openjdk.org/sponsor/) your change. Hi @jianglizhou , could you please issue /integrate again? ------------- PR Comment: https://git.openjdk.org/tsan/pull/17#issuecomment-1971957281 From jiangli at openjdk.org Mon Mar 11 19:38:00 2024 From: jiangli at openjdk.org (Jiangli Zhou) Date: Mon, 11 Mar 2024 19:38:00 GMT Subject: RFR: Merge jdk-17-ga In-Reply-To: References: Message-ID: On Wed, 28 Feb 2024 23:49:01 GMT, Man Cao wrote: >> 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() 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. >> >> Updated test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c to merge JDK-8272472 change to avoid build failure for testing. >> >> 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 >> >> Tsan is not fully functional with jdk-17 merge. 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. The test failures most likely is because there is no longer serial iterator for the TsanOopMap. >> >> Also built and tested using Clang/LLVM 16.0.6. It appears to be working with jdk... > > Looks good, thank you! @caoman Can you please try sponsor? Looks like that might be needed as I'm not a committer for tsan project. Thanks > As you do not have [Committer](https://openjdk.org/bylaws#committer) status in [this project](https://openjdk.org/census#tsan) an existing Committer must agree to [sponsor](https://openjdk.org/sponsor/) your change. ------------- PR Comment: https://git.openjdk.org/tsan/pull/17#issuecomment-1970170143 From manc at openjdk.org Mon Mar 11 19:38:00 2024 From: manc at openjdk.org (Man Cao) Date: Mon, 11 Mar 2024 19:38:00 GMT Subject: RFR: Merge jdk-17-ga In-Reply-To: References: Message-ID: On Thu, 29 Feb 2024 21:03:10 GMT, Zhao Song wrote: >> @caoman Can you please try sponsor? Looks like that might be needed as I'm not a committer for tsan project. Thanks >> >>> As you do not have [Committer](https://openjdk.org/bylaws#committer) status in [this project](https://openjdk.org/census#tsan) an existing Committer must agree to [sponsor](https://openjdk.org/sponsor/) your change. > > Hi @jianglizhou , could you please issue /integrate again? Thank you @zhaosongzs, this was integrated successfully. ------------- PR Comment: https://git.openjdk.org/tsan/pull/17#issuecomment-1972010082 From jiangli at openjdk.org Mon Mar 11 19:38:01 2024 From: jiangli at openjdk.org (Jiangli Zhou) Date: Mon, 11 Mar 2024 19:38:01 GMT Subject: RFR: Merge jdk-17-ga In-Reply-To: References: Message-ID: On Thu, 29 Feb 2024 21:03:10 GMT, Zhao Song wrote: >> @caoman Can you please try sponsor? Looks like that might be needed as I'm not a committer for tsan project. Thanks >> >>> As you do not have [Committer](https://openjdk.org/bylaws#committer) status in [this project](https://openjdk.org/census#tsan) an existing Committer must agree to [sponsor](https://openjdk.org/sponsor/) your change. > > Hi @jianglizhou , could you please issue /integrate again? Thank you, @zhaosongzs! ------------- PR Comment: https://git.openjdk.org/tsan/pull/17#issuecomment-1972379382 From zsong at openjdk.org Mon Mar 11 19:38:01 2024 From: zsong at openjdk.org (Zhao Song) Date: Mon, 11 Mar 2024 19:38:01 GMT Subject: RFR: Merge jdk-17-ga In-Reply-To: References: Message-ID: On Fri, 16 Feb 2024 21:43:43 GMT, Jiangli Zhou wrote: > 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() 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. > > Updated test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c to merge JDK-8272472 change to avoid build failure for testing. > > 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 > > Tsan is not fully functional with jdk-17 merge. 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. The test failures most likely is because there is no longer serial iterator for the TsanOopMap. > > Also built and tested using Clang/LLVM 16.0.6. It appears to be working with jdk-17-ga merge. To test SKARA-2190, I am adding this comment to update this pull request. This comment can be safely ignored. ------------- PR Comment: https://git.openjdk.org/tsan/pull/17#issuecomment-1989278214 From jiangli at openjdk.org Mon Mar 11 19:38:05 2024 From: jiangli at openjdk.org (Jiangli Zhou) Date: Mon, 11 Mar 2024 19:38:05 GMT Subject: Integrated: Merge jdk-17-ga In-Reply-To: References: Message-ID: On Fri, 16 Feb 2024 21:43:43 GMT, Jiangli Zhou wrote: > 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() 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. > > Updated test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c to merge JDK-8272472 change to avoid build failure for testing. > > 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 > > Tsan is not fully functional with jdk-17 merge. 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. The test failures most likely is because there is no longer serial iterator for the TsanOopMap. > > Also built and tested using Clang/LLVM 16.0.6. It appears to be working with jdk-17-ga merge. This pull request has now been integrated. Changeset: 83feada7 Author: Jiangli Zhou Committer: Man Cao URL: https://git.openjdk.org/tsan/commit/83feada732caa469d12a144ada784b96abb36257 Stats: 2477374 lines in 22798 files changed: 1467490 ins; 880421 del; 129463 mod Merge Reviewed-by: manc ------------- PR: https://git.openjdk.org/tsan/pull/17