RFR: JDK-8062618 Create a build failure summary at end of build log
Erik Joelsson
erik.joelsson at oracle.com
Tue Sep 1 09:58:16 UTC 2015
Looks ok to me.
Without actually putting too much thought into it so I might be wrong,
but shouldn't it be possible to combine LogFailures and HandleFailure
into one call? The calling convention for using them now is quite
particular.
/Erik
On 2015-08-31 14:59, Magnus Ihse Bursie wrote:
> When building with multiple parallel jobs, it can be hard to track
> down the actual error causing the build to fail.
>
> This patch addresses this in two parts. Firstly, it tries to locate a
> sequence of failing make targets, where the first is the initial
> failing target, which is usually very specific, and repeats these at
> the end of the build. (This will work only on GNU Make 4)
>
> Secondly, if the failure occured during compilation or linking, the
> actual output of the failing compilation/link command is repeated.
> Since the most likely build failure a common developer will encounter
> are compilation or link failures, this will hopefully help to make
> most build errors quick to resolve. (This will unfortunately not work
> for hotspot code until the new Hotspot build system is integrated.)
>
> An example on how this looks:
> ----8<-----
> make4[2]: *** Waiting for unfinished jobs....
>
> ERROR: Build failed for target 'default' in configuration 'make4'
> (exit code 2)
> === Output from failing command(s) repeated here ===
> * For target BUILD_LIBINSTRUMENT_Utilities.c:
> /localhome/hg/jdk9-dev-DOH/jdk/src/java.instrument/share/native/libinstrument/Utilities.c:37:1:
> error: unknown type name ‘intt’
> intt apa2;
> ^
> === End of repeated output ===
> === Make failure sequence repeated here ===
> Lib-java.instrument.gmk:59: recipe for target
> '/localhome/hg/jdk9-dev-DOH/build/make4/support/native/java.instrument/libinstrument/Utilities.o'
> failed
> make/Main.gmk:171: recipe for target 'java.instrument-libs' failed
> === End of repeated output ===
> Hint: Try searching the build log for the name of the first failed
> target.
> Hint: If caused by a warning, try configure --disable-warnings-as-errors.
> ----8<-----
>
> In case no failed targets were found, at least some assistance is
> printed:
> ----8<-----
> make[2]: *** Waiting for unfinished jobs....
>
> ERROR: Build failed for target 'default' in configuration
> 'linux-x86_64-normal-server-release' (exit code 2)
> No indication of failed target found.
> Hint: Try searching the build log for '] Error'.
> Hint: If caused by a warning, try configure --disable-warnings-as-errors.
> ----8<-----
>
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8062618
> WebRev:
> http://cr.openjdk.java.net/~ihse/JDK-8062618-failure-summary/webrev.01
>
> /Magnus
>
More information about the build-dev
mailing list