• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Tomcat Classpath issue

 
Man duv
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi ,

I am using Tomcat 6.0 and trying to load an application twice as i need to do. I changed the war files to app1 and app2. Both are loading properly but when i access the applications, consider i access app1 it working fine, but when i access app2 its complaining some Classloaders already loaded. Same as vice versa. Below is the error that i am seeing. Can some one help me on it.

I tried several opotions by editing catalina properties file as to add shared.classloader but didnot work for me.

2012-03-13 08:59:51 Commons Daemon procrun stdout initializedError initializing AgentLogger
Message: Failed to load smerrlog
Exception:
com.netegrity.smerrlog.SmLogException: Failed to load smerrlog
at com.netegrity.smerrlog.SmLogger.<init>(SmLogger.java:104)
at com.netegrity.affiliateminder.webservices.utils.y.<init>(DashoA10*..:66)
at com.netegrity.affiliateminder.webservices.utils.x.<init>(DashoA10*..:58)
at com.netegrity.affiliateminder.webservices.admin.aa.r(DashoA10*..:119)
at com.netegrity.affiliateminder.webservices.admin.c.g(DashoA10*..:261)
at com.netegrity.siteminder.agentcommon.framework.d.<init>(DashoA10*..:69)
at com.netegrity.affiliateminder.webservices.admin.c.<init>(DashoA10*..:58)
at com.netegrity.affiliateminder.webservices.admin.c.a(DashoA10*..:75)
at com.netegrity.affiliateminder.webservices.admin.c.b(DashoA10*..:104)
at com.netegrity.affiliateminder.webservices.b.init(DashoA10*..:201)
at com.netegrity.affiliateminder.webservices.AssertionRetriever.init(DashoA10*..:609)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.UnsatisfiedLinkError: Native Library E:\CA\Siteminder\webagent\bin\smerrlog.dll already loaded in another classloader
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1768)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1728)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at com.netegrity.smerrlog.SmLogger.<init>(SmLogger.java:99)
... 22 more

Exception history:
java.lang.UnsatisfiedLinkError: Native Library E:\CA\Siteminder\webagent\bin\smerrlog.dll already loaded in another classloader
com.netegrity.smerrlog.SmLogException: Failed to load smerrlog


FATAL ERROR: Exception from System.loadLibrary java.lang.UnsatisfiedLinkError: Native Library E:\CA\Siteminder\webagent\bin\smcommonutil.dll already loaded in another classloader
FATAL ERROR: Exception from AgentAPI.initialize() java.lang.UnsatisfiedLinkError: netegrity.siteminder.javaagent.AgentAPI.initialize()V
 
Man duv
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can someone help me on this issue please???
 
Rob Spoor
Sheriff
Pie
Posts: 20661
65
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
PatienceIsAVirtue. And welcome to the Ranch!
 
Tim Holloway
Saloon Keeper
Posts: 18300
56
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This isn't a classpath issue. It's a Windows problem. You have CA Siteminder code in your webapp.

CA Siteminder is loading native Windows code (smerrlog.dll). Windows has file system interlocks that can limit the sharability of smerrlog.dll, even though dlls are (or at least were) normally expected the be sharable. Possibly because it's accessing non-shareable resources, possibly because they didn't design the DLL properly.

There isn't anything Tomcat can do. You'll need to contact CA. You're paying them for support, so they should give you an answer quickly and promptly.
 
Man duv
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you Tim...

Reading through the tomcat class loader documents. It appears that the jar files need to be copied into $JAVA_HOME/jre/lib/ext.
http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html

Once i copied to $JAVA_HOME/jre/lib/ext i dont see below error. Thanks again for looking into my issue.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic