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 lsof command 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

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

NetWorker

Products

NetWorker
Article 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.