[
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