[jboss-dev] shutdown deadlock

Scott Stark sstark at redhat.com
Mon Oct 27 16:39:32 EDT 2008


I just ran into this shutdown deadlock stopping the current jbossas 
trunk profileservice config. Looks like a problem with some background 
hsqldb thread our HypersonicDatabase mbean wrapper.

^\Full thread dump Java HotSpot(TM) Client VM (1.5.0_16-133 mixed mode):

"ConnectionValidator" daemon prio=5 tid=0x3e4c8670 nid=0x3cbb0a00 in 
Object.wait() [0xb169e000..0xb169ed90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x065e0308> (a java.util.ArrayList)
    at 
org.jboss.resource.connectionmanager.ConnectionValidator$ConnectionValidatorRunnable.run(ConnectionValidator.java:170)
    - locked <0x065e0308> (a java.util.ArrayList)
    at java.lang.Thread.run(Thread.java:613)

"IdleRemover" daemon prio=5 tid=0x3e4ae570 nid=0x852200 in Object.wait() 
[0xb161d000..0xb161dd90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x065e0330> (a java.util.concurrent.CopyOnWriteArrayList)
    at 
org.jboss.resource.connectionmanager.IdleRemover$IdleRemoverRunnable.run(IdleRemover.java:161)
    - locked <0x065e0330> (a java.util.concurrent.CopyOnWriteArrayList)
    at java.lang.Thread.run(Thread.java:613)

"TimeoutFactory-1" daemon prio=5 tid=0x3e49ff00 nid=0x3cf83800 in 
Object.wait() [0xb1fb0000..0xb1fb0d90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x065e2500> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:474)
    at 
org.jboss.util.timeout.TimeoutPriorityQueueImpl.poll(TimeoutPriorityQueueImpl.java:251)
    - locked <0x065e2500> (a java.lang.Object)
    at 
org.jboss.util.timeout.TimeoutPriorityQueueImpl.take(TimeoutPriorityQueueImpl.java:228)
    at org.jboss.util.timeout.TimeoutFactory.doWork(TimeoutFactory.java:221)
    at 
org.jboss.util.timeout.TimeoutFactory.access$000(TimeoutFactory.java:42)
    at org.jboss.util.timeout.TimeoutFactory$1.run(TimeoutFactory.java:140)

"ajp-127.0.0.1-8009-1" daemon prio=5 tid=0x3e4af7d0 nid=0x39fa5000 in 
Object.wait() [0xb159c000..0xb159cd90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x065e2578> (a 
org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:474)
    at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:416)
    - locked <0x065e2578> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:442)
    at java.lang.Thread.run(Thread.java:613)

"JBoss Shutdown Hook" daemon prio=5 tid=0x3e4a3e30 nid=0xd8d800 waiting 
for monitor entry [0xb1499000..0xb149ad90]
    at org.hsqldb.lib.HsqlTimer$TaskQueue.signalTaskCancelled(Unknown 
Source)
    - waiting to lock <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
    at org.hsqldb.lib.HsqlTimer$Task.cancel(Unknown Source)
    - locked <0x06266568> (a java.lang.Object)
    at org.hsqldb.lib.HsqlTimer.cancel(Unknown Source)
    at org.hsqldb.scriptio.ScriptWriterBase.stop(Unknown Source)
    at org.hsqldb.scriptio.ScriptWriterBase.close(Unknown Source)
    at org.hsqldb.persist.Log.closeLog(Unknown Source)
    - locked <0x06221b70> (a org.hsqldb.persist.Log)
    at org.hsqldb.persist.Log.close(Unknown Source)
    at org.hsqldb.persist.Logger.closeLog(Unknown Source)
    at org.hsqldb.Database.close(Unknown Source)
    at org.hsqldb.DatabaseCommandInterpreter.processShutdown(Unknown Source)
    at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source)
    at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source)
    at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source)
    - locked <0x0e9e2ba0> (a org.hsqldb.Database)
    at org.hsqldb.Session.execute(Unknown Source)
    - locked <0x0e9e2ba0> (a org.hsqldb.Database)
    at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
    at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
    at 
org.jboss.jdbc.HypersonicDatabase.stopStandaloneDatabase(HypersonicDatabase.java:713)
    at 
org.jboss.jdbc.HypersonicDatabase.stopService(HypersonicDatabase.java:590)
    at 
org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:405)
    at 
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:324)
    at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
    at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
    at 
org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:189)
    at $Proxy35.stop(Unknown Source)
    at 
org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:56)
    at 
org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:37)
    at 
org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleUninstallAction(SimpleControllerContextAction.java:79)
    at 
org.jboss.dependency.plugins.action.AccessControllerContextAction.uninstall(AccessControllerContextAction.java:131)
    at 
org.jboss.dependency.plugins.AbstractControllerContextActions.uninstall(AbstractControllerContextActions.java:58)
    at 
org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
    at 
org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1631)
    at 
org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1242)
    at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:827)
    at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at 
org.jboss.system.ServiceController.doChange(ServiceController.java:672)
    at org.jboss.system.ServiceController.stop(ServiceController.java:494)
    at 
org.jboss.system.deployers.ServiceDeployer.stop(ServiceDeployer.java:153)
    at 
org.jboss.system.deployers.ServiceDeployer.undeploy(ServiceDeployer.java:133)
    at 
org.jboss.system.deployers.ServiceDeployer.undeploy(ServiceDeployer.java:45)
    at 
org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalUndeploy(AbstractSimpleRealDeployer.java:69)
    at 
org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.undeploy(AbstractRealDeployer.java:112)
    at 
org.jboss.deployers.plugins.deployers.DeployerWrapper.undeploy(DeployerWrapper.java:196)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doUndeploy(DeployersImpl.java:1440)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1347)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1340)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.uninstall(DeployersImpl.java:1302)
    at 
org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
    at 
org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1631)
    at 
org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1242)
    at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:827)
    at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:665)
    at 
org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
    at 
org.jboss.system.server.profileservice.ProfileServiceBootstrap.unload(ProfileServiceBootstrap.java:379)
    at 
org.jboss.system.server.profileservice.ProfileServiceBootstrap.unloadProfile(ProfileServiceBootstrap.java:340)
    at 
org.jboss.system.server.profileservice.ProfileServiceBootstrap.shutdown(ProfileServiceBootstrap.java:168)
    at 
org.jboss.bootstrap.AbstractServerImpl.shutdownServer(AbstractServerImpl.java:508)
    at 
org.jboss.bootstrap.AbstractServerImpl$ShutdownHook.run(AbstractServerImpl.java:827)

"SIGINT handler" daemon prio=9 tid=0x3e4a1730 nid=0x398cdc00 in 
Object.wait() [0xb0d8c000..0xb0d8cd90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x08146168> (a 
org.jboss.bootstrap.AbstractServerImpl$ShutdownHook)
    at java.lang.Thread.join(Thread.java:1113)
    - locked <0x08146168> (a 
org.jboss.bootstrap.AbstractServerImpl$ShutdownHook)
    at java.lang.Thread.join(Thread.java:1166)
    at java.lang.Shutdown.runHooks(Shutdown.java:132)
    at java.lang.Shutdown.sequence(Shutdown.java:173)
    at java.lang.Shutdown.exit(Shutdown.java:218)
    - locked <0x25c9f6a0> (a java.lang.Class)
    at java.lang.Terminator$1.handle(Terminator.java:35)
    at sun.misc.Signal$1.run(Signal.java:195)
    at java.lang.Thread.run(Thread.java:613)

"JDWP Transport Listener: dt_socket" daemon prio=5 tid=0x3e4b2820 
nid=0xfd1600 runnable [0x00000000..0x00000000]

"JBoss System Threads(1)-3" daemon prio=5 tid=0x3e4c21c0 nid=0x398bbc00 
waiting on condition [0xb1398000..0xb1398d90]
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
    at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
    at 
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
    at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
    at java.lang.Thread.run(Thread.java:613)

"ajp-127.0.0.1-8009-Acceptor-0" daemon prio=5 tid=0x3e476330 
nid=0x3a918800 waiting on condition [0xb2fd0000..0xb2fd0d90]
    at java.lang.Thread.sleep(Native Method)
    at 
org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:302)
    at java.lang.Thread.run(Thread.java:613)

"http-127.0.0.1-8080-Acceptor-0" daemon prio=5 tid=0x3e475240 
nid=0x3f608c00 waiting on condition [0xb2f4f000..0xb2f4fd90]
    at java.lang.Thread.sleep(Native Method)
    at 
org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:302)
    at java.lang.Thread.run(Thread.java:613)

"JBossLifeThread" prio=5 tid=0x3e47b1d0 nid=0x9b8c00 in Object.wait() 
[0xb2ece000..0xb2eced90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0f0eb050> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:474)
    at 
org.jboss.bootstrap.AbstractServerImpl$LifeThread.run(AbstractServerImpl.java:784)
    - locked <0x0f0eb050> (a java.lang.Object)

"JCA PoolFiller" prio=5 tid=0x3e4648f0 nid=0xd96600 in Object.wait() 
[0xb273f000..0xb273fd90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0edd39e0> (a java.util.LinkedList)
    at java.lang.Object.wait(Object.java:474)
    at 
org.jboss.resource.connectionmanager.PoolFiller.run(PoolFiller.java:87)
    - locked <0x0edd39e0> (a java.util.LinkedList)
    at java.lang.Thread.run(Thread.java:613)

"Timer-1" daemon prio=5 tid=0x3e45faa0 nid=0xd95800 in Object.wait() 
[0xb26be000..0xb26bed90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0edd3a08> (a java.util.TaskQueue)
    at java.util.TimerThread.mainLoop(Timer.java:509)
    - locked <0x0edd3a08> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

"HSQLDB Timer @6e4d5b" daemon prio=5 tid=0x3e45a030 nid=0x3f2fd400 
waiting for monitor entry [0xb263d000..0xb263dd90]
    at org.hsqldb.lib.HsqlTimer$Task.isCancelled(Unknown Source)
    - waiting to lock <0x06266568> (a java.lang.Object)
    at org.hsqldb.lib.HsqlTimer$TaskQueue.peekTask(Unknown Source)
    - locked <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
    at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
    - locked <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
    at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:613)

"WorkManager(2)-1" daemon prio=5 tid=0x3e44b960 nid=0x913a00 waiting on 
condition [0xb2031000..0xb2031d90]
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
    at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
    at 
java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:200)
    at 
org.jboss.resource.adapter.mail.inflow.NewMsgsWorker.run(NewMsgsWorker.java:76)
    at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
    at 
org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Thread.java:613)

"RMI TCP Accept-4444" daemon prio=5 tid=0x3e42f900 nid=0x8f8c00 runnable 
[0xb1e2d000..0xb1e2dd90]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x0e3a7cf0> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:450)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:340)
    at java.lang.Thread.run(Thread.java:613)

"Listener:4712" daemon prio=5 tid=0x3e42beb0 nid=0xd7e400 runnable 
[0xb1d2b000..0xb1d2bd90]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x0e244900> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:450)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at 
com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:119)

"Thread-11" daemon prio=5 tid=0x3e429fa0 nid=0x3ca10000 waiting on 
condition [0xb1c29000..0xb1c29d90]
    at java.lang.Thread.sleep(Native Method)
    at 
com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.run(ExpiredEntryMonitor.java:237)

"Thread-10" daemon prio=5 tid=0x3e4284f0 nid=0xd7d600 in Object.wait() 
[0xb1ba8000..0xb1ba8d90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e244990> (a java.util.LinkedList)
    at java.lang.Object.wait(Object.java:474)
    at 
com.arjuna.ats.arjuna.coordinator.TransactionReaper.waitForCancellations(TransactionReaper.java:513)
    - locked <0x0e244990> (a java.util.LinkedList)
    at 
com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:74)

"Thread-9" daemon prio=5 tid=0x3e428200 nid=0x863a00 in Object.wait() 
[0xb1b27000..0xb1b27d90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e2449a8> (a 
com.arjuna.ats.arjuna.coordinator.TransactionReaper)
    at 
com.arjuna.ats.internal.arjuna.coordinator.ReaperThread.run(ReaperThread.java:98)
    - locked <0x0e2449a8> (a 
com.arjuna.ats.arjuna.coordinator.TransactionReaper)

"Listener:4713" daemon prio=5 tid=0x3e4250d0 nid=0x3abe8400 runnable 
[0xb1aa6000..0xb1aa6d90]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x0e2449f0> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:450)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at 
com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:119)

"HDScanner" prio=5 tid=0x3e420540 nid=0x39b2ca00 waiting on condition 
[0xb1a25000..0xb1a25d90]
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
    at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:131)
    at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504)
    at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497)
    at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
    at java.lang.Thread.run(Thread.java:613)

"RMI LeaseChecker" daemon prio=5 tid=0x3e40bd80 nid=0x39991a00 waiting 
on condition [0xb151b000..0xb151bd90]
    at java.lang.Thread.sleep(Native Method)
    at sun.rmi.transport.DGCImpl$LeaseChecker.run(DGCImpl.java:310)
    at java.lang.Thread.run(Thread.java:613)

"RMI RenewClean-[127.0.0.1:55476]" daemon prio=5 tid=0x3e40a9a0 
nid=0xa45200 in Object.wait() [0xb1419000..0xb1419d90]
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
    - locked <0x0d768c00> (a java.lang.ref.ReferenceQueue$Lock)
    at 
sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:501)
    at java.lang.Thread.run(Thread.java:613)

"RMI TCP Accept-0" daemon prio=5 tid=0x3e4039d0 nid=0x3ab9e200 runnable 
[0xb1317000..0xb1317d90]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x0d76ae90> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:450)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:340)
    at java.lang.Thread.run(Thread.java:613)

"RMI TCP Accept-1090" daemon prio=5 tid=0x3e402390 nid=0x3aff7200 
runnable [0xb1296000..0xb1296d90]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x0d76afc0> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:450)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:340)
    at java.lang.Thread.run(Thread.java:613)

"SubscriptionWatchDog" prio=5 tid=0x010c6580 nid=0xd8e600 waiting on 
condition [0xb1215000..0xb1215d90]
    at java.lang.Thread.sleep(Native Method)
    at 
org.jboss.ws.extensions.eventing.mgmt.SubscriptionManager$WatchDog.run(SubscriptionManager.java:651)
    at java.lang.Thread.run(Thread.java:613)

"JBoss System Threads(1)-2" daemon prio=5 tid=0x0108a220 nid=0xdbea00 
runnable [0xb1194000..0xb1194d90]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x0987a498> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:450)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at org.jnp.server.Main$AcceptHandler.run(Main.java:548)
    at 
org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:147)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Thread.java:613)

"GC Daemon" daemon prio=2 tid=0x0108c6d0 nid=0xe30400 in Object.wait() 
[0xb1113000..0xb1113d90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0987a620> (a sun.misc.GC$LatencyLock)
    at sun.misc.GC$Daemon.run(GC.java:100)
    - locked <0x0987a620> (a sun.misc.GC$LatencyLock)

"RMI Reaper" prio=5 tid=0x0108bfd0 nid=0xedfe00 in Object.wait() 
[0xb1092000..0xb1092d90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0987a628> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
    - locked <0x0987a628> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)
    at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:336)
    at java.lang.Thread.run(Thread.java:613)

"Timer-0" daemon prio=5 tid=0x0108b8d0 nid=0xe88e00 in Object.wait() 
[0xb1011000..0xb1011d90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0987a658> (a java.util.TaskQueue)
    at java.lang.Object.wait(Object.java:474)
    at java.util.TimerThread.mainLoop(Timer.java:483)
    - locked <0x0987a658> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

"RMI TCP Accept-1098" daemon prio=5 tid=0x0108b200 nid=0xda1200 runnable 
[0xb0f90000..0xb0f90d90]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x0987a678> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:450)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:340)
    at java.lang.Thread.run(Thread.java:613)

"JBoss System Threads(1)-1" daemon prio=5 tid=0x010835d0 nid=0xdde600 
runnable [0xb0f0f000..0xb0f0fd90]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    - locked <0x09791698> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:450)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at org.jboss.web.WebServer.run(WebServer.java:320)
    at 
org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:147)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Thread.java:613)

"Timer-Log4jService" daemon prio=5 tid=0x01086040 nid=0xda5600 in 
Object.wait() [0xb0e8e000..0xb0e8ed90]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x09791838> (a java.util.TaskQueue)
    at java.util.TimerThread.mainLoop(Timer.java:509)
    - locked <0x09791838> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

"DestroyJavaVM" prio=5 tid=0x010018e0 nid=0xb0801000 waiting on 
condition [0x00000000..0xb0800060]

"Low Memory Detector" daemon prio=5 tid=0x0100f1f0 nid=0x808200 runnable 
[0x00000000..0x00000000]

"CompilerThread0" daemon prio=9 tid=0x0100e340 nid=0x807400 waiting on 
condition [0x00000000..0xb0c097d8]

"Signal Dispatcher" daemon prio=9 tid=0x0100de40 nid=0x806600 waiting on 
condition [0x00000000..0xb0b88d10]

"JDWP Event Helper Thread" daemon prio=5 tid=0x0100d5c0 nid=0x805800 
runnable [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x01007f90 nid=0x81c800 in Object.wait() 
[0xb0a05000..0xb0a05d90]
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
    - locked <0x08140900> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x01007bb0 nid=0x81b000 in 
Object.wait() [0xb0984000..0xb0984d90]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:474)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x08140410> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=9 tid=0x01007300 nid=0x81a200 runnable

"VM Periodic Task Thread" prio=9 tid=0x0100fe80 nid=0x820600 waiting on 
condition

"Exception Catcher Thread" prio=10 tid=0x01001b00 nid=0x80ac00 runnable

Found one Java-level deadlock:
=============================
"JBoss Shutdown Hook":
  waiting to lock monitor 0x0081c08c (object 0x0e9dbe10, a 
org.hsqldb.lib.HsqlTimer$TaskQueue),
  which is held by "HSQLDB Timer @6e4d5b"
"HSQLDB Timer @6e4d5b":
  waiting to lock monitor 0x0081bfd8 (object 0x06266568, a 
java.lang.Object),
  which is held by "JBoss Shutdown Hook"

Java stack information for the threads listed above:
===================================================
"JBoss Shutdown Hook":
    at org.hsqldb.lib.HsqlTimer$TaskQueue.signalTaskCancelled(Unknown 
Source)
    - waiting to lock <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
    at org.hsqldb.lib.HsqlTimer$Task.cancel(Unknown Source)
    - locked <0x06266568> (a java.lang.Object)
    at org.hsqldb.lib.HsqlTimer.cancel(Unknown Source)
    at org.hsqldb.scriptio.ScriptWriterBase.stop(Unknown Source)
    at org.hsqldb.scriptio.ScriptWriterBase.close(Unknown Source)
    at org.hsqldb.persist.Log.closeLog(Unknown Source)
    - locked <0x06221b70> (a org.hsqldb.persist.Log)
    at org.hsqldb.persist.Log.close(Unknown Source)
    at org.hsqldb.persist.Logger.closeLog(Unknown Source)
    at org.hsqldb.Database.close(Unknown Source)
    at org.hsqldb.DatabaseCommandInterpreter.processShutdown(Unknown Source)
    at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source)
    at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source)
    at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source)
    - locked <0x0e9e2ba0> (a org.hsqldb.Database)
    at org.hsqldb.Session.execute(Unknown Source)
    - locked <0x0e9e2ba0> (a org.hsqldb.Database)
    at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
    at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
    at 
org.jboss.jdbc.HypersonicDatabase.stopStandaloneDatabase(HypersonicDatabase.java:713)
    at 
org.jboss.jdbc.HypersonicDatabase.stopService(HypersonicDatabase.java:590)
    at 
org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:405)
    at 
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:324)
    at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
    at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
    at 
org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:189)
    at $Proxy35.stop(Unknown Source)
    at 
org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:56)
    at 
org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:37)
    at 
org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleUninstallAction(SimpleControllerContextAction.java:79)
    at 
org.jboss.dependency.plugins.action.AccessControllerContextAction.uninstall(AccessControllerContextAction.java:131)
    at 
org.jboss.dependency.plugins.AbstractControllerContextActions.uninstall(AbstractControllerContextActions.java:58)
    at 
org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
    at 
org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1631)
    at 
org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1242)
    at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:827)
    at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at 
org.jboss.system.ServiceController.doChange(ServiceController.java:672)
    at org.jboss.system.ServiceController.stop(ServiceController.java:494)
    at 
org.jboss.system.deployers.ServiceDeployer.stop(ServiceDeployer.java:153)
    at 
org.jboss.system.deployers.ServiceDeployer.undeploy(ServiceDeployer.java:133)
    at 
org.jboss.system.deployers.ServiceDeployer.undeploy(ServiceDeployer.java:45)
    at 
org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalUndeploy(AbstractSimpleRealDeployer.java:69)
    at 
org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.undeploy(AbstractRealDeployer.java:112)
    at 
org.jboss.deployers.plugins.deployers.DeployerWrapper.undeploy(DeployerWrapper.java:196)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doUndeploy(DeployersImpl.java:1440)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1347)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1340)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.uninstall(DeployersImpl.java:1302)
    at 
org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
    at 
org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1631)
    at 
org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1242)
    at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:827)
    at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at 
org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:665)
    at 
org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
    at 
org.jboss.system.server.profileservice.ProfileServiceBootstrap.unload(ProfileServiceBootstrap.java:379)
    at 
org.jboss.system.server.profileservice.ProfileServiceBootstrap.unloadProfile(ProfileServiceBootstrap.java:340)
    at 
org.jboss.system.server.profileservice.ProfileServiceBootstrap.shutdown(ProfileServiceBootstrap.java:168)
    at 
org.jboss.bootstrap.AbstractServerImpl.shutdownServer(AbstractServerImpl.java:508)
    at 
org.jboss.bootstrap.AbstractServerImpl$ShutdownHook.run(AbstractServerImpl.java:827)
"HSQLDB Timer @6e4d5b":
    at org.hsqldb.lib.HsqlTimer$Task.isCancelled(Unknown Source)
    - waiting to lock <0x06266568> (a java.lang.Object)
    at org.hsqldb.lib.HsqlTimer$TaskQueue.peekTask(Unknown Source)
    - locked <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
    at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
    - locked <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
    at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:613)

Found 1 deadlock.




More information about the jboss-development mailing list