RFR: 8198564: Multiple crashes on SPARC
Erik Österlund
erik.osterlund at oracle.com
Fri Feb 23 07:20:32 UTC 2018
Hi Roman,
Could you please fix the following error which was also introduced in
the same patch?
132 inline void typeArrayOopDesc::short_at_put(int which, jshort
contents) {
133 ptrdiff_t offset = element_offset<jshort>(T_BOOLEAN, which);
134 HeapAccess<IN_HEAP_ARRAY>::store_at(as_oop(), offset, contents);
135 }
The type should be T_SHORT and not T_BOOLEAN.
Thanks,
/Erik
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
>
> Would be good if somebody with access to SPARC could test it there,
> and if ok, push it?
>
> Thank you,
> Roman
More information about the hotspot-runtime-dev
mailing list