From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Scott Lurndal" Subject: Re: segmentation fault in numa_node_to_cpus_v1 Date: Mon, 1 Nov 2010 12:39:10 -0800 Message-ID: <554047d4983bf2c59dca5e3da45cd489.squirrel@www.lurndal.org> References: Mime-Version: 1.0 Content-Transfer-Encoding: 7BIT Return-path: In-Reply-To: Sender: linux-numa-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Michael Spiegel Cc: linux-numa@vger.kernel.org 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