Tomcat APR connector didn't load the native library
---------------------------------------------------
Key: GERONIMO-4094
URL: https://issues.apache.org/jira/browse/GERONIMO-4094
Project: Geronimo
Issue Type: Bug
Security Level: public (Regular issues)
Components: connector
Affects Versions: 2.1.2, 2.1.x, 2.2
Reporter: YunFeng Ma
Fix For: 2.1.x, 2.2
Tomcat has a lifecycle listener (org.apache.catalina.core.AprLifecycleListener)
to load the native library for APR connector, but Geronimo didn't add this
lifecycle listener to TomcatContainer.
The steps to recreate this error:
Create a APR connector via admin console, but fail to start the connector with
the following exception:
{noformat}
10:39:43,167 ERROR [GBeanInstanceState] Error while starting; GBean is now in
the FAILED state:
abstractName="org.apache.geronimo.configs/tomcat6/2.1.1/car?ServiceModule=org.apache.geronimo.configs/tomcat6/2.1.1/car,j2eeType=GBean,name=APRHTTPTest"
java.lang.UnsatisfiedLinkError: org/apache/tomcat/jni/Pool.create(J)J
at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:579)
at
org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:121)
at
org.apache.catalina.connector.Connector.initialize(Connector.java:1059)
at
org.apache.catalina.core.StandardService.addConnector(StandardService.java:267)
at org.apache.catalina.startup.Embedded.addConnector(Embedded.java:327)
at
org.apache.geronimo.tomcat.TomcatContainer.addConnector(TomcatContainer.java:390)
at
org.apache.geronimo.tomcat.connector.ConnectorGBean.doStart(ConnectorGBean.java:95)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor$StartRecursiveInvoke.invoke(ProxyMethodInterceptor.java:365)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
at
org.apache.geronimo.tomcat.connector.Http11APRProtocol$$EnhancerByCGLIB$$6380f922.startRecursive(<generated>)
at
org.apache.geronimo.console.webmanager.ConnectorPortlet.processAction(ConnectorPortlet.java:149)
at
org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:218)
at org.apache.pluto.core.PortletServlet.doPost(PortletServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
at
org.apache.pluto.core.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:167)
at
org.apache.pluto.core.DefaultPortletInvokerService.action(DefaultPortletInvokerService.java:85)
at
org.apache.pluto.core.PortletContainerImpl.doAction(PortletContainerImpl.java:219)
at
org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:121)
at
org.apache.pluto.driver.PortalDriverServlet.doPost(PortalDriverServlet.java:167)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:406)
at
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:810)
{noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.