NetWorker REST API fails to load with "librestapi64.so already loaded in another classloader"
Summary: 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. ...
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
- 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
Cause
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."
Resolution
- 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
Additional Information
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
Affected Products
NetWorkerProducts
NetWorkerArticle Properties
Article Number: 000037878
Article Type: Solution
Last Modified: 13 May 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.