RFR: JDK-8204564: Need better error output when GenerateLinkOptData fails
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Jan 30 09:51:54 UTC 2019
On 2019-01-30 02:18, Erik Joelsson wrote:
> Hello,
>
> Some recent build failures reminded me of this issue and increased the
> need to fix it ASAP to be able to diagnose them.
> GenerateLinkOptData.gmk runs a java tool to generate data which is
> later used to optimize the JDK image with jlink. The problem here is
> that the tool needs to print some of that data on stdout, which the
> build captures as one build artifact, and will print some "garbage" on
> stderr if things go well. So currently we just hide all that output
> from the build log. Because of this, if something goes wrong, we won't
> see the error.
>
> This patch tries to capture the stderr output and only print it (along
> with stdout) if the java command fails.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8204564
>
> Webrev: http://cr.openjdk.java.net/~erikj/8204564/webrev.01/
Good idea, but could you please include some more information in the
case of failure? The classlist data generation gets a lot of blame when
the real cause is that the JDK is stillborn.
Something like:
|| ( exitcode=$$? && $(ECHO) "ERROR: Classlist file
generation failed. This is typically a sign that the newly built JDK is
broken, and not of an error in the Classlist generation." && $(ECHO)
"Classlist stderr: " &&
$(CAT) $(LINK_OPT_DIR)/stderr && $(ECHO) "Classlist trace file:" &&
$(CAT) $(JLI_TRACE_FILE) \
&& exit $$exitcode )
but with better line breaks :)
/Magnus
>
> /Erik
>
More information about the build-dev
mailing list