RFR 8191278: MappedByteBuffer bulk access memory failures are not handled gracefully
Jamsheed
jamsheed.c.m at oracle.com
Thu Apr 11 10:22:41 UTC 2019
Hi Nick,
i think release and fastdebug should crash
basically because, atomic_copy64 get inlined, and get generated as post
increment, on sigbus, from doesn't get incremented and it loop forever
and crash.
Best regards,
Jamsheed
[1]
void _Copy_conjoint_jlongs_atomic(jlong* from, jlong* to, size_t count) {
if (from > to) {
jlong *end = from + count;
while (from < end)
os::atomic_copy64(from++, to++);
}
else if (from < to) {
jlong *end = from;
from += count - 1;
to += count - 1;
while (from >= end)
os::atomic_copy64(from--, to--);
}
}
static void atomic_copy64(const volatile void *src, volatile void
*dst) {
*(jlong *) dst = *(const jlong *) src;
}
On 11/04/19 3:33 PM, Nick Gasson wrote:
> Does the segfault only happen on release builds? I tried webrev.04
> again on an AArch64 system with release, fastdebug, and slowdebug but
> I still don't see this crash :-/.
More information about the hotspot-dev
mailing list