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

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Aug 14 13:21:33 UTC 2020


On 2020-08-14 14:49, Erik Joelsson wrote:
> 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.
Good point.  I insist though that, had we had ExecuteWithLog, the error 
message to stderr would have been easier for me to track, when we didn't 
pipe stderr. :-)

However, ExecuteWithLog does other things than logging the output. It 
also stored the command line for easy reproducability. My intention is 
to long-term convert all external execution to using ExecuteWithLog (or 
some form thereof).

So if you don't mind, I'd still like to keep it.

/Magnus


>
> /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