Hi All,

 

      We are currently experimenting with APR and libtcnative on our
machines. We have a machine in test that we configured and things when
quite smoothly (although it was RHEL4 and the production box we are
testing is CentOS). When we start tomcat and include all the relevant
library paths in the java.library.path we can see APR attempt to load
but it continually fails and reports that the socket was already in use.
When we remove the java.library.path (effectively turning off APR) we
restart and the server starts correctly with no complaints. We can
readily switch between the two configs and always get the same behavior.
I tried upgrading the Tomcat Native to the one from Tomcat 5.5.23 but
this has made no difference. I also tried running the server as root to
determine if this could have any impact but it did not make any
difference. I have included some relevant information below. Any help
you can give would be greatly appreciated.

 

Thanks,

Jarrod

 

+----------------------------------------------+

Tomcat 5.5.15

APR 1.2.8

Tomcat Native 1.1.6

 

Linux version 2.6.9-42.0.3.ELsmp ([EMAIL PROTECTED])
(gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)) #1 SMP Fri Oct 6 06:28:26
CDT 2006

 

ldd libtcnative-1.so

        libapr-1.so.0 => /usr/local/apr/lib/libapr-1.so.0
(0x0000002a95678000)

        librt.so.1 => /lib64/tls/librt.so.1 (0x0000002a957a8000)

        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000002a958c2000)

        libpthread.so.0 => /lib64/tls/libpthread.so.0
(0x0000002a959f7000)

        libdl.so.2 => /lib64/libdl.so.2 (0x0000002a95b0c000)

        libssl.so.4 => /lib64/libssl.so.4 (0x0000002a95c0f000)

        libcrypto.so.4 => /lib64/libcrypto.so.4 (0x0000002a95d4c000)

        libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95f7c000)

        /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)

        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2
(0x0000002a961b0000)

        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x0000002a962c7000)

        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000002a96438000)

        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3
(0x0000002a9653a000)

        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000002a9665e000)

        libz.so.1 => /usr/lib64/libz.so.1 (0x0000002a96773000)

 

server.xml:

    <Connector port="8080" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25"
maxSpareThreads="75"

               enableLookups="false" redirectPort="8443"
acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="false"
unpackWARs="false"

               compression="off" compressionMinSize="2048"

               compressableMimeType="text/html"

        />

 

    <Connector port="8443" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25"
maxSpareThreads="75"

               enableLookups="false" connectionTimeout="20000"
disableUploadTimeout="false"

               acceptCount="100" scheme="https" secure="true"

 

                SSLEngine="on"

                SSLCertificateFile="######"

                SSLCertificateKeyFile="######"

                SSLPassword="######"

 

               clientAuth="false" sslProtocol="TLS"

                keystoreFile="######" keystorePass="######"

                keystoreType="PKCS12"/>

 

 

catalina.log

Apr 17, 2007 1:28:48 PM org.apache.coyote.http11.Http11AprProtocol init

SEVERE: Error initializing endpoint

java.lang.Exception: Socket bind failed: Address already in use

        at
org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:544)

        at
org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:1
15)

        at
org.apache.catalina.connector.Connector.initialize(Connector.java:1016)

        at
org.apache.catalina.core.StandardService.initialize(StandardService.java
:580)

        at
org.apache.catalina.core.StandardServer.initialize(StandardServer.java:7
82)

        at org.apache.catalina.startup.Catalina.load(Catalina.java:503)

        at org.apache.catalina.startup.Catalina.load(Catalina.java:523)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at
org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:247)

        at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)

Apr 17, 2007 1:28:48 PM org.apache.catalina.startup.Catalina load

SEVERE: Catalina.start

LifecycleException:  Protocol handler initialization failed:
java.lang.Exception: Socket bind failed: Address already in use

        at
org.apache.catalina.connector.Connector.initialize(Connector.java:1018)

        at
org.apache.catalina.core.StandardService.initialize(StandardService.java
:580)

        at
org.apache.catalina.core.StandardServer.initialize(StandardServer.java:7
82)

        at org.apache.catalina.startup.Catalina.load(Catalina.java:503)

        at org.apache.catalina.startup.Catalina.load(Catalina.java:523)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at
org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:247)

        at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)

 

 

Reply via email to