RFR(S): 8154151: VM crashes with assert "Ensure we don't compile before compilebroker init"

Tobias Hartmann tobias.hartmann at oracle.com
Fri Apr 15 11:24:10 UTC 2016

Hi Nils,

On 15.04.2016 13:22, Nils Eliasson wrote:
> Hi Tobias,
> Thanks for your feedback!
> New webrev: http://cr.openjdk.java.net/~neliasso/8154151/webrev.03

Looks good!

Best regards,

> Regards,
> Nils
> On 2016-04-15 13:15, Tobias Hartmann wrote:
>> Hi Nils,
>> On 15.04.2016 11:39, Nils Eliasson wrote:
>>> Thanks Vladimir!
>>> On 2016-04-15 01:41, Vladimir Kozlov wrote:
>>>> I agree with this simple change as the fix.
>>>> Note, -Xcomp does not switch off Interpreter (we can run without Interpreter). We use !UseInterpreter as indication if Xcomp was used.
>>>> I don't see a PIT link in the bug report.
>>> There was none, Tobias found this regression testing something else.
>>> Now I have added a regression test: hotspot/test/compiler/startup/TieredStopAtLevel0SanityTest.java
>>> Webrev: http://cr.openjdk.java.net/~neliasso/8154151/webrev.02/
>> Please set the test copyright date to 2016. I would maybe also change the test summary to what you wrote in line 30 ("Sanity test flag combo..") because this has nothing to do without support for blocking compiles.
>> Otherwise looks good to me.
>> Best regards,
>> Tobias
>>> Regards,
>>> Nils
>>>> Thanks,
>>>> Vladimir
>>>> On 4/14/16 6:17 AM, Nils Eliasson wrote:
>>>>> Hi,
>>>>> Please review this fix.
>>>>> Summary:
>>>>> In JDK-8150646 I added an assert in compile_method that the compiler must not be NULL. Before there was a return there that just ignored the compile.
>>>>> Running the VM with the flag combination -Xcomp and -XX:TieredStopAtLevel=0 creates a special situation: UseInterpreter is set to false (but the interpreter it is still available) and then some
>>>>> essential methods are forced to be compiled, but the initial complevel becomes 0 and hits the assert in compileBroker.
>>>>> Solution:
>>>>> We could discuss if it should be allowed to submit compiles on level 0, a change that would become a bit larger. This time I choose to extend the _initalized check in compile_method. I didn't add any
>>>>> logging or warning because this is really a corner case.
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8154151
>>>>> Webrev: http://cr.openjdk.java.net/~neliasso/8154151/webrev.01/
>>>>> (Ignore the extra tags in the webrev)
>>>>> Best regards,
>>>>> Nils Eliasson

More information about the hotspot-compiler-dev mailing list