NetWorker RESTAPI 无法加载“Native Library /nsr/authc/webapps/nwrestapi/WEB-INF/lib/librestapi64.so already loaded in another classloader”

Summary: NetWorker RESTAPI 无法加载引发:“java.lang.UnsatisfiedLinkError:本机库 /nsr/authc/webapps/nwrestapi/WEB-INF/lib/librestapi64.so 已加载到另一个 classloader 中”

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 无法加载引发:“java.lang.UnsatisfiedLinkError:本机库 /nsr/authc/webapps/nwrestapi/WEB-INF/lib/librestapi64.so 已加载到另一个 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)

  • lsof 命令将库显示为 DEL 状态:
[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

该库处于 DEL 状态(过时的库文件描述符),这会阻止正常库加载;因此,该错误显示“Already loaded in another classloader”。

Resolution

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.