To me that sounds like GHA are miss-configured for the update releases. To work around this, perhaps we should set an explicit '--release N-1' argument when building source intended to run on the bootjdk. It looks like we currently set '-source N-1 -target N-1' but that isn't enough as it won't change the available JDK APIs to link to.

/Erik

On 8/7/24 6:13 AM, Baesken, Matthias wrote:

Hi Erik,  thanks for the clarification.

Unfortunately we do not see  this in GHA ,  so backports look  nice and ‘green’ there .

And some people with strict version requirements in the company most likely have a problem with an old / unpatched JDK20  .

Best regards, Matthias

*From:*Erik Joelsson <erik.joels...@oracle.com>
*Sent:* Wednesday, 7 August 2024 13:58
*To:* Baesken, Matthias <matthias.baes...@sap.com>; Magnus Ihse Bursie <magnus.ihse.bur...@oracle.com> *Subject:* Re: jdk21u-dev build issue : 8326332: Unclosed inline tags cause misalignment in summary tables

Hello Matthias,

If you had sent this to build-dev, you would have received an answer much quicker as both Magnus and I were on vacation.

No, you can't use JDK N features in the langtools modules because because those need to be compatible with the official bootjdk which is version JDK N-1. This has been the case since long before I started working on the JDK.

/Erik

On 7/24/24 12:52 AM, Baesken, Matthias wrote:

    Hi,  when building   the backport to 21u-dev

    8326332: Unclosed inline tags cause misalignment in summary tables

    https://github.com/openjdk/jdk21u-dev/pull/866
    
<https://urldefense.com/v3/__https://github.com/openjdk/jdk21u-dev/pull/866__;!!ACWV5N9M2RV99hQ!N6ImKRDmCqe8NMhVHZajZONX-DYbCsHBaMWvQG9P8jGjhveNzlH1ZX1ZtjzkFWHUSB35IB8wb_fY4jsQe_rh1zGFPvw$>

    with a BOOT JDK 20, I run into these build errors :

    (the build works fine when a JDK21 is used as BOOT JDK  ;  in  GHA
    it is also fine because seems we use JDK21 boot JDK there )

    
/open_jdk/jdk21u_dev_2/jdk21u-dev/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java:1156:
    error: cannot find symbol

                            && openTags.getLast().equals(name)) {

                                       ^

      symbol:   method getLast()

      location: variable openTags of type List<Name>

    
/open_jdk/jdk21u_dev_2/jdk21u-dev/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java:1157:
    error: cannot find symbol

                        openTags.removeLast();

                                ^

      symbol:   method removeLast()

      location: variable openTags of type List<Name>

    
/open_jdk/jdk21u_dev_2/jdk21u-dev/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java:1501:
    error: cannot find symbol

    result.add(RawHtml.endElement(openTags.removeLast()));

                         ^

      symbol:   method removeLast()

      location: variable openTags of type List<Name>

    3 errors

    gmake[3]: *** [CompileInterimLangtools.gmk:127:
    
/open_jdk/jdk21u_dev_2/buildfolder/buildtools/interim_langtools_modules/jdk.javadoc.interim/_the.BUILD_jdk.javadoc.interim_batch]
    Error 1

    gmake[2]: *** [make/Main.gmk:78: interim-langtools] Error 2

    We use here functionality of class List  ( getLast() /
    removeLast() ) that was added in jdk21.

    Shouldn't we be able to use this functionality ?

    For backports it would be much easier/ cleaner to have the ability
    of  clean backports without the need to  remove jdk21 functionality .

    Also some people might not even notice those issues , because
     they cannot use old/unpatched/un-secure JDK20  .

    It looks like there might be an issue in the build processso that
    we reference  java.base  from boot jdk20 , or is it done on
    purpose that for CompileInterimLangtools / jdk.javadoc this cannot
    be used) ?

    Best regards, Matthias

Reply via email to