[
https://issues.apache.org/jira/browse/DERBY-5185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen updated DERBY-5185:
--------------------------------------
Attachment: stack.txt
Uploading a stack dump for the process that hangs.
> store/rollForwardRecovery.sql stuck in
> RAFContainer4.recoverContainerAfterInterrupt() during shutdown
> -----------------------------------------------------------------------------------------------------
>
> Key: DERBY-5185
> URL: https://issues.apache.org/jira/browse/DERBY-5185
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.9.0.0
> Environment: Derby 10.9.0.0 alpha - (1090406)
> Oracle Enterprise Linux 6.0
> Linux 2.6.32-100.28.9.el6.x86_64 #1 SMP Wed Mar 16 19:24:16 EDT 2011 x86_64
> x86_64 x86_64 GNU/Linux
> java version "1.7.0-ea"
> Java(TM) SE Runtime Environment (build 1.7.0-ea-b135)
> Java HotSpot(TM) Client VM (build 21.0-b05, mixed mode, sharing)
> Reporter: Knut Anders Hatlen
> Attachments: stack.txt
>
>
> I have a derbyall that has been running for more than two days now. It seems
> to be stuck in the store/rollForwardRecovery.sql test while the engine is
> shutting down.
> Here's the stack trace for the daemon thread that's stuck:
> "derby.rawStoreDaemon" daemon prio=10 tid=0xf3e7dc00 nid=0x3505 waiting on
> condition [0xf4066000]
> java.lang.Thread.State: TIMED_WAITING (sleeping)
> at java.lang.Thread.sleep(Native Method)
> at
> org.apache.derby.impl.store.raw.data.RAFContainer4.recoverContainerAfterInterrupt(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.RAFContainer4.readPage(Unknown Source)
> at
> org.apache.derby.impl.store.raw.data.RAFContainer4.readPage(Unknown Source)
> at org.apache.derby.impl.store.raw.data.CachedPage.readPage(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(Unknown Source)
> at org.apache.derby.impl.services.cache.ConcurrentCache.find(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.FileContainer.getAllocPage(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.BaseContainer.getAllocPage(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.BaseContainerHandle.getAllocPage(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.FileContainer.deallocatePagenum(Unknown
> Source)
> - locked <0xc5adbce8> (a
> org.apache.derby.impl.store.raw.data.AllocationCache)
> at
> org.apache.derby.impl.store.raw.data.FileContainer.deallocatePage(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.BaseContainer.removePage(Unknown Source)
> at
> org.apache.derby.impl.store.raw.data.BaseContainerHandle.removePage(Unknown
> Source)
> at
> org.apache.derby.impl.store.access.heap.HeapController.removePage(Unknown
> Source)
> at
> org.apache.derby.impl.store.access.heap.HeapPostCommit.purgeCommittedDeletes(Unknown
> Source)
> at
> org.apache.derby.impl.store.access.heap.HeapPostCommit.performWork(Unknown
> Source)
> at
> org.apache.derby.impl.services.daemon.BasicDaemon.serviceClient(Unknown
> Source)
> at org.apache.derby.impl.services.daemon.BasicDaemon.work(Unknown
> Source)
> at org.apache.derby.impl.services.daemon.BasicDaemon.run(Unknown
> Source)
> at java.lang.Thread.run(Thread.java:722)
> And here's the stack trace for the main thread, which is waiting for the
> daemon thread to stop:
> "main" prio=10 tid=0xf6c05c00 nid=0x34e5 in Object.wait() [0xf6dbe000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0xc5ac5760> (a
> org.apache.derby.impl.services.daemon.BasicDaemon)
> at java.lang.Object.wait(Object.java:504)
> at org.apache.derby.impl.services.daemon.BasicDaemon.pause(Unknown
> Source)
> - locked <0xc5ac5760> (a
> org.apache.derby.impl.services.daemon.BasicDaemon)
> at org.apache.derby.impl.services.daemon.BasicDaemon.stop(Unknown
> Source)
> at org.apache.derby.impl.store.raw.RawStore.stop(Unknown Source)
> at org.apache.derby.impl.services.monitor.TopService.stop(Unknown
> Source)
> at org.apache.derby.impl.services.monitor.TopService.shutdown(Unknown
> Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(Unknown Source)
> at
> org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(Unknown Source)
> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
> at java.sql.DriverManager.getConnection(DriverManager.java:620)
> at java.sql.DriverManager.getConnection(DriverManager.java:222)
> at org.apache.derby.impl.tools.ij.utilMain.cleanupGo(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.main(Unknown Source)
> at org.apache.derby.tools.ij.main(Unknown Source)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira