[
https://issues.apache.org/jira/browse/DERBY-6734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14128607#comment-14128607
]
Knut Anders Hatlen commented on DERBY-6734:
-------------------------------------------
The same assert was reported in DERBY-6153 in a different test. Common for
these two incidents is that the assert happens after some other exception has
been raised when trying to write data to disk, and
BaseDataFileFactory.markCorrupt() is called to take the database down. The
original exception is unfortunately lost.
In DERBY-6153 the original exception was suspected to be an IOException that
reported that the disk was full, since a later test failed with such an
exception.
> Error in DBInJarTest.testSpillHashToDisk
> ----------------------------------------
>
> Key: DERBY-6734
> URL: https://issues.apache.org/jira/browse/DERBY-6734
> Project: Derby
> Issue Type: Bug
> Components: Test
> Reporter: Rick Hillegas
>
> The following error turned up in the nightly tests on the 10.12 trunk on
> Windows_amd64_jdk8. See
> http://download.java.net/javadesktop/derby/request_5595773/
> {noformat}
> java.sql.SQLException: Java exception: 'ASSERT FAILED:
> org.apache.derby.shared.common.sanity.AssertFailure'.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:107)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:133)
> at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:255)
> at org.apache.derby.impl.jdbc.Util.javaException(Util.java:277)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:437)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:353)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2396)
> at
> org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:82)
> at
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1430)
> at
> org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:704)
> at
> org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(EmbedStatement.java:147)
> at
> org.apache.derbyTesting.functionTests.tests.lang.DBInJarTest.testSpillHashToDisk(DBInJarTest.java:165)
> at
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:119)
> at
> org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:440)
> at
> org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:457)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:58)
> Caused by: ERROR XJ001: Java exception: 'ASSERT FAILED:
> org.apache.derby.shared.common.sanity.AssertFailure'.
> at
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory.java:162)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:74)
> Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED
> at
> org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:98)
> at
> org.apache.derby.impl.services.cache.CacheEntry.lock(CacheEntry.java:115)
> at
> org.apache.derby.impl.services.cache.ConcurrentCache.discard(ConcurrentCache.java:636)
> at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.markCorrupt(BaseDataFileFactory.java:1333)
> at
> org.apache.derby.impl.store.raw.data.CachedPage.clean(CachedPage.java:624)
> at
> org.apache.derby.impl.services.cache.ConcurrentCache.cleanAndUnkeepEntry(ConcurrentCache.java:551)
> at
> org.apache.derby.impl.services.cache.ClockPolicy.rotateClock(ClockPolicy.java:476)
> at
> org.apache.derby.impl.services.cache.ClockPolicy.insertEntry(ClockPolicy.java:176)
> at
> org.apache.derby.impl.services.cache.ConcurrentCache.insertIntoFreeSlot(ConcurrentCache.java:208)
> at
> org.apache.derby.impl.services.cache.ConcurrentCache.create(ConcurrentCache.java:378)
> at
> org.apache.derby.impl.store.raw.data.FileContainer.initPage(FileContainer.java:2449)
> at
> org.apache.derby.impl.store.raw.data.FileContainer.newPage(FileContainer.java:1878)
> at
> org.apache.derby.impl.store.raw.data.TempRAFContainer.addPage(TempRAFContainer.java:156)
> at
> org.apache.derby.impl.store.raw.data.BaseContainerHandle.addPage(BaseContainerHandle.java:183)
> at
> org.apache.derby.impl.store.access.btree.LeafControlRow.allocate(LeafControlRow.java:123)
> at
> org.apache.derby.impl.store.access.btree.LeafControlRow.splitFor(LeafControlRow.java:634)
> at
> org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(BranchControlRow.java:906)
> at
> org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(BranchControlRow.java:906)
> at
> org.apache.derby.impl.store.access.btree.BTreeController.start_xact_and_dosplit(BTreeController.java:369)
> at
> org.apache.derby.impl.store.access.btree.BTreeController.doIns(BTreeController.java:1013)
> at
> org.apache.derby.impl.store.access.btree.BTreeController.insert(BTreeController.java:1372)
> at
> org.apache.derby.impl.store.access.btree.index.B2IController.insert(B2IController.java:210)
> at
> org.apache.derby.iapi.store.access.DiskHashtable.put(DiskHashtable.java:227)
> at
> org.apache.derby.iapi.store.access.BackingStoreHashtable.spillToDisk(BackingStoreHashtable.java:620)
> at
> org.apache.derby.iapi.store.access.BackingStoreHashtable.add_row_to_hash_table(BackingStoreHashtable.java:471)
> at
> org.apache.derby.iapi.store.access.BackingStoreHashtable.putRow(BackingStoreHashtable.java:1048)
> at
> org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(GenericScanController.java:808)
> at
> org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchSet(GenericScanController.java:1278)
> at
> org.apache.derby.impl.store.access.BackingStoreHashTableFromScan.<init>(BackingStoreHashTableFromScan.java:120)
> at
> org.apache.derby.impl.store.access.RAMTransaction.createBackingStoreHashtableFromScan(RAMTransaction.java:1337)
> at
> org.apache.derby.impl.sql.execute.HashScanResultSet.openCore(HashScanResultSet.java:259)
> at
> org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(BasicNoPutResultSetImpl.java:266)
> at
> org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:470)
> at
> org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:349)
> at
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1338)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)