NetWorker REST API fails to load with "librestapi64.so already loaded in another classloader"
摘要: NetWorker Representational State Transfer Application Programming Interfaces (REST API) operations fail. HTTP 500 (Internal Server Error) "java.lang.UnsatisfiedLinkError: Native Library /nsr/authc/webapps/nwrestapi/WEB-INF/lib/librestapi64.so already loaded in another classloader" appears. The librestapi64 library is in a DEL state. ...
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
- NetWorker RESTAPI fails to load throwing: "java.lang.UnsatisfiedLinkError: Native Library /nsr/authc/webapps/nwrestapi/WEB-INF/lib/librestapi64.so already loaded in another classloader"
HTTP Status 500 - Servlet.init() for servlet nwrestapi threw exception
type Exception report
message Servlet.init() for servlet nwrestapi threw exception
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet.init() for servlet nwrestapi threw exception
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)
root cause
java.lang.UnsatisfiedLinkError: Native Library /nsr/authc/webapps/nwrestapi/WEB-INF/lib/librestapi64.so already loaded in another classloader
java.lang.ClassLoader.loadLibrary0(Unknown Source)
java.lang.ClassLoader.loadLibrary(Unknown Source)
java.lang.Runtime.load0(Unknown Source)
java.lang.System.load(Unknown Source)
com.emc.nw.webapi.WebApiServlet.loadDbSessionModules(WebApiServlet.java:75)
com.emc.nw.webapi.WebApiServlet.init(WebApiServlet.java:55)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)
- The NetWorker server version and Operating System meet compatibility requirements.
- The
lsofcommand shows the library in a DEL state:
[root@nw_server ~]# lsof | grep librestapi64
jsvc 4543 nsrtomcat DEL REG 253,2 14881546 67764661 /nsr/authc/webapps/nwrestapi/WEB-INF/lib/librestapi64.so
原因
The library is in a DEL state (stale library file descriptor). This prevents the normal library from loading; thus the error shows "already loaded in another classloader."
解决方案
- Reboot the server to flush and reload memory: NetWorker RESTAPI fails to load with "Native Library /nsr/authc/webapps/nwrestapi/WEB-INF/lib/librestapi64.so already loaded in another classloader"
- Import
emcauthctomcat.cer(if missing) to the Java cacerts keystore: NetWorker: NetWorker REST API emcauthctomcat certificate removed from cacerts keystore
其他信息
The java.lang.UnsatisfiedLinkError can also appear if the NetWorker version does not support the operating system of the NetWorker server: NetWorker: REST API requests fail with HTTP 500 java.lang.UnsatisfiedLinkError
受影响的产品
NetWorker产品
NetWorker文章属性
文章编号: 000037878
文章类型: Solution
上次修改时间: 13 5月 2025
版本: 4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。