Bug 255901 - java/openjdk12: Fix possible segfaults with clang 12
Summary: java/openjdk12: Fix possible segfaults with clang 12
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-java (Nobody)
URL:
Keywords:
Depends on:
Blocks: 255570
  Show dependency treegraph
 
Reported: 2021-05-15 14:02 UTC by Dimitry Andric
Modified: 2021-05-29 14:15 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (java)


Attachments
Fix java/openjdk12 build with clang 12 (1.98 KB, patch)
2021-05-15 14:02 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer 2021-05-15 14:02:51 UTC
Created attachment 224967 [details]
Fix java/openjdk12 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 [1]:

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 commits [2] and [3]:

commit c484d8904285652246c3af212a4211b9a8955149
Author: Thomas Stuefe <stuefe@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@openjdk.org>
Date:   Thu Mar 19 14:53:57 2020 +0000

    8241296: Segfault in JNIHandleBlock::oops_do()

    Reviewed-by: stefank

I have attached a patch that adds these commits as additional patches.

[1] http://package22.nyi.freebsd.org/data/mainamd64PR255570-default/2021-05-08_16h02m24s/logs/openjdk12-12.0.2+10.4_3.log
[2] https://github.com/openjdk/jdk/commit/c484d8904285652246c3af212a4211b9a8955149
[3] https://github.com/openjdk/jdk/commit/34ae46e2bca691f989d4d84129baf545ff8a7469
Comment 1 Dimitry Andric freebsd_committer 2021-05-23 19:02:09 UTC
Could we please expedite this patch? As it is required to unblock quite a few dependencies for the exp-run in bug 255570.
Comment 2 commit-hook freebsd_committer 2021-05-29 14:09:42 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d6f8398fa2774d0e8eb6ab29b40b6ef0b16ba133

commit d6f8398fa2774d0e8eb6ab29b40b6ef0b16ba133
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-05-15 14:45:59 +0000
Commit:     Dimitry Andric <dim@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@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@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

 .../openjdk12/files/patch-commit-34ae46e2bca (new) | 23 ++++++++++++++++++++++
 .../openjdk12/files/patch-commit-c484d890428 (new) | 23 ++++++++++++++++++++++
 2 files changed, 46 insertions(+)