RFR: 8198564: Multiple crashes on SPARC

David Holmes david.holmes at oracle.com
Fri Feb 23 11:54:35 UTC 2018


Pushed.

Thanks,
David

On 23/02/2018 9:48 PM, Roman Kennke wrote:
> Great!
> Can you or somebody else sponsor to get the patch in today?
> 
> Only added reviewers:
> http://cr.openjdk.java.net/~rkennke/8198564/webrev.04/
> 
> Thank you, Roman
> 
> On Fri, Feb 23, 2018 at 12:32 PM, David Holmes <david.holmes at oracle.com> wrote:
>> Test run successful.
>>
>> David
>>
>> On 23/02/2018 7:38 PM, David Holmes wrote:
>>>
>>> On 23/02/2018 5:35 PM, Roman Kennke wrote:
>>>>
>>>> Hmm, looks like missing include to typeArrayOop.inline.hpp to me.
>>>> Cannot verify, because it builds for me. Can you try the following? It
>>>> also fixes the T_BOOLEAN -> T_SHORT copy+paste mistake from the same
>>>> original patch.
>>>>
>>>> Differential:
>>>> http://cr.openjdk.java.net/~rkennke/8198564/webrev.02.diff/
>>>
>>>
>>> Resubmitting.
>>>
>>> David
>>>
>>>
>>>> Full:
>>>> http://cr.openjdk.java.net/~rkennke/8198564/webrev.02/
>>>>
>>>> Roman
>>>>
>>>>
>>>>
>>>> On Fri, Feb 23, 2018 at 8:06 AM, David Holmes <david.holmes at oracle.com>
>>>> wrote:
>>>>>
>>>>> Testing not at all happy with the gtest:
>>>>>
>>>>> test/hotspot/gtest/oops/test_typeArrayOop.cpp:43: undefined reference to
>>>>> `typeArrayOopDesc::bool_at(int) const'
>>>>>
>>>>> This is linux-x64 but was on on linux-x64-debug. All other platforms
>>>>> failed
>>>>> except Windows.
>>>>>
>>>>> David
>>>>> -----
>>>>>
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/build/linux-x64/hotspot/variant-server/libjvm/gtest/objs/test_typeArrayOop.o:
>>>>> In function `typeArrayOopDesc_bool_at_put_test_vm_Test::TestBody()':
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:43:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:44:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:45:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:46:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:47:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/build/linux-x64/hotspot/variant-server/libjvm/gtest/objs/test_typeArrayOop.o:/scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:48:
>>>>> more undefined references to `typeArrayOopDesc::bool_at(int) const'
>>>>> follow
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/build/linux-x64/hotspot/variant-server/libjvm/gtest/objs/test_typeArrayOop.o:
>>>>> In function `typeArrayOopDesc_bool_at_put_test_vm_Test::TestBody()':
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:52:
>>>>> undefined reference to `typeArrayOopDesc::bool_at_put(int, unsigned
>>>>> char)'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:53:
>>>>> undefined reference to `typeArrayOopDesc::bool_at_put(int, unsigned
>>>>> char)'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:54:
>>>>> undefined reference to `typeArrayOopDesc::bool_at_put(int, unsigned
>>>>> char)'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:55:
>>>>> undefined reference to `typeArrayOopDesc::bool_at_put(int, unsigned
>>>>> char)'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:57:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:58:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:59:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:60:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:61:
>>>>> undefined reference to `typeArrayOopDesc::bool_at(int) const'
>>>>> jib >
>>>>>
>>>>> /scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/build/linux-x64/hotspot/variant-server/libjvm/gtest/objs/test_typeArrayOop.o:/scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/open/test/hotspot/gtest/oops/test_typeArrayOop.cpp:62:
>>>>> more undefined references to `typeArrayOopDesc::bool_at(int) const'
>>>>> follow
>>>>> jib > collect2: error: ld returned 1 exit status
>>>>> jib > make[3]: ***
>>>>>
>>>>> [/scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/build/linux-x64/hotspot/variant-server/libjvm/gtest/libjvm.so]
>>>>> Error 1
>>>>> jib > lib/CompileGtest.gmk:65: recipe for target
>>>>>
>>>>> '/scratch/opt/mach5/mesos/work_dir/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S640/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fae00af9-2147-45bf-864e-34d221d02d20/runs/e790f2be-503e-4692-ac72-e0671344e9e0/workspace/build/linux-x64/hotspot/variant-server/libjvm/gtest/libjvm.so'
>>>>> failed
>>>>>
>>>>>
>>>>> On 23/02/2018 2:31 PM, David Holmes wrote:
>>>>>>
>>>>>>
>>>>>> I'm putting it through same testing as CI - which of course should have
>>>>>> been done before this was pushed.
>>>>>>
>>>>>> Will advise on result.
>>>>>>
>>>>>> David
>>>>>>
>>>>>> On 23/02/2018 8:03 AM, Stefan Karlsson wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 2018-02-22 22:26, Roman Kennke wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> My change to typeArrayOop.hpp
>>>>>>>> (https://bugs.openjdk.java.net/browse/JDK-8197999) seems to have
>>>>>>>> caused some regressions, esp. on SPARC. The issue is that I'm
>>>>>>>> accidentally calling Access::store_at() with a type of jint and thus
>>>>>>>> generates a memory access wider than a jboolean. It seems to cause
>>>>>>>> SIGBUS on SPARC, but may also simply override adjacent array
>>>>>>>> elements.
>>>>>>>>
>>>>>>>> With some help by Stefan Karlsson, I made a little gtest (ok, he
>>>>>>>> wrote
>>>>>>>> most of it, I only modified it to actually fail without the bugfix).
>>>>>>>>
>>>>>>>> http://cr.openjdk.java.net/~rkennke/8198564/webrev.01
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Looks good.
>>>>>>>
>>>>>>> The test is a bit hacky and probably uses undefined behavior, so I'm
>>>>>>> not
>>>>>>> sure it will hold over time. But right now it manages to reproduce the
>>>>>>> bug,
>>>>>>> which is good.
>>>>>>>
>>>>>>>> Would be good if somebody with access to SPARC could test it there,
>>>>>>>> and if ok, push it?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I won't have time to run this through our test machinery today. Anyone
>>>>>>> else?
>>>>>>>
>>>>>>> Thanks,
>>>>>>> StefanK
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Thank you,
>>>>>>>> Roman
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>


More information about the hotspot-runtime-dev mailing list