Troubleshooting IBM eXtremeMemory
Use the following information to troubleshoot eXtremeMemory.
Procedure
Problem: If the shared resource, libstdc++.so.5,
is not installed, then when you start the container server, IBM eXtremeMemory
native libraries do not load.
Symptom: On
a Linux 64-bit operating system, if you try to start a container server
with the enableXM server property set to true,
and the libstdc++.so.5 shared resource is not
installed, you get an error similar to the following example:
00000000 Initialization W CWOBJ0006W: An exception occurred: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
at com.ibm.websphere.objectgrid.server.ServerFactory.initialize(ServerFactory.java:350)
at com.ibm.websphere.objectgrid.server.ServerFactory$2.run(ServerFactory.java:303)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at com.ibm.websphere.objectgrid.server.ServerFactory.getInstance(ServerFactory.java:301)
at com.ibm.ws.objectgrid.InitializationService.main(InitializationService.java:302)
Caused by: com.ibm.websphere.objectgrid.ObjectGridRuntimeException: java.lang.UnsatisfiedLinkError:
OffheapMapdbg (Not found in java.library.path)
at com.ibm.ws.objectgrid.ServerImpl.<init>(ServerImpl.java:1033)
... 9 more Caused by: java.lang.UnsatisfiedLinkError: OffheapMapdbg (Not found in java.library.path)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1011)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:975)
at java.lang.System.loadLibrary(System.java:469)
at com.ibm.ws.objectgrid.io.offheap.ObjectGridHashTableOH.initializeNative(ObjectGridHashTableOH.java:112)
at com.ibm.ws.objectgrid.io.offheap.ObjectGridHashTableOH.<clinit>(ObjectGridHashTableOH.java:87)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at com.ibm.ws.objectgrid.ServerImpl.<init>(ServerImpl.java:1028)
... 9 more
Cause: The shared resource libstdc++.so.5 has not been installed.
Diagnosing the problem: To verify
that the resource libstdc++.so.5 is installed,
issue the following command from the ObjectGrid/native directory of
your installation:
ldd libOffheapMap.so
If you do not have the shared library installed, you get the following
error: ldd libOffheapMap.so
libstdc++.so.5 => not found
Resolving the problem: Use
the package installer of your 64-bit Linux distribution to install
the required resource file. The package might be listed as compat-libstdc++-33.x86_64 or libstdc++5.
After installing the required resource, verify that the libstdc++5package
is installed by issuing the following command from the ObjectGrid
directory of your installation:
ldd libOffheapMap.so