RFR(S): 8219642: ciReplay loads wrong data when MethodData size changes

Nils Eliasson nils.eliasson at oracle.com
Fri Mar 8 11:06:42 UTC 2019

A second review, please.



On 2019-02-25 14:16, Nils Eliasson wrote:
> Hi,
> I stumbled upon this problem when trying to 
> reproducehttps://bugs.openjdk.java.net/browse/JDK-8219448on JDK 13. 
> The crash was recorded on a late 12 build, but the issue doesn't 
> reproduce on 13. A bisection revealed that JDK-8210832 
> <https://bugs.openjdk.java.net/browse/JDK-8210832>"Remove sneaky 
> locking in class Monitor" caused the problem, at it doesn't even touch 
> the compilers.
> The problem is that when ciReplay serializes a ciMethodData it will 
> serialize a MethodData as an array preceded by the size.
> But a MethodData contains an inlined Mutex, and its size changed with 
> the removal of sneaky locking.
> This fix adds code for detecting a size change of MethodData, and 
> tries to recover by adding padding or dropping data. Since all non 
> significant serialization data are in the beginning, the padding or 
> dropping of data is done from the start.
> https://bugs.openjdk.java.net/browse/JDK-8219642
> http://cr.openjdk.java.net/~neliasso/8219642/webrev.01/
> Please review,
> Nils Eliasson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20190308/f1e00770/attachment.html>

More information about the hotspot-compiler-dev mailing list