Issue:
Node manager will not start with following exception "Native version is enabled but nodemanager native library could not be loaded"
It means that you have 64 bit version of java installed and 32 bit node manager library got loaded into classpath.
Test your Java Version First
[weblogic@localhost x86_64]$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Error Statement
[weblogic@localhost bin]$ ./startNodeManager.sh
+ CLASSPATH=/usr/java/jdk1.7.0_79//lib/tools.jar:/opt/wls/wlserver/server/lib/weblogic_sp.jar:/opt/wls/wlserver/server/lib/weblogic.jar:/opt/wls/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/wls/wlserver/server/lib/webservices.jar:/opt/wls/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/wls/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/opt/wls
+ '[' '!' -z '' ']'
+ '[' '!' -z '' ']'
+ export CLASSPATH
+ export PATH
+ cd /opt/wls/wlserver/common/nodemanager
+ set -x
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ /usr/java/jdk1.7.0_79//bin/java -Xms32m -Xmx200m -Dcoherence.home=@COHERENCE_HOME -Dbea.home=/opt/wls -Djava.security.policy=/opt/wls/wlserver/server/lib/weblogic.policy -Dweblogic.nodemanager.javaHome=/usr/java/jdk1.7.0_79/ weblogic.NodeManager -v
<May 10, 2016 12:49:58 AM> <INFO> <Loading domains file: /opt/wls/wlserver/common/nodemanager/nodemanager.domains>
May 10, 2016 12:49:58 AM weblogic.nodemanager.server.NMServerConfig initDomainsMap
INFO: Loading domains file: /opt/wls/wlserver/common/nodemanager/nodemanager.domains
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
<May 10, 2016 12:49:58 AM> <SEVERE> <Fatal error in node manager server>
weblogic.nodemanager.common.ConfigException: Native version is enabled but nodemanager native library could not be loaded
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:269)
at weblogic.nodemanager.server.NMServerConfig.<init>(NMServerConfig.java:210)
at weblogic.nodemanager.server.NMServer.init(NMServer.java:182)
at weblogic.nodemanager.server.NMServer.<init>(NMServer.java:148)
at weblogic.nodemanager.server.NMServer.main(NMServer.java:380)
at weblogic.NodeManager.main(NodeManager.java:31)
Caused by: java.lang.UnsatisfiedLinkError: /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so: /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at weblogic.nodemanager.util.UnixProcessControl.<init>(UnixProcessControl.java:24)
at weblogic.nodemanager.util.ProcessControlFactory.getProcessControl(ProcessControlFactory.java:22)
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:267)
... 5 more
May 10, 2016 12:49:58 AM weblogic.nodemanager.server.NMServer main
SEVERE: Fatal error in node manager server
weblogic.nodemanager.common.ConfigException: Native version is enabled but nodemanager native library could not be loaded
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:269)
at weblogic.nodemanager.server.NMServerConfig.<init>(NMServerConfig.java:210)
at weblogic.nodemanager.server.NMServer.init(NMServer.java:182)
at weblogic.nodemanager.server.NMServer.<init>(NMServer.java:148)
at weblogic.nodemanager.server.NMServer.main(NMServer.java:380)
at weblogic.NodeManager.main(NodeManager.java:31)
Caused by: java.lang.UnsatisfiedLinkError: /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so: /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at weblogic.nodemanager.util.UnixProcessControl.<init>(UnixProcessControl.java:24)
at weblogic.nodemanager.util.ProcessControlFactory.getProcessControl(ProcessControlFactory.java:22)
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:267)
... 5 more
+ set +x
Resolution
Goto "<MWHOME>/wlserver/server/bin"
and open startNodeManager.sh . find weblogic.NodeManager and replace it with "-Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager"
Lines from the startNodeManager.sh file
cd "${NODEMGR_HOME}"
set -x
if [ "$LISTEN_PORT" != "" ]
then
if [ "$LISTEN_ADDRESS" != "" ]
then
"${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.nodemanager.javaHome="${JAVA_HOME}" -DListenAddress="${LISTEN_ADDRESS}" -DListenPort="${LISTEN_PORT}" -Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager -v
else
"${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.nodemanager.javaHome="${JAVA_HOME}" -DListenPort="${LISTEN_PORT}" -Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager -v
fi
else
if [ "$LISTEN_ADDRESS" != "" ]
then
"${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.nodemanager.javaHome="${JAVA_HOME}" -DListenAddress="${LISTEN_ADDRESS}" -Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager -v
else
"${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.nodemanager.javaHome="${JAVA_HOME}" -Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager -v
fi
fi
set +x
fi
Rerun the script and you should be able to get it started now.
Hope it helps.
AKSarav
Node manager will not start with following exception "Native version is enabled but nodemanager native library could not be loaded"
It means that you have 64 bit version of java installed and 32 bit node manager library got loaded into classpath.
Test your Java Version First
[weblogic@localhost x86_64]$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Error Statement
[weblogic@localhost bin]$ ./startNodeManager.sh
+ CLASSPATH=/usr/java/jdk1.7.0_79//lib/tools.jar:/opt/wls/wlserver/server/lib/weblogic_sp.jar:/opt/wls/wlserver/server/lib/weblogic.jar:/opt/wls/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/wls/wlserver/server/lib/webservices.jar:/opt/wls/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/wls/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/opt/wls
+ '[' '!' -z '' ']'
+ '[' '!' -z '' ']'
+ export CLASSPATH
+ export PATH
+ cd /opt/wls/wlserver/common/nodemanager
+ set -x
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ /usr/java/jdk1.7.0_79//bin/java -Xms32m -Xmx200m -Dcoherence.home=@COHERENCE_HOME -Dbea.home=/opt/wls -Djava.security.policy=/opt/wls/wlserver/server/lib/weblogic.policy -Dweblogic.nodemanager.javaHome=/usr/java/jdk1.7.0_79/ weblogic.NodeManager -v
<May 10, 2016 12:49:58 AM> <INFO> <Loading domains file: /opt/wls/wlserver/common/nodemanager/nodemanager.domains>
May 10, 2016 12:49:58 AM weblogic.nodemanager.server.NMServerConfig initDomainsMap
INFO: Loading domains file: /opt/wls/wlserver/common/nodemanager/nodemanager.domains
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
<May 10, 2016 12:49:58 AM> <SEVERE> <Fatal error in node manager server>
weblogic.nodemanager.common.ConfigException: Native version is enabled but nodemanager native library could not be loaded
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:269)
at weblogic.nodemanager.server.NMServerConfig.<init>(NMServerConfig.java:210)
at weblogic.nodemanager.server.NMServer.init(NMServer.java:182)
at weblogic.nodemanager.server.NMServer.<init>(NMServer.java:148)
at weblogic.nodemanager.server.NMServer.main(NMServer.java:380)
at weblogic.NodeManager.main(NodeManager.java:31)
Caused by: java.lang.UnsatisfiedLinkError: /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so: /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at weblogic.nodemanager.util.UnixProcessControl.<init>(UnixProcessControl.java:24)
at weblogic.nodemanager.util.ProcessControlFactory.getProcessControl(ProcessControlFactory.java:22)
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:267)
... 5 more
May 10, 2016 12:49:58 AM weblogic.nodemanager.server.NMServer main
SEVERE: Fatal error in node manager server
weblogic.nodemanager.common.ConfigException: Native version is enabled but nodemanager native library could not be loaded
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:269)
at weblogic.nodemanager.server.NMServerConfig.<init>(NMServerConfig.java:210)
at weblogic.nodemanager.server.NMServer.init(NMServer.java:182)
at weblogic.nodemanager.server.NMServer.<init>(NMServer.java:148)
at weblogic.nodemanager.server.NMServer.main(NMServer.java:380)
at weblogic.NodeManager.main(NodeManager.java:31)
Caused by: java.lang.UnsatisfiedLinkError: /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so: /opt/wls/wlserver/server/native/linux/i686/libnodemanager.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at weblogic.nodemanager.util.UnixProcessControl.<init>(UnixProcessControl.java:24)
at weblogic.nodemanager.util.ProcessControlFactory.getProcessControl(ProcessControlFactory.java:22)
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:267)
... 5 more
+ set +x
Resolution
Goto "<MWHOME>/wlserver/server/bin"
and open startNodeManager.sh . find weblogic.NodeManager and replace it with "-Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager"
Lines from the startNodeManager.sh file
cd "${NODEMGR_HOME}"
set -x
if [ "$LISTEN_PORT" != "" ]
then
if [ "$LISTEN_ADDRESS" != "" ]
then
"${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.nodemanager.javaHome="${JAVA_HOME}" -DListenAddress="${LISTEN_ADDRESS}" -DListenPort="${LISTEN_PORT}" -Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager -v
else
"${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.nodemanager.javaHome="${JAVA_HOME}" -DListenPort="${LISTEN_PORT}" -Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager -v
fi
else
if [ "$LISTEN_ADDRESS" != "" ]
then
"${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.nodemanager.javaHome="${JAVA_HOME}" -DListenAddress="${LISTEN_ADDRESS}" -Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager -v
else
"${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.nodemanager.javaHome="${JAVA_HOME}" -Djava.library.path="/opt/wls/wlserver/server/native/linux/x86_64/" weblogic.NodeManager -v
fi
fi
set +x
fi
Rerun the script and you should be able to get it started now.
Hope it helps.
AKSarav
No comments :
Post a Comment