That looks better, thanks!
/Erik
On 2015-09-03 09:48, Magnus Ihse Bursie wrote:
On 2015-09-01 11:58, Erik Joelsson wrote:
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.
I didn't think it was possible due to the pecularities of the Windows
call, but it turned out I was wrong. :) Thanks for making me try
harder converting this into a sane API. :)
New webrev:
http://cr.openjdk.java.net/~ihse/JDK-8062618-failure-summary/webrev.02
/Magnus
/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