RFR: 8257794: Zero: assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1) failed: wrong on Linux/x86_32

Jie Fu jiefu at openjdk.java.net
Mon Dec 7 12:06:14 UTC 2020


On Mon, 7 Dec 2020 07:56:36 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>>> Hold on a sec, I meant to see why the assert is there, and why it is in that form, and why it is `IA32_ONLY`. It should either be a generic assert (if it is good assert), or removed completely (if it is a superfluous assert). Code history should reveal the answer to that...
>> 
>> The assert seems to be there at the creation of the OpenJDK repo.
>> It was checked in at the second commit:
>> commit 8153779ad32d1e8ddd37ced826c76c7aafc61894
>> Author: J. Duke <duke at openjdk.org>
>> Date:   Sat Dec 1 00:00:00 2007 +0000
>> 
>>     Initial load
>> 
>> I had checked the debug version of jdk8's zero on Linx/x86_32 finding that it crashed due to the same reason.
>> Maybe, the debug version of zero for x86_32 was broken at the very beginning.
>
> All right, this makes more sense to me. @dholmes-ora, could you do us a favor and see why this line: https://github.com/openjdk/jdk/blob/master/src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp#L422
> 
> ...was added? We don't have access to pre-OpenJDK history to get it ourselves.

> _Mailing list message from [David Holmes](mailto:david.holmes at oracle.com) on [hotspot-runtime-dev](mailto:hotspot-runtime-dev at openjdk.java.net):_
> 
> On 7/12/2020 5:59 pm, Aleksey Shipilev wrote:
> 
> > On Mon, 7 Dec 2020 07:38:03 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> > > > Hold on a sec, I meant to see why the assert is there, and why it is in that form, and why it is `IA32_ONLY`. It should either be a generic assert (if it is good assert), or removed completely (if it is a superfluous assert). Code history should reveal the answer to that...
> > > 
> > > 
> > > > Hold on a sec, I meant to see why the assert is there, and why it is in that form, and why it is `IA32_ONLY`. It should either be a generic assert (if it is good assert), or removed completely (if it is a superfluous assert). Code history should reveal the answer to that...
> > > 
> > > 
> > > The assert seems to be there at the creation of the OpenJDK repo.
> > > It was checked in at the second commit:
> > > commit [8153779](https://github.com/openjdk/jdk/commit/8153779ad32d1e8ddd37ced826c76c7aafc61894)
> > > Author: J. Duke <duke at openjdk.org>
> > > Date:   Sat Dec 1 00:00:00 2007 +0000
> > > ```
> > >  Initial load
> > > ```
> > > 
> > > 
> > > I had checked the debug version of jdk8's zero on Linx/x86_32 finding that it crashed due to the same reason.
> > > Maybe, the debug version of zero for x86_32 was broken at the very beginning.
> > 
> > 
> > All right, this makes more sense to me. @dholmes-ora, could you do us a favor and see why this line: https://github.com/openjdk/jdk/blob/master/src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp#L422
> > ...was added? We don't have access to pre-OpenJDK history to get it ourselves.
> 
> It came in as part of:
> 
> https://bugs.openjdk.java.net/browse/JDK-6571248
> 
> but there is no additional information.
> 
> Cheers,
> David

I will have a look.
Thanks.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1637


More information about the hotspot-runtime-dev mailing list