aarch32: Hotspot crashing due to G1 Garbage Collection not supported on ARM platform.

Chi Vo thegeek108 at gmail.com
Mon Nov 7 12:16:19 UTC 2016


Hi All,

I have facing the issue - Hotspot crashing due to G1 Garbage Collection not
supported on ARM platform, detected by test case
*/hotpost/test/gc/whitebox/TestConcMarkCycleWB.java*

And I have workaround to check NULL before accessing to the G1 heap to
ensure it is still access to valid memory. below is patch for this:

diff -r 51ffd98339a7
02.src/01.aarch32_jdk8u/hotspot/src/share/vm/prims/whitebox.cpp
--- a/02.src/01.aarch32_jdk8u/hotspot/src/share/vm/prims/whitebox.cpp	Tue
Nov 01 16:25:08 2016 +0700
+++ b/02.src/01.aarch32_jdk8u/hotspot/src/share/vm/prims/whitebox.cpp	Mon
Nov 07 18:04:44 2016 +0700
@@ -329,8 +329,11 @@
 WB_END

 WB_ENTRY(jboolean, WB_G1StartMarkCycle(JNIEnv* env, jobject o))
+
   G1CollectedHeap* g1h = G1CollectedHeap::heap();
-  if (!g1h->concurrent_mark()->cmThread()->during_cycle()) {
+  // GCS : g1h might be NULL in a few scenarios so it should check NULL
+  // before using it to avoid crashed issue.
+  if (g1h != NULL && !g1h->concurrent_mark()->cmThread()->during_cycle()) {
     g1h->collect(GCCause::_wb_conc_mark);
     return true;
   }

Please help to review and give your idea about this issue.

Thanks & Best Regards,

Chi Vo


More information about the aarch32-port-dev mailing list