[ 
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

Reply via email to