db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-5037) Assertion failure from index-stat-thread when running AutomaticIndexStatisticsTest
Date Tue, 15 Feb 2011 20:56:57 GMT

    [ https://issues.apache.org/jira/browse/DERBY-5037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12995001#comment-12995001
] 

Knut Anders Hatlen commented on DERBY-5037:
-------------------------------------------

Thanks for making the changes, Rick. I'm fine with that patch.

One small nit is that the comments in tryToGatherStats() seem to imply that StandardException
can only be raised by non-debug jars and RuntimeException only by debug jars. I'm not sure
that's necessarily correct. For example, in DERBY-5030 a NullPointerException is raised in
this code when running with non-debug jars. I suppose the opposite could happen as well.

> Assertion failure from index-stat-thread when running AutomaticIndexStatisticsTest
> ----------------------------------------------------------------------------------
>
>                 Key: DERBY-5037
>                 URL: https://issues.apache.org/jira/browse/DERBY-5037
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>            Reporter: Rick Hillegas
>         Attachments: derby-5037-01-aa-checkForShutdown.diff, derby-5037-01-ab-checkForShutdown.diff
>
>
> I see the following assertion failure on the console when running AutomaticIndexStatisticsTest
standalone against debug jars. This may be related to DERBY-5026, DERBY-5030, and DERBY-5031.
The test itself completes successfully:
> ...Exception in thread "index-stat-thread" org.apache.derby.shared.common.sanity.AssertFailure:
ASSERT FAILED No page at pagenumber: 1; ContainerHandle = BaseContainerHandle:(Container(0,
1153))
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
> 	at org.apache.derby.impl.store.access.btree.ControlRow.get(ControlRow.java:838)
> 	at org.apache.derby.impl.store.access.btree.ControlRow.get(ControlRow.java:820)
> 	at org.apache.derby.impl.store.access.btree.BTreeScan.reposition(BTreeScan.java:850)
> 	at org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(BTreeForwardScan.java:109)
> 	at org.apache.derby.impl.store.access.btree.BTreeScan.fetchNextGroup(BTreeScan.java:1596)
> 	at org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl$KeyComparator.fetchRows(IndexStatisticsDaemonImpl.java:1103)
> 	at org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl.updateIndexStatsMinion(IndexStatisticsDaemonImpl.java:453)
> 	at org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl.generateStatistics(IndexStatisticsDaemonImpl.java:324)
> 	at org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl.run(IndexStatisticsDaemonImpl.java:710)
> 	at java.lang.Thread.run(Thread.java:637)
> ---------------
> Stack traces for all live threads:
> Thread name=derby.rawStoreDaemon id=13 priority=5 state=TIMED_WAITING isdaemon=true
> 	java.lang.Object.wait(Native Method)
> 	org.apache.derby.impl.services.daemon.BasicDaemon.rest(BasicDaemon.java:576)
> 	org.apache.derby.impl.services.daemon.BasicDaemon.run(BasicDaemon.java:390)
> 	java.lang.Thread.run(Thread.java:637)
> Thread name=Finalizer id=3 priority=8 state=WAITING isdaemon=true
> 	java.lang.Object.wait(Native Method)
> 	java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
> 	java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
> 	java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
> Thread name=Reference Handler id=2 priority=10 state=WAITING isdaemon=true
> 	java.lang.Object.wait(Native Method)
> 	java.lang.Object.wait(Object.java:485)
> 	java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
> Thread name=main id=1 priority=5 state=RUNNABLE isdaemon=false
> 	java.security.AccessController.doPrivileged(Native Method)
> 	org.apache.derby.impl.store.raw.data.BaseDataFileFactory.releaseJBMSLockOnDB(BaseDataFileFactory.java:2040)
> 	org.apache.derby.impl.store.raw.data.BaseDataFileFactory.stop(BaseDataFileFactory.java:519)
> 	org.apache.derby.impl.services.monitor.TopService.stop(TopService.java:442)
> 	org.apache.derby.impl.services.monitor.TopService.shutdown(TopService.java:393)
> 	org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(BaseMonitor.java:229)
> 	org.apache.derby.impl.db.DatabaseContextImpl.cleanupOnError(DatabaseContextImpl.java:62)
> 	org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(ContextManager.java:343)
> 	org.apache.derby.impl.jdbc.TransactionResourceImpl.cleanupOnError(TransactionResourceImpl.java:433)
> 	org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:633)
> 	org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:73)
> 	org.apache.derby.impl.jdbc.EmbedConnection40.<init>(EmbedConnection40.java:56)
> 	org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:70)
> 	org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:248)
> 	org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:480)
> 	org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:424)
> 	org.apache.derbyTesting.junit.JDBCDataSource.shutdownDatabase(JDBCDataSource.java:266)
> 	org.apache.derbyTesting.functionTests.tests.store.AutomaticIndexStatisticsTest.testShutdownWhileScanningThenDelete(AutomaticIndexStatisticsTest.java:180)
> 	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	java.lang.reflect.Method.invoke(Method.java:597)
> 	junit.framework.TestCase.runTest(TestCase.java:164)
> 	junit.framework.TestCase.runBare(TestCase.java:130)
> 	org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:112)
> 	junit.framework.TestResult$1.protect(TestResult.java:106)
> 	junit.framework.TestResult.runProtected(TestResult.java:124)
> 	junit.framework.TestResult.run(TestResult.java:109)
> 	junit.framework.TestCase.run(TestCase.java:120)
> 	junit.framework.TestSuite.runTest(TestSuite.java:230)
> 	junit.framework.TestSuite.run(TestSuite.java:225)
> 	junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> 	junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> 	junit.framework.TestResult.runProtected(TestResult.java:124)
> 	junit.extensions.TestSetup.run(TestSetup.java:25)
> 	org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> 	junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> 	junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> 	junit.framework.TestResult.runProtected(TestResult.java:124)
> 	junit.extensions.TestSetup.run(TestSetup.java:25)
> 	junit.textui.TestRunner.doRun(TestRunner.java:121)
> 	junit.textui.TestRunner.start(TestRunner.java:185)
> 	junit.textui.TestRunner.main(TestRunner.java:143)
> Thread name=index-stat-thread id=18 priority=5 state=RUNNABLE isdaemon=true
> 	java.lang.Thread.dumpThreads(Native Method)
> 	java.lang.Thread.getAllStackTraces(Thread.java:1511)
> 	org.apache.derby.shared.common.sanity.ThreadDump.getStackDumpString(ThreadDump.java:34)
> 	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	java.lang.reflect.Method.invoke(Method.java:597)
> 	org.apache.derby.shared.common.sanity.AssertFailure$1.run(AssertFailure.java:165)
> 	java.security.AccessController.doPrivileged(Native Method)
> 	org.apache.derby.shared.common.sanity.AssertFailure.dumpThreads(AssertFailure.java:159)
> 	org.apache.derby.shared.common.sanity.AssertFailure.<init>(AssertFailure.java:72)
> 	org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
> 	org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
> 	org.apache.derby.impl.store.access.btree.ControlRow.get(ControlRow.java:838)
> 	org.apache.derby.impl.store.access.btree.ControlRow.get(ControlRow.java:820)
> 	org.apache.derby.impl.store.access.btree.BTreeScan.reposition(BTreeScan.java:850)
> 	org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(BTreeForwardScan.java:109)
> 	org.apache.derby.impl.store.access.btree.BTreeScan.fetchNextGroup(BTreeScan.java:1596)
> 	org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl$KeyComparator.fetchRows(IndexStatisticsDaemonImpl.java:1103)
> 	org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl.updateIndexStatsMinion(IndexStatisticsDaemonImpl.java:453)
> 	org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl.generateStatistics(IndexStatisticsDaemonImpl.java:324)
> 	org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl.run(IndexStatisticsDaemonImpl.java:710)
> 	java.lang.Thread.run(Thread.java:637)
> Thread name=Signal Dispatcher id=5 priority=9 state=RUNNABLE isdaemon=true
> Thread name=Timer-0 id=9 priority=5 state=WAITING isdaemon=true
> 	java.lang.Object.wait(Native Method)
> 	java.lang.Object.wait(Object.java:485)
> 	java.util.TimerThread.mainLoop(Timer.java:483)
> 	java.util.TimerThread.run(Timer.java:462)
> ---------------
> ....
> Time: 153.799
> OK (7 tests)

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message