Re: segmentation fault in numa_node_to_cpus_v1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx");
+__asm__(".symver numa_node_to_cpus_v2,numa_node_to_cpus@xxxxxxxxxxx");

 /*
  * 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

--
To unsubscribe from this list: send the line "unsubscribe linux-numa" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]     [Devices]

  Powered by Linux