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-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org