git: d6f8398fa277 - main - java/openjdk12: fix build with clang 12
Dimitry Andric
dim at FreeBSD.org
Sat May 29 14:08:46 UTC 2021
The branch main has been updated by dim (src committer):
URL: https://cgit.FreeBSD.org/ports/commit/?id=d6f8398fa2774d0e8eb6ab29b40b6ef0b16ba133
commit d6f8398fa2774d0e8eb6ab29b40b6ef0b16ba133
Author: Dimitry Andric <dim at FreeBSD.org>
AuthorDate: 2021-05-15 14:45:59 +0000
Commit: Dimitry Andric <dim at FreeBSD.org>
CommitDate: 2021-05-29 14:08:18 +0000
java/openjdk12: fix build with clang 12
During an exp-run for llvm 12 (see bug 255570), it turned out that
java/openjdk11 does not build with clang 12.0.0:
Creating support/demos/image/jfc/J2Ddemo/J2Ddemo.jar
/usr/local/bin/bash: line 5: 49140 Abort trap (core dumped) /wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/interim-image/bin/java -XX:DumpLoadedClassList=/wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/link_opt/classlist.raw -Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true -cp /wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/classlist.jar build.tools.classlist.HelloClasslist > /dev/null 2>&1 > /wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/link_opt/default_jli_trace.txt
gmake[4]: *** [GenerateLinkOptData.gmk:66: /wrkdirs/usr/ports/java/openjdk12/work/openjdk-jdk12u-jdk-12.0.2-10-4/build/bsd-x86_64-server-release/support/link_opt/classlist] Error 134
This is due to missing backports of upstream commits:
commit c484d8904285652246c3af212a4211b9a8955149
Author: Thomas Stuefe <stuefe at openjdk.org>
Date: Tue Mar 16 05:49:01 2021 +0000
8263557: Possible NULL dereference in Arena::destruct_contents()
Reviewed-by: kbarrett, coleenp
commit 34ae46e2bca691f989d4d84129baf545ff8a7469
Author: Andrew Haley <aph at openjdk.org>
Date: Thu Mar 19 14:53:57 2020 +0000
8241296: Segfault in JNIHandleBlock::oops_do()
Reviewed-by: stefank
Approved by: maintainer timeout (2 weeks)
PR: 255901
MFH: 2021Q2
---
java/openjdk12/files/patch-commit-34ae46e2bca | 23 +++++++++++++++++++++++
java/openjdk12/files/patch-commit-c484d890428 | 23 +++++++++++++++++++++++
2 files changed, 46 insertions(+)
diff --git a/java/openjdk12/files/patch-commit-34ae46e2bca b/java/openjdk12/files/patch-commit-34ae46e2bca
new file mode 100644
index 000000000000..3b70042a5487
--- /dev/null
+++ b/java/openjdk12/files/patch-commit-34ae46e2bca
@@ -0,0 +1,23 @@
+commit 34ae46e2bca691f989d4d84129baf545ff8a7469
+Author: Andrew Haley <aph at openjdk.org>
+Date: Thu Mar 19 14:53:57 2020 +0000
+
+ 8241296: Segfault in JNIHandleBlock::oops_do()
+
+ Reviewed-by: stefank
+
+diff --git src/hotspot/share/runtime/thread.cpp src/hotspot/share/runtime/thread.cpp
+index b93e70a0353..b1571f2d594 100644
+--- src/hotspot/share/runtime/thread.cpp
++++ src/hotspot/share/runtime/thread.cpp
+@@ -888,7 +888,9 @@ bool Thread::claim_par_threads_do(uintx claim_token) {
+ }
+
+ void Thread::oops_do(OopClosure* f, CodeBlobClosure* cf) {
+- active_handles()->oops_do(f);
++ if (active_handles() != NULL) {
++ active_handles()->oops_do(f);
++ }
+ // Do oop for ThreadShadow
+ f->do_oop((oop*)&_pending_exception);
+ handle_area()->oops_do(f);
diff --git a/java/openjdk12/files/patch-commit-c484d890428 b/java/openjdk12/files/patch-commit-c484d890428
new file mode 100644
index 000000000000..39ac7a7e8e46
--- /dev/null
+++ b/java/openjdk12/files/patch-commit-c484d890428
@@ -0,0 +1,23 @@
+commit c484d8904285652246c3af212a4211b9a8955149
+Author: Thomas Stuefe <stuefe at openjdk.org>
+Date: Tue Mar 16 05:49:01 2021 +0000
+
+ 8263557: Possible NULL dereference in Arena::destruct_contents()
+
+ Reviewed-by: kbarrett, coleenp
+
+diff --git src/hotspot/share/memory/arena.cpp src/hotspot/share/memory/arena.cpp
+index 8388f68c359..16059bed9be 100644
+--- src/hotspot/share/memory/arena.cpp
++++ src/hotspot/share/memory/arena.cpp
+@@ -310,7 +310,9 @@ void Arena::destruct_contents() {
+ // reset size before chop to avoid a rare racing condition
+ // that can have total arena memory exceed total chunk memory
+ set_size_in_bytes(0);
+- _first->chop();
++ if (_first != NULL) {
++ _first->chop();
++ }
+ reset();
+ }
+
More information about the dev-commits-ports-all
mailing list