Hi, Thanks for your reply.
The only change that I've made - I've added *address="0.0.0.0"* to all of my Tomcat Connectors and seems that it solves the issue. At least I can not reproduce it any more. Java runs with *-Djava.net.preferIPv4Stack=true* Here what ifconfig shows inside the container with Tomcat: # ifconfig -a eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03 inet addr:172.17.0.3 Bcast:172.17.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1011460 errors:0 dropped:0 overruns:0 frame:0 TX packets:1101758 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:243090000 (231.8 MiB) TX bytes:122695784 (117.0 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:35 errors:0 dropped:0 overruns:0 frame:0 TX packets:35 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:9215 (8.9 KiB) TX bytes:9215 (8.9 KiB) On Tue, Jul 10, 2018 at 9:00 AM Jäkel, Guido <g.jae...@dnb.de> wrote: > Dear Sergey, > > does this actually happen on a restart situation (with less than about > 5min pausing time)? Then maybe you have a dangling connection (close/time > waiting) on the TCP stack from the shutdown of a client connection (or the > reverse proxy). Please check if any is still open after closing down Tomcat > ... > > ... or after stopping the Container. If it is bridged, did it use a veth > device? This also don't closed down before the last connection have closed > and may prevent to creade a new on (with the same name or the same IP). > > Greetings > > Guido > > >-----Original Message----- > >From: Sergey Esin [mailto:sergey.e...@jetbrains.com] > >Sent: Monday, July 09, 2018 5:12 PM > >To: users@tomcat.apache.org > >Subject: Protocol handler initialization failed, Address already in use > > > >Hi, > > > >I have not-100% reproducable issue with the latest Tomcat 8.5.32 (Java > >8u172). It happens only time to time. > > > >It's running in docker container under AWS ECS on a separate machine in > ECS > >cluster. > >Brigde networking - so the Tomcat container gets it's own IP address. > > > >I have a number of Nio HTTP/1.1 connectors configured in Tomcat and upon > >container startup I can get such issue for _any_ of configured ports: > > > >09 Jul 2018 16:46:03,570 INFO [Http11NioProtocol ] > >Initializing ProtocolHandler ["http-nio-8080"] > >09 Jul 2018 16:46:03,598 INFO [NioSelectorPool ] Using a > >shared selector for servlet write/read > >09 Jul 2018 16:46:03,609 INFO [Http11NioProtocol ] > >Initializing ProtocolHandler ["http-nio-49080"] > >09 Jul 2018 16:46:03,610 INFO [NioSelectorPool ] Using a > >shared selector for servlet write/read > >09 Jul 2018 16:46:03,611 INFO [Http11NioProtocol ] > >Initializing ProtocolHandler ["http-nio-50080"] > >09 Jul 2018 16:46:03,612 ERROR [StandardService ] Failed to > >initialize connector [Connector[HTTP/1.1-50080]] > >org.apache.catalina.LifecycleException: Failed to initialize component > >[Connector[HTTP/1.1-50080]] > > at > >org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112) > >~[catalina.jar:8.5.32] > > at > > >org.apache.catalina.core.StandardService.initInternal(StandardService.java:549) > >[catalina.jar:8.5.32] > > at > >org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) > >[catalina.jar:8.5.32] > > at > > >org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:875) > >[catalina.jar:8.5.32] > > at > >org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) > >[catalina.jar:8.5.32] > > at org.apache.catalina.startup.Catalina.load(Catalina.java:632) > >[catalina.jar:8.5.32] > > at org.apache.catalina.startup.Catalina.load(Catalina.java:655) > >[catalina.jar:8.5.32] > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >~[?:1.8.0_172] > > at > > >sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > >~[?:1.8.0_172] > > at > > >sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >~[?:1.8.0_172] > > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_172] > > at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:309) > >[bootstrap.jar:8.5.32] > > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492) > >[bootstrap.jar:8.5.32] > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >~[?:1.8.0_172] > > at > > >sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > >~[?:1.8.0_172] > > at > > >sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >~[?:1.8.0_172] > > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_172] > > at > > >org.tanukisoftware.wrapper.WrapperStartStopApp.run(WrapperStartStopApp.java:400) > >[wrapper.jar:3.5.32] > > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_172] > >Caused by: org.apache.catalina.LifecycleException: Protocol handler > >initialization failed > > at > >org.apache.catalina.connector.Connector.initInternal(Connector.java:995) > >~[catalina.jar:8.5.32] > > at > >org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) > >~[catalina.jar:8.5.32] > > ... 18 more > >Caused by: java.net.BindException: Address already in use > > at sun.nio.ch.Net.bind0(Native Method) ~[?:1.8.0_172] > > at sun.nio.ch.Net.bind(Net.java:433) ~[?:1.8.0_172] > > at sun.nio.ch.Net.bind(Net.java:425) ~[?:1.8.0_172] > > at > >sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) > >~[?:1.8.0_172] > > at sun.nio.ch > .ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) > >~[?:1.8.0_172] > > at > >org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:210) > >~[tomcat-coyote.jar:8.5.32] > > at > >org.apache.tomcat.util.net > .AbstractEndpoint.init(AbstractEndpoint.java:1086) > >~[tomcat-coyote.jar:8.5.32] > > at > >org.apache.tomcat.util.net > .AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:268) > >~[tomcat-coyote.jar:8.5.32] > > at > >org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:581) > >~[tomcat-coyote.jar:8.5.32] > > at > > >org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:68) > >~[tomcat-coyote.jar:8.5.32] > > at > >org.apache.catalina.connector.Connector.initInternal(Connector.java:993) > >~[catalina.jar:8.5.32] > > at > >org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) > >~[catalina.jar:8.5.32] > > ... 18 more > >09 Jul 2018 16:46:03,618 INFO [Http11NioProtocol ] > >Initializing ProtocolHandler ["http-nio-61080"] > >09 Jul 2018 16:46:03,620 INFO [NioSelectorPool ] Using a > >shared selector for servlet write/read > >09 Jul 2018 16:46:03,620 INFO [Http11NioProtocol ] > >Initializing ProtocolHandler ["http-nio-63080"] > >09 Jul 2018 16:46:03,621 INFO [NioSelectorPool ] Using a > >shared selector for servlet write/read > >09 Jul 2018 16:46:03,622 INFO [Http11NioProtocol ] > >Initializing ProtocolHandler ["http-nio-60080"] > >09 Jul 2018 16:46:03,623 INFO [NioSelectorPool ] Using a > >shared selector for servlet write/read > >09 Jul 2018 16:46:03,623 INFO [Http11NioProtocol ] > >Initializing ProtocolHandler ["http-nio-62080"] > >09 Jul 2018 16:46:03,624 INFO [NioSelectorPool ] Using a > >shared selector for servlet write/read > >09 Jul 2018 16:46:03,625 INFO [Http11NioProtocol ] > >Initializing ProtocolHandler ["http-nio-59080"] > > > > > >There are no other processed on the host that use port 50080. > > > >The OS in docker container is: > > > ># cat /etc/os-release > >NAME="Alpine Linux" > >ID=alpine > >VERSION_ID=3.7.0 > >PRETTY_NAME="Alpine Linux v3.7" > >HOME_URL="http://alpinelinux.org" > >BUG_REPORT_URL="http://bugs.alpinelinux.org" > > > >with all available updates and with glibc 2.27-r0. > > > >Could you please suggest how to understand the reason? > >-- > >Regards, > >Sergey > -- Regards, Sergey