7090069: Java launcher hangs in infinite loop on windows when UseNUMA[Interleaving] is specified
authoriveresov
Tue, 13 Sep 2011 16:58:35 -0700
changeset 10536 28111f5acd64
parent 10535 891f353a95c0
child 10537 23539f11e110
7090069: Java launcher hangs in infinite loop on windows when UseNUMA[Interleaving] is specified Summary: Fix _numa_used_node_list array size specification Reviewed-by: kvn, johnc, jmasa, ysr
hotspot/src/os/windows/vm/os_windows.cpp
--- a/hotspot/src/os/windows/vm/os_windows.cpp	Tue Sep 13 12:40:14 2011 -0400
+++ b/hotspot/src/os/windows/vm/os_windows.cpp	Tue Sep 13 16:58:35 2011 -0700
@@ -2644,7 +2644,7 @@
     ULONG highest_node_number;
     if (!os::Kernel32Dll::GetNumaHighestNodeNumber(&highest_node_number)) return false;
     free_node_list();
-    _numa_used_node_list = NEW_C_HEAP_ARRAY(int, highest_node_number);
+    _numa_used_node_list = NEW_C_HEAP_ARRAY(int, highest_node_number + 1);
     for (unsigned int i = 0; i <= highest_node_number; i++) {
       ULONGLONG proc_mask_numa_node;
       if (!os::Kernel32Dll::GetNumaNodeProcessorMask(i, &proc_mask_numa_node)) return false;