I'm assuming the pause you saw was at the following line? connect(11, {sa_family=AF_INET6, sin6_port=htons(48669), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ETIMEDOUT (Connection timed out)
That looks like a connect attempt to the IPv6 loopback address (?) which times out, but the corresponding line from the "no-pause" box seems to do the same without delay. Do you have IPv6 enabled on both boxes, i.e. does the output from "/sbin/ifconfig -a" look similar? On Thu, May 22, 2008 at 8:52 AM, Adam Hardy <[EMAIL PROTECTED]> wrote: > I think this is the equivalent part of the strace log from another machine > on the LAN: > > socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 10 > listen(10, 1) = 0 > getsockname(10, {sa_family=AF_INET6, sin6_port=htons(54792), > inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, > [28]) = 0 > socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 11 > connect(11, {sa_family=AF_INET6, sin6_port=htons(54792), > inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, > 28) = 0 > fcntl64(10, F_GETFL) = 0x2 (flags O_RDWR) > fcntl64(10, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > accept(10, {sa_family=AF_INET6, sin6_port=htons(51175), inet_pton(AF_INET6, > "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 12 > shutdown(11, 2 /* send and receive */) = 0 > > > > Jim Cox on 22/05/08 13:38, wrote: > >> Can you compare that output to a capture from the box where you don't see >> the pause? I wonder if it's a difference in IPv4/IPv6 configuration >> between >> the boxes... >> >> On Thu, May 22, 2008 at 8:24 AM, Adam Hardy <[EMAIL PROTECTED]> >> wrote: >> >> Found it! But I think my knowledge of linux system calls and kernel >>> functions is letting me down now. Presumably that is port 48669, which >>> should be open - but is it a DNS call? If it is a DNS call, then the DNS >>> server on the same machine should serve it - piping it out to the net, >>> presumably. But with my DNS server running, which up to now has worked >>> fine, >>> and with the gateway open to allow internet access, tomcat still freezes. >>> >>> So I guess it doesn't matter what the DNS call is for, the problem is >>> that >>> my DNS server is not serving it? I guess that means its config needs >>> tweaking to tell it to serve DNS requests on the loopback interface. >>> >>> >>> socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 10 >>> listen(10, 1) = 0 >>> getsockname(10, {sa_family=AF_INET6, sin6_port=htons(48669), >>> inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, >>> [28]) = 0 >>> socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 11 >>> connect(11, {sa_family=AF_INET6, sin6_port=htons(48669), >>> inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, >>> sin6_scope_id=0}, >>> 28) = -1 ETIMEDOUT (Connection timed out) >>> close(10) = 0 >>> close(11) = 0 >>> >>> >>> >>> >>> >>> Jim Cox on 22/05/08 11:23, wrote: >>> >>> I'd think it's more likely to be timing out while resolving a hostname >>>> via >>>> DNS, but starting tomcat via strace should show you exactly where it is >>>> pausing. >>>> >>>> On Thu, May 22, 2008 at 5:08 AM, Adam Hardy < >>>> [EMAIL PROTECTED]> >>>> wrote: >>>> >>>> I'm still frustrated by this freeze. Looking at this thread dump, I can >>>> >>>>> see >>>>> it must be the "main" thread that's hanging - but how can I work out >>>>> anything more regarding the problem? >>>>> >>>>> I've done all I can think of to open up the machine it's running on - >>>>> stopping all other unnecessary processes such as the firewall, apache, >>>>> the >>>>> DNS server etc. >>>>> >>>>> Could tomcat be waiting in vain for a port? As far as I can tell, it >>>>> should >>>>> be using 8080 and 8005 - nothing else is set up in server.xml. Yet >>>>> these >>>>> ports are free on the machine. Is there a linux tool I can use to check >>>>> those ports? >>>>> >>>>> Thanks >>>>> Adam >>>>> >>>>> -------- Original Message -------- >>>>> Date: Mon, 19 May 2008 23:13:02 +0100 >>>>> >>>>> 19-May-2008 23:04:32 org.apache.tomcat.util.modeler.BaseModelMBean >>>>> preRegister >>>>> FINE: preRegister [EMAIL PROTECTED] >>>>> Catalina:type=Connector,port=8080 >>>>> Full thread dump Java HotSpot(TM) Client VM (1.5.0_12-b04 mixed mode, >>>>> sharing): >>>>> >>>>> "Low Memory Detector" daemon prio=1 tid=0x0809e1a8 nid=0xe39 runnable >>>>> [0x00000000..0x00000000] >>>>> >>>>> "CompilerThread0" daemon prio=1 tid=0x0809cc40 nid=0xe38 waiting on >>>>> condition >>>>> [0x00000000..0xb2176828] >>>>> >>>>> "Signal Dispatcher" daemon prio=1 tid=0x0809bd60 nid=0xe37 runnable >>>>> [0x00000000..0x00000000] >>>>> >>>>> "Finalizer" daemon prio=1 tid=0x08094f38 nid=0xe36 in Object.wait() >>>>> [0xb23a0000..0xb23a1140] >>>>> at java.lang.Object.wait(Native Method) >>>>> - waiting on <0x88e609e8> (a java.lang.ref.ReferenceQueue$Lock) >>>>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) >>>>> - locked <0x88e609e8> (a java.lang.ref.ReferenceQueue$Lock) >>>>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) >>>>> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) >>>>> >>>>> "Reference Handler" daemon prio=1 tid=0x08094240 nid=0xe35 in >>>>> Object.wait() >>>>> [0xb2421000..0xb24220c0] >>>>> at java.lang.Object.wait(Native Method) >>>>> - waiting on <0x88e60910> (a java.lang.ref.Reference$Lock) >>>>> at java.lang.Object.wait(Object.java:474) >>>>> at >>>>> java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) >>>>> - locked <0x88e60910> (a java.lang.ref.Reference$Lock) >>>>> >>>>> "main" prio=1 tid=0x080557c8 nid=0xe33 runnable >>>>> [0xbf8d6000..0xbf8d8078] >>>>> at java.net.PlainSocketImpl.initProto(Native Method) >>>>> at java.net.PlainSocketImpl.<clinit>(PlainSocketImpl.java:84) >>>>> at java.net.ServerSocket.setImpl(ServerSocket.java:236) >>>>> at java.net.ServerSocket.<init>(ServerSocket.java:178) >>>>> at java.net.ServerSocket.<init>(ServerSocket.java:141) >>>>> at >>>>> >>>>> >>>>> >>>>> org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50) >>>>> at >>>>> org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:496) >>>>> at >>>>> org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:177) >>>>> at >>>>> org.apache.catalina.connector.Connector.initialize(Connector.java:1059) >>>>> at >>>>> >>>>> >>>>> >>>>> org.apache.catalina.core.StandardService.initialize(StandardService.java:677) >>>>> - locked <0x88f6e690> (a >>>>> [Lorg.apache.catalina.connector.Connector;) >>>>> at >>>>> >>>>> >>>>> org.apache.catalina.core.StandardServer.initialize(StandardServer.java:792) >>>>> at org.apache.catalina.startup.Catalina.load(Catalina.java:518) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> >>>>> >>>>> >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>> at >>>>> >>>>> >>>>> >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>> at java.lang.reflect.Method.invoke(Method.java:585) >>>>> at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260) >>>>> at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:275) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> >>>>> >>>>> >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>> at >>>>> >>>>> >>>>> >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>> at java.lang.reflect.Method.invoke(Method.java:585) >>>>> at >>>>> >>>>> >>>>> org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:160) >>>>> >>>>> "VM Thread" prio=1 tid=0x08092e48 nid=0xe34 runnable >>>>> >>>>> "VM Periodic Task Thread" prio=1 tid=0x0809f650 nid=0xe3a waiting on >>>>> condition >>>>> >>>>> Full thread dump Java HotSpot(TM) Client VM (1.5.0_12-b04 mixed mode, >>>>> sharing): >>>>> >>>>> "Low Memory Detector" daemon prio=1 tid=0x0809e1a8 nid=0xe39 runnable >>>>> [0x00000000..0x00000000] >>>>> >>>>> "CompilerThread0" daemon prio=1 tid=0x0809cc40 nid=0xe38 waiting on >>>>> condition >>>>> [0x00000000..0xb2176828] >>>>> >>>>> "Signal Dispatcher" daemon prio=1 tid=0x0809bd60 nid=0xe37 runnable >>>>> [0x00000000..0x00000000] >>>>> >>>>> "Finalizer" daemon prio=1 tid=0x08094f38 nid=0xe36 in Object.wait() >>>>> [0xb23a0000..0xb23a1140] >>>>> at java.lang.Object.wait(Native Method) >>>>> - waiting on <0x88e609e8> (a java.lang.ref.ReferenceQueue$Lock) >>>>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) >>>>> - locked <0x88e609e8> (a java.lang.ref.ReferenceQueue$Lock) >>>>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) >>>>> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) >>>>> >>>>> "Reference Handler" daemon prio=1 tid=0x08094240 nid=0xe35 in >>>>> Object.wait() >>>>> [0xb2421000..0xb24220c0] >>>>> at java.lang.Object.wait(Native Method) >>>>> - waiting on <0x88e60910> (a java.lang.ref.Reference$Lock) >>>>> at java.lang.Object.wait(Object.java:474) >>>>> at >>>>> java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) >>>>> - locked <0x88e60910> (a java.lang.ref.Reference$Lock) >>>>> >>>>> "main" prio=1 tid=0x080557c8 nid=0xe33 runnable >>>>> [0xbf8d6000..0xbf8d8078] >>>>> at java.net.PlainSocketImpl.initProto(Native Method) >>>>> at java.net.PlainSocketImpl.<clinit>(PlainSocketImpl.java:84) >>>>> at java.net.ServerSocket.setImpl(ServerSocket.java:236) >>>>> at java.net.ServerSocket.<init>(ServerSocket.java:178) >>>>> at java.net.ServerSocket.<init>(ServerSocket.java:141) >>>>> at >>>>> >>>>> >>>>> >>>>> org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50) >>>>> at >>>>> org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:496) >>>>> at >>>>> org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:177) >>>>> at >>>>> org.apache.catalina.connector.Connector.initialize(Connector.java:1059) >>>>> at >>>>> >>>>> >>>>> >>>>> org.apache.catalina.core.StandardService.initialize(StandardService.java:677) >>>>> - locked <0x88f6e690> (a >>>>> [Lorg.apache.catalina.connector.Connector;) >>>>> at >>>>> >>>>> >>>>> org.apache.catalina.core.StandardServer.initialize(StandardServer.java:792) >>>>> at org.apache.catalina.startup.Catalina.load(Catalina.java:518) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> >>>>> >>>>> >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>> at >>>>> >>>>> >>>>> >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>> at java.lang.reflect.Method.invoke(Method.java:585) >>>>> at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260) >>>>> at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:275) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> >>>>> >>>>> >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>> at >>>>> >>>>> >>>>> >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>> at java.lang.reflect.Method.invoke(Method.java:585) >>>>> at >>>>> >>>>> >>>>> org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:160) >>>>> >>>>> "VM Thread" prio=1 tid=0x08092e48 nid=0xe34 runnable >>>>> >>>>> "VM Periodic Task Thread" prio=1 tid=0x0809f650 nid=0xe3a waiting on >>>>> condition >>>>> >>>>> >>>>> >>>>> Filip Hanik - Dev Lists on 19/05/08 22:17, wrote: >>>>> >>>>> just do two thread dumps during the freeze >>>>> >>>>>> kill -3 <tomcat process id> >>>>>> sleep 5 >>>>>> kill -3 <tomcat process id> >>>>>> >>>>>> the thread dump will identify where it is hanging, and it gets output >>>>>> to >>>>>> std.out, by default to catalina.out >>>>>> >>>>>> Filip >>>>>> >>>>>> Adam Hardy wrote: >>>>>> >>>>>> I've been trying to solve this problem for a couple of hours now and >>>>>> I >>>>>> >>>>>>> can't see any solution on google or in the archives. >>>>>>> >>>>>>> I have tomcat 6.0.13 and java 1.5.0_12 running on debian linux 2.6, >>>>>>> my >>>>>>> own installation, not the debian packages. >>>>>>> >>>>>>> I stripped the tomcat config down to the bare minimum, no webapps, >>>>>>> and >>>>>>> just the one connector configured: >>>>>>> >>>>>>> <Connector port="8080" protocol="HTTP/1.1" >>>>>>> connectionTimeout="20000" >>>>>>> redirectPort="8443" /> >>>>>>> >>>>>>> It takes about 3 mins to start, as you can see from the logging below >>>>>>> at >>>>>>> the point where BaseModelMBean tries to preregister. >>>>>>> >>>>>>> The config works fine on my linux workstation, but not on this >>>>>>> machine. >>>>>>> The machine is a gateway and DNS server also running Apache on port >>>>>>> 80, >>>>>>> but >>>>>>> even with the firewall and the servers down, I can't get around this >>>>>>> problem. >>>>>>> >>>>>>> Can anybody help? >>>>>>> >>>>>>> >>>>>>> FINE: preRegister >>>>>>> [EMAIL PROTECTED] >>>>>>> :type=StringCache >>>>>>> 19-May-2008 17:22:58 org.apache.tomcat.util.modeler.Registry >>>>>>> registerComponent >>>>>>> FINE: Managed= Catalina:type=Service,serviceName=Catalina >>>>>>> 19-May-2008 17:22:58 org.apache.tomcat.util.modeler.BaseModelMBean >>>>>>> preRegister >>>>>>> FINE: preRegister StandardService[Catalina] >>>>>>> Catalina:type=Service,serviceName=Catalina >>>>>>> 19-May-2008 17:22:58 org.apache.tomcat.util.modeler.Registry >>>>>>> registerComponent >>>>>>> FINE: Managed= Catalina:type=Connector,port=8080 >>>>>>> 19-May-2008 17:22:58 org.apache.tomcat.util.modeler.BaseModelMBean >>>>>>> preRegister >>>>>>> FINE: preRegister >>>>>>> [EMAIL PROTECTED] >>>>>>> :type=Connector,port=8080 >>>>>>> 19-May-2008 17:26:07 org.apache.tomcat.util.modeler.BaseModelMBean >>>>>>> preRegister >>>>>>> FINE: preRegister BaseModelMbean[null] Catalina:type=MBeanFactory >>>>>>> 19-May-2008 17:26:07 org.apache.tomcat.util.modeler.BaseModelMBean >>>>>>> preRegister >>>>>>> FINE: preRegister null Catalina:type=MBeanFactory >>>>>>> 19-May-2008 17:26:07 org.apache.tomcat.util.modeler.BaseModelMBean >>>>>>> preRegister >>>>>>> FINE: preRegister >>>>>>> [EMAIL PROTECTED] >>>>>>> :type=NamingResources,resourcetype=Global >>>>>>> >>>>>> > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >