[ 
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)

Reply via email to