Re: segmentation fault in numa_node_to_cpus_v1
"Scott Lurndal" <[email protected]>
| Newsgroups | org.kernel.vger.linux-numa |
|---|---|
| Message-ID | <[email protected]> |
On Mon, November 1, 2010 11:52 am, Michael Spiegel wrote:
> Hi,
>
> I'm trying to run the HotSpot Java VM on an SGI UV 1000 with 4096
> cores. When I enable the NUMA-aware garbage collection algorithm, I
> get a segmentation fault as the virtual machine is initializing. The
> sigsegv is occurring at one of the memcpy's in numa_node_to_cpus_v1,
> although I'm afraid I can't determine whether libnuma is being called
> correctly or incorrectly. I am testing on a system that has numactl
> 2.0.5.
I ran into this issue with Oracle 11i. It was linked against a library
with an older API. Because I coulnd't change oracle, I modified the
libnuma.so we were using as follows:
libnuma.c:
@@ -1240,7 +1246,7 @@
}
return err;
}
-__asm__(".symver numa_node_to_cpus_v1,numa_node_to_cpus@libnuma_1.1");
+__asm__(".symver numa_node_to_cpus_v2,numa_node_to_cpus@libnuma_1.1");
/*
* test whether a node has cpus
@@ -1316,7 +1322,7 @@
}
return err;
}
-__asm__(".symver numa_node_to_cpus_v2,numa_node_to_cpus@@libnuma_1.2");
+__asm__(".symver numa_node_to_cpus_v1,numa_node_to_cpus@@libnuma_1.2");
make_internal_alias(numa_node_to_cpus_v1);
make_internal_alias(numa_node_to_cpus_v2);
After replacing the libnuma.so that was being used by oracle with a new
one where I swapped the symbol versions, oracle started working correctly.
scott