db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6153) Derby5234Test..test_03_triggeringEdge: sanity AssertFailure during LogToFile call to markCorrupted after IOException
Date Sun, 07 Apr 2013 08:49:15 GMT

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

Dag H. Wanvik commented on DERBY-6153:
--------------------------------------

Later in the same test run we see there is no space left on the log device, so that's probably
the IOException. This probably means the assert is inappropriate during corrupt database shutdown
operation; or the shutdown doesn't happen the way it should.
                
> Derby5234Test..test_03_triggeringEdge: sanity AssertFailure during LogToFile call to
markCorrupted after IOException
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-6153
>                 URL: https://issues.apache.org/jira/browse/DERBY-6153
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.11.0.0
>         Environment: linux_ia32_jdk5
>            Reporter: Dag H. Wanvik
>
> In nighlies (suites.All on linux_ia32_jdk5), cf. 
> http://download.java.net/javadesktop/derby/javadb-5574814-report/javadb-5574814-3625325-details.html
> we this this error:
> ava.sql.SQLException: Java exception: 'ASSERT FAILED: org.apache.derby.shared.common.sanity.AssertFailure'.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:42)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:148)
> 	at org.apache.derby.impl.jdbc.Util.javaException(Util.java:370)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:436)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:353)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2400)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:85)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1436)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1724)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(EmbedPreparedStatement.java:320)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:309)
> 	at org.apache.derbyTesting.functionTests.tests.store.Derby5234Test.insertRows(Derby5234Test.java:159)
> 	at org.apache.derbyTesting.functionTests.tests.store.Derby5234Test.vetBasic(Derby5234Test.java:133)
> 	at org.apache.derbyTesting.functionTests.tests.store.Derby5234Test.test_03_triggeringEdge(Derby5234Test.java:213)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:442)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:459)
> 	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:57)
> 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:1317)
> 	at org.apache.derby.impl.store.raw.log.LogToFile.markCorrupt(LogToFile.java:620)
> 	at org.apache.derby.impl.store.raw.log.LogToFile.flush(LogToFile.java:4115)
> 	at org.apache.derby.impl.store.raw.log.LogToFile.flush(LogToFile.java:1858)
> 	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.flush(BaseDataFileFactory.java:1400)
> 	at org.apache.derby.impl.store.raw.data.CachedPage.writePage(CachedPage.java:763)
> 	at org.apache.derby.impl.store.raw.data.CachedPage.clean(CachedPage.java:612)
> 	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.find(ConcurrentCache.java:284)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.getAllocPage(FileContainer.java:2792)
> 	at org.apache.derby.impl.store.raw.data.BaseContainer.getAllocPage(BaseContainer.java:486)
> 	at org.apache.derby.impl.store.raw.data.BaseContainerHandle.getAllocPage(BaseContainerHandle.java:327)
> 	at org.apache.derby.impl.store.raw.data.AllocationCache.validate(AllocationCache.java:579)
> 	at org.apache.derby.impl.store.raw.data.AllocationCache.getLastPageNumber(AllocationCache.java:122)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.pageValid(FileContainer.java:2077)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.getUserPage(FileContainer.java:2532)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.getInsertablePage(FileContainer.java:2877)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.getPageForInsert(FileContainer.java:3027)
> 	at org.apache.derby.impl.store.raw.data.BaseContainerHandle.getPageForInsert(BaseContainerHandle.java:372)
> 	at org.apache.derby.impl.store.access.heap.HeapController.doInsert(HeapController.java:244)
> 	at org.apache.derby.impl.store.access.heap.HeapController.insert(HeapController.java:575)
> 	at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(RowChangerImpl.java:457)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(InsertResultSet.java:1057)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:518)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:452)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:333)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1344)
> The assertFailure is masking the real IOException here. If this means the assertion should
be removed or something else is wrong, I don't know. I'll see if I can dig up the IOException
on derby.log

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message