RFR: 8167501 ARMv7 Linux C2 compiler crashes running jtreg harness on MP systems
Daniel D. Daugherty
daniel.daugherty at oracle.com
Thu Nov 3 14:32:25 UTC 2016
Thumbs up.
Dan
On 11/3/16 8:06 AM, Bob Vandette wrote:
> Please review this JDK9 work-around for a reliability problem causing crashes and hangs
> running jtreg on ARMv7 MP platforms using the server compiler.
>
> This work-around disables the use of quick-enter on ARM. This enhancement was
> previously disabled for AARCH64 binaries.
>
> This work-around has been independently verified by running jtreg on two different MP
> based ARM systems.
>
> https://bugs.openjdk.java.net/browse/JDK-8167501 <https://bugs.openjdk.java.net/browse/JDK-8167501>
>
> diff --git a/src/share/vm/runtime/sharedRuntime.cpp b/src/share/vm/runtime/sharedRuntime.cpp
> --- a/src/share/vm/runtime/sharedRuntime.cpp
> +++ b/src/share/vm/runtime/sharedRuntime.cpp
> @@ -1983,8 +1983,10 @@
> // Handles the uncommon case in locking, i.e., contention or an inflated lock.
> JRT_BLOCK_ENTRY(void, SharedRuntime::complete_monitor_locking_C(oopDesc* _obj, BasicLock* lock, JavaThread* thread))
> // Disable ObjectSynchronizer::quick_enter() in default config
> - // on AARCH64 until JDK-8153107 is resolved.
> - if (AARCH64_ONLY((SyncFlags & 256) != 0 &&) !SafepointSynchronize::is_synchronizing()) {
> + // on AARCH64 and ARM until JDK-8153107 is resolved.
> + if (ARM_ONLY((SyncFlags & 256) != 0 &&)
> + AARCH64_ONLY((SyncFlags & 256) != 0 &&)
> + !SafepointSynchronize::is_synchronizing()) {
> // Only try quick_enter() if we're not trying to reach a safepoint
> // so that the calling thread reaches the safepoint more quickly.
> if (ObjectSynchronizer::quick_enter(_obj, thread, lock)) return;
>
>
> The real problem will be investigated and fixed under this bug:
>
> https://bugs.openjdk.java.net/browse/JDK-8153107 <https://bugs.openjdk.java.net/browse/JDK-8153107>
>
> Bob.
>
>
More information about the hotspot-dev
mailing list