JDK-8160363: assert(discovered->is_oop_or_null()) failed: Expected an oop or NULL for discovered field at 0x0000000000000000

Yasumasa Suenaga yasuenag at gmail.com
Mon Jun 27 15:27:42 UTC 2016


Hi Dmitry,

You can reproduce this crash when building OpenJDK 9 on Fedora 24 x64.
The crash always occurs on jmod process.


Yasumasa


On 2016/06/28 0:22, Dmitry Samersoff wrote:
> Yasumasa,
>
> Do you have a reproducer?
>
> Could you try to compile this unit with
>
> gcc -Wa,-adhln <optimiation flags>
>
> and see what compiler actually generates.
>
> -Dmitry
>
>
>
> On 2016-06-27 18:17, Yasumasa Suenaga wrote:
>> 2016/06/28 0:08 "Dmitry Samersoff" <dmitry.samersoff at oracle.com>:
>>>
>>> Yasumasa,
>>>
>>> Statements below
>>>
>>> return this == NULL ? true : is_oop(ignore_mark_word);
>>>
>>> and
>>>
>>> return (this == NULL) || is_oop(ignore_mark_word);
>>>
>>> looks equivalent for me.
>>
>> Me too.
>> But return this == NULL ? true : is_oop(ignore_mark_word); does not work...
>>
>> Yasumasa
>>
>>> -Dmitry
>>>
>>> On 2016-06-27 17:41, Yasumasa Suenaga wrote:
>>>> Hi all,
>>>>
>>>> This review request relates to JDK-8160310: HotSpot cannot be built with
>>>> GCC 6 .
>>>>
>>>> I encountered VM crash when I compiled OpenJDK 9 with GCC 6
>>>> on Fedora 24 x64.
>>>>
>>>> Address of pointer was expected (0x0), however is_oop_or_null() did not
>>>> work.
>>>> I do not understand why current code did not work, however it works fine
>>>> as below:
>>>>
>>>>   http://cr.openjdk.java.net/~ysuenaga/JDK-8160363/webrev.00/
>>>>
>>>>
>>>> Please discuss about it.
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Yasumasa
>>>>
>>>>
>>>
>>>
>>> --
>>> Dmitry Samersoff
>>> Oracle Java development team, Saint Petersburg, Russia
>>> * I would love to change the world, but they won't give me the sources.
>
>


More information about the hotspot-dev mailing list