Hi,

we've started to experience very slow shutdown of our tomcat instances in
production. Doing a thread dump I see:

"localhost-startStop-2" #14871 daemon prio=5 os_prio=64
tid=0x0000000006700800 nid=0x3a37 runnable [0xfffffcffcc5fd000]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:326)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1877)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1841)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1534)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
        at java.util.HashMap.internalWriteEntries(HashMap.java:1785)
        at java.util.HashMap.writeObject(HashMap.java:1362)
        at sun.reflect.GeneratedMethodAccessor299.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
        at
org.apache.wicket.pageStore.DiskDataStore.saveIndex(DiskDataStore.java:270)
        at
org.apache.wicket.pageStore.DiskDataStore.destroy(DiskDataStore.java:106)
        at
org.apache.wicket.pageStore.AsynchronousDataStore.destroy(AsynchronousDataStore.java:118)
        at
org.apache.wicket.pageStore.AbstractPageStore.destroy(AbstractPageStore.java:53)
        at
org.apache.wicket.pageStore.AbstractCachingPageStore.destroy(AbstractCachingPageStore.java:102)
        at
org.apache.wicket.page.PageStoreManager.destroy(PageStoreManager.java:464)
        at
org.apache.wicket.Application.internalDestroy(Application.java:798)
        at
org.apache.wicket.protocol.http.WebApplication.internalDestroy(WebApplication.java:703)
        at
org.apache.wicket.protocol.http.WicketFilter.destroy(WicketFilter.java:612)
        at
org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:313)
        at
org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4600)
        - locked <0x0000000703c91570> (a java.util.HashMap)
        at
org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5362)
        - locked <0x0000000703c91368> (a
org.apache.catalina.core.StandardContext)
        at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
        - locked <0x0000000703c91368> (a
org.apache.catalina.core.StandardContext)
        at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1425)
        at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1414)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)


We do have replication setup, but I'm sure that this has only just started
happening in the last week or so. What could cause this and is there
anything I could do?

Reply via email to