tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Preißer <verlag.preis...@t-online.de>
Subject IPv6 support dropped in Tomcat Native 1.1.22 (on Windows)?
Date Tue, 23 Aug 2011 13:15:30 GMT
Hi all,

while reading the thread "Tomcat 5.5.28 on 64 bit windows server 2008.", I was experimenting
with various Tomcat versions and noticed that IPv6 support seems to have been dropped in the
Windows version (32 bit as well as 64 bit) of TC Native 1.1.22 (which is included in Tomcat
7.0.20).
I tested on Windows 7 (32 bit), Sun/Oracle JDK 1.7.0.

1. When I downloaded Tomcat 7.0.20, I edited the server.xml and added address="[::]" attribute
to the HTTP <Connector> element:

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"
               address="[::]" />

2. After starting Tomcat, the following is displayed: 

Aug 23, 2011 5:57:40 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.22.
Aug 23, 2011 5:57:40 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].
Aug 23, 2011 5:57:41 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-/0:0:0:0:0:0:0:0-8080"]
Aug 23, 2011 5:57:48 AM org.apache.coyote.AbstractProtocol init
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-apr-/0:0:0:0:0:0:0:0-8080"]
org.apache.tomcat.jni.Error: 731004: The requested name is valid, but no data of the requested
type was found.  
	at org.apache.tomcat.jni.Address.info(Native Method)
	at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:395)
	at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:492)
	at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:369)
	at org.apache.catalina.connector.Connector.initInternal(Connector.java:910)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:781)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:573)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:596)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)

Aug 23, 2011 5:57:48 AM org.apache.catalina.core.StandardService initInternal
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
	at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:781)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:573)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:596)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
	at org.apache.catalina.connector.Connector.initInternal(Connector.java:912)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	... 12 more
Caused by: org.apache.tomcat.jni.Error: 731004: The requested name is valid, but no data of
the requested type was found.  
	at org.apache.tomcat.jni.Address.info(Native Method)
	at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:395)
	at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:492)
	at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:369)
	at org.apache.catalina.connector.Connector.initInternal(Connector.java:910)
	... 13 more

Aug 23, 2011 5:57:48 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
Aug 23, 2011 5:57:48 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 8139 ms
(...)

Note the "APR capabilities: IPv6 [false]" line. After Tomcat has started up, the HTTP connector
isn't available.


3. Now I copied the tcnative-1.dll version 1.2.20 (which is included in TC 6.0.33 and 5.5.33)
into Tomcat 7's bin directory, and started Tomcat.

4. The following is displayed: 

Aug 23, 2011 6:03:01 AM org.apache.catalina.core.AprLifecycleListener init
INFO: An older version 1.1.20 of the APR based Apache Tomcat Native library is installed,
while Tomcat recommends a minimum version of 1.1.22
Aug 23, 2011 6:03:01 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
Aug 23, 2011 6:03:01 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Aug 23, 2011 6:03:02 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-/0:0:0:0:0:0:0:0-8080"]
Aug 23, 2011 6:03:02 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
Aug 23, 2011 6:03:02 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1304 ms
Aug 23, 2011 6:03:02 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Aug 23, 2011 6:03:02 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.20
Aug 23, 2011 6:03:02 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
Aug 23, 2011 6:03:03 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
Aug 23, 2011 6:03:03 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Aug 23, 2011 6:03:03 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-/0:0:0:0:0:0:0:0-8080"]
Aug 23, 2011 6:03:03 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Aug 23, 2011 6:03:03 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 617 ms

Now with TC Native 1.1.20, IPv6 seems to work fine. (Well, almost. When I shutdown Tomcat,
it does not stop, but "WARNING: Acceptor thread [http-apr-/0:0:0:0:0:0:0:0-8080-Acceptor-0]
failed to unlock. Forcing hard socket shutdown." is displayed every second until I kill Tomcat's
process.)


Is this intentional? I didn't see anything about dropped IPv6 support in the Native changelog.

Regards,

Konstantin Preißer


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message