8250825: C2 crashes with assert(field != __null) failed: missing field(Internet mail)
jiefu(傅杰)
jiefu at tencent.com
Sat Aug 1 10:09:54 UTC 2020
Thanks Vladimir and Tobias for your review.
Pushed.
Best regards,
Jie
________________________________
From: Vladimir Kozlov <vladimir.kozlov at oracle.com>
Sent: Saturday, August 1, 2020 7:54 AM
To: jiefu(傅杰)
Cc: hotspot compiler
Subject: Re: 8250825: C2 crashes with assert(field != __null) failed: missing field(Internet mail)
Yes, it is good.
Thanks,
Vladimir
On 7/31/20 4:43 PM, jiefu(傅杰) wrote:
> Hi Vladimir K,
>
> The latest version for the test case is here: http://cr.openjdk.java.net/~jiefu/8250825/webrev.02/
> Compared with webrev.01, the changes are:
> - Rename the test to TestMisalignedUnsafeAccess.java
> - Add @summary tag
> - Remove Xbatch
> - Remvoe initUnsafe
>
> Are you still OK with it?
>
> Thanks.
> Best regards,
> Jie
>
> On 2020/8/1, 12:46 AM, "Vladimir Kozlov" <vladimir.kozlov at oracle.com> wrote:
>
> Good.
>
> thanks,
> Vladimir K
>
> On 7/30/20 10:06 PM, jiefu(傅杰) wrote:
> > Hi Vladimir K,
> >
> > Thanks for your review.
> >
> > The test had been extended here:
> > - http://cr.openjdk.java.net/~jiefu/8250825/webrev.01/
> >
> > Before the patch:
> > The unsafe access (put/get) to static field will crash.
> > The unsafe access (put/get) to instance field is fine.
> >
> > After the patch:
> > All is ok.
> >
> > Thanks a lot.
> > Best regards,
> > Jie
> >
> > On 2020/7/31, 2:24 AM, "hotspot-compiler-dev on behalf of Vladimir Kozlov" <hotspot-compiler-dev-retn at openjdk.java.net on behalf of vladimir.kozlov at oracle.com> wrote:
> >
> > Hi Jie
> >
> > Nodes generated by make_unsafe_address() are correct. The issue is that Unsafe API allows to genereate unaligned (to
> > fields) offset with arbitrary type. As result C2 type system can't find corresponding field.
> >
> > Did you tried to do unaligned unsafe access to instance fields?
> > Also try to unsafe set value (Store node). There is code in C2 which checks for narrow stores. Would be interesting how
> > it behave in unsafe case.
> >
> > Please, extend your test.
> >
> > Otherwise fix is good.
> >
> > Thanks,
> > Vladimir K
> >
> > On 7/30/20 6:09 AM, jiefu(傅杰) wrote:
> > > Hi all,
> > >
> > > JBS: https://bugs.openjdk.java.net/browse/JDK-8250825
> > > Webrev: http://cr.openjdk.java.net/~jiefu/8250825/webrev.00/
> > >
> > > When C2 tries to inline an unsafe-access method, it may generate the following pattern in make_unsafe_address:
> > > ConP ConL
> > > \ |
> > > \ |
> > > AddP
> > > Current implementation of TypeOopPtr::TypeOopPtr(...) failed to recognize it as an unsafe operation, which leads to the crash.
> > >
> > > Testing:
> > > - tier1-3 on Linux/x64
> > >
> > > Could you please review it and give me some advice?
> > >
> > > Thanks a lot.
> > > Best regards,
> > > Jie
> > >
> >
> >
> >
>
>
>
More information about the hotspot-compiler-dev
mailing list