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] [Updated] (DERBY-6203) Intermittent assert failure in StoredPage.initSlotTable() when running upgrade tests on 10.9 branch
Date Thu, 25 Apr 2013 12:22:16 GMT

     [ https://issues.apache.org/jira/browse/DERBY-6203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Knut Anders Hatlen updated DERBY-6203:
--------------------------------------

    Attachment: derby-6203-01-a.diff

I was able to reproduce the failure in my environment (JDK 8 for Linux and head of 10.9 branch)
when I forced the same test ordering as in the failing nightly test run. It didn't fail every
time, though, so it seems like there's some other factor besides test ordering that influences
the result.

The attached patch against the 10.9 branch makes BasicSetup use a stable test ordering, like
it does on trunk and 10.10. I'm currently running the upgrade tests against 10.2.1.6 and head
of 10.9+patch in a loop. If I cannot reproduce the problem with the patch, I plan to commit
it to the 10.9 branch, and possibly also 10.8.
                
> Intermittent assert failure in StoredPage.initSlotTable() when running upgrade tests
on 10.9 branch
> ---------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-6203
>                 URL: https://issues.apache.org/jira/browse/DERBY-6203
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.9.2.2
>            Reporter: Knut Anders Hatlen
>         Attachments: derby-6203-01-a.diff
>
>
> Seen on JDK 8 on Windows when upgrading a 10.2.1.6 database to 10.9 format:
> http://download.java.net/javadesktop/derby/javadb-5575674-report/javadb-5575674-3636477-details.html
> Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED initSlotTable
consistency check failed:  slot 0 minimumRecordSize = 12 totalSpace = 12 recordPortionLength
= 8 reservedCount = 4
> 	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.raw.data.StoredPage.initSlotTable(StoredPage.java:2253)
> 	at org.apache.derby.impl.store.raw.data.StoredPage.initFromData(StoredPage.java:849)
> 	at org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(CachedPage.java:213)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.find(ConcurrentCache.java:295)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.getUserPage(FileContainer.java:2540)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.getPage(FileContainer.java:2590)
> 	at org.apache.derby.impl.store.raw.data.BaseContainerHandle.getPage(BaseContainerHandle.java:319)
> 	at org.apache.derby.impl.store.raw.data.StoredPage.getOverflowPage(StoredPage.java:8287)
> 	at org.apache.derby.impl.store.raw.data.StoredPage.restoreRecordFromSlot(StoredPage.java:1577)
> 	at org.apache.derby.impl.store.raw.data.BasePage.fetchFromSlot(BasePage.java:441)
> 	at org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(GenericScanController.java:760)
> 	at org.apache.derby.impl.store.access.heap.HeapScan.fetchNext(HeapScan.java:239)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.clearSPSPlans(DataDictionaryImpl.java:4631)
> 	at org.apache.derby.impl.sql.catalog.DD_Version.handleMinorRevisionChange(DD_Version.java:546)
> 	at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:248)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:7987)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:835)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1993)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:334)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
> 	at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
> 	at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:196)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1993)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:334)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1827)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1693)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1571)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
> 	at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:550)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:2767)

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