RFR(S): 8239915: Zero VM crashes when handling dynamic constant

David Holmes david.holmes at oracle.com
Wed Feb 26 05:58:34 UTC 2020


Hi Felix,

On 26/02/2020 12:18 pm, Yangfei (Felix) wrote:
> Hi,
> 
> Please help review this patch fixing a zero vm crash issue.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8239915
> Webrev: http://cr.openjdk.java.net/~fyang/8239915/webrev.00/
> 
> The dynamic constant is not resolved at [1] and this leads to the crash.
> Patch fixes the issue by always resolving the dynamic constant at the site.
> This aligns with the template interpreter (TemplateTable::condy_helper).

Not familiar with this code but I don't understand the failure mode. If 
we haven't cached the resolution result we will get NULL and re-resolve 
it. If we have cached it then it should be correct. Either way no crash, 
and I certainly don't see how we end up at:

2406           default:  ShouldNotReachHere();

??

> Tier1 tested with x86-64 zero release build.
> Newly added test case fails without this fix and passes with this fix.

Note that for the tests the source directory structure does not 
generally indicate a package structure, so no need to put the test 
classes into a package unless it is actually required for the test to 
pass. (And even then no need for the package used to map to the test 
directory structure.)

Thanks,
David

> [1] http://hg.openjdk.java.net/jdk/jdk/file/ff1f4b5e0c9a/src/hotspot/share/interpreter/bytecodeInterpreter.cpp#2394
> 


More information about the hotspot-runtime-dev mailing list