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.

Reply via email to