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