Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8255620

Build race between modulegraphs and exploded-image-optimize targets

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 16
    • Fix Version/s: 16
    • Component/s: infrastructure
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b23

      Description

      When I reorganized top level docs build targets in JDK-8206311, a race was introduced. The docs-*-modulegraph targets use the BUILD_JDK to run a build tool. For this to work, the BUILD_JDK needs to be ready for usage. In a normal native build, this means that the exploded-image-optimize target needs to be done. This dependency is however missing, so we sometimes get errors like this:

      * For target support_docs_JDK_API-gengraphs__gengraphs_JDK_API_exec:
      Error occurred during initialization of boot layer
      java.lang.module.FindException: Error reading module: /w/jdk/build/jdk/modules/jdk.security.jgss
      Caused by: java.lang.module.InvalidModuleDescriptorException: Truncated module-info.class

      To fix this, I propose adding a new top level target "runnable-buildjdk". This new target will do different things depending which kind of BUILD_JDK the current configuration is set to use. The default BUILD_JDK is just the exploded image. When cross compiling, we either create a BUILD_JDK explicitly, or we use an externally provided BUILD_JDK. By introducing this virtual target, we don't need to sprinkle these conditionals in quite so many places.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              erikj Erik Joelsson
              Reporter:
              erikj Erik Joelsson
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: