From d6f8398fa2774d0e8eb6ab29b40b6ef0b16ba133 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 15 May 2021 16:45:59 +0200 Subject: 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 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 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(+) create mode 100644 java/openjdk12/files/patch-commit-34ae46e2bca create mode 100644 java/openjdk12/files/patch-commit-c484d890428 (limited to 'java/openjdk12') 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 +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 +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(); + } + -- cgit v1.2.3