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

Release VM is broken with GCC 9 after 8214237



    • Bug
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • 17
    • 17
    • hotspot
    • gc
    • b22
    • x86_64
    • linux


      Possible bug...

      In some circumstances (local build) tip of master fails after
      "8214237: Join parallel phases post evacuation" was merged. Reverting the change results in build working again. In one other case they were unable to reproduce and githubactions build completes.

      Error output:
      make: *** [/home/mgkwill/src/git/jdk/make/Init.gmk:186: test] Error 2
      [mgkwill@mgkwill-desk jdk]$ make CONF=linux-x86_64-server-release Building target 'default (exploded-image)' in configuration 'linux-x86_64-server-release'
      In member function 'void G1GCPhaseTimes::log_phase(WorkerDataArray<double>*, uint, outputStream*, bool) const',
          inlined from 'void G1GCPhaseTimes::trace_phase(WorkerDataArray<double>*, bool, uint) const' at /home/mgkwill/src/git/jdk/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp:355:14:
      /home/mgkwill/src/git/jdk/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp:335:17: error: '%s' directive argument is null [-Werror=format-overflow=]
        335 | out->print("%s", indent(indent_level + 1));
            | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'void G1GCPhaseTimes::details(T*, const char*) const [with T = WorkerDataArray<long unsigned int>]',
          inlined from 'void G1GCPhaseTimes::log_phase(WorkerDataArray<double>*, uint, outputStream*, bool) const' at /home/mgkwill/src/git/jdk/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp:337:14,
          inlined from 'void G1GCPhaseTimes::trace_phase(WorkerDataArray<double>*, bool, uint) const' at /home/mgkwill/src/git/jdk/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp:355:14:
      /home/mgkwill/src/git/jdk/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp:322:13: error: '%s' directive argument is null [-Werror=format-overflow=]
        322 | ls.print("%s", indent_str);
            | ~~~~~~~~^~~~~~~~~~~~~~~~~~
      cc1plus: all warnings being treated as errors
      gmake[3]: *** [lib/CompileJvm.gmk:143: /home/mgkwill/src/git/jdk/build/linux-x86_64-server-release/hotspot/variant-server/libjvm/objs/g1GCPhaseTimes.o] Error 1
      gmake[3]: *** Waiting for unfinished jobs....
      gmake[2]: *** [make/Main.gmk:255: hotspot-server-libs] Error 2

      'make clean' & 'make' did not fix build.
      git cloning a clean copy, configure & 'make' did not fix build.

      However reverting the patch from 8214237 allows build to complete.
      'git revert 14f0afe8118092be530aac0c4cc5d1d5d4fe982a'

      A new configuration has been successfully created in
      using configure arguments '--with-boot-jdk=/home/mgkwill/src/jdk/jdk-16.0.1 --with-jtreg=/home/mgkwill/tmp/jtreg --with-gtest=/home/mgkwill/tmp/googletest --with-jmh=build/jmh/jars'.

      Configuration summary:
      * Name: linux-x86_64-server-release
      * Debug level: release
      * HS debug level: product
      * JVM variants: server
      * JVM features: server: 'cds compiler1 compiler2 dtrace epsilongc g1gc jfr jni-check jvmci jvmti management nmt parallelgc serialgc services shenandoahgc vm-structs zgc'
      * OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
      * Version string: 17-internal+0-adhoc.mgkwill.jdk-test (17-internal)

      Tools summary:
      * Boot JDK: openjdk version "16.0.1" 2021-04-20 OpenJDK Runtime Environment (build 16.0.1+9-24) OpenJDK 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing) (at /home/mgkwill/src/jdk/jdk-16.0.1)
      * Toolchain: gcc (GNU Compiler Collection)
      * C Compiler: Version 9.3.1 (at /usr/bin/gcc)
      * C++ Compiler: Version 9.3.1 (at /usr/bin/g++)

      Build performance summary:
      * Cores to use: 4
      * Memory limit: 128754 MB


        Issue Links



              jiefu Jie Fu
              mgkwill Marcus Williams
              0 Vote for this issue
              6 Start watching this issue