RFR: JDK-8251541 "no symbols" printed when building hotspot

Erik Joelsson erik.joelsson at oracle.com
Fri Aug 14 12:49:03 UTC 2020


On 2020-08-13 08:26, Magnus Ihse Bursie wrote:
> Recently a lot of "no symbols" is shown when building hotspot, at 
> least on macOS.
>
> This comes from the new/delete operator check which uses nm.
>
> I have checked the source of these problems. Several files are now 
> empty due to refactoring and the use of (incidentally) file-wide 
> #ifdefs. So we just need to handle the fact that nm can write "no 
> symbols" to stderr.
>
> I also refactored the operator checking to use ExecuteWithLog, which 
> would have helped me track down this issue, had it been there from the 
> beginning. :)
>
I'm not sure how ExecuteWithLog helps. In your version of this recipe, 
both stdout and stderr are piped together into the greps and then stored 
in $1.op_check, which happens to be the same file ExecuteWithLog is 
piping output to, so there are two sets of pipes to this file. To me 
this looks like any output on stderr is will just get filtered out and 
the pipes ExecuteWithLog adds will never do anything.

/Erik

> I have verified that this solves the bug. I have also for testing 
> introduced a incorrect use of "new" and verified that this still trigger.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8251541
> WebRev: 
> http://cr.openjdk.java.net/~ihse/JDK-8251541-stop-printing-no-symbol/webrev.01
>
> /Magnus



More information about the build-dev mailing list