You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (JIRA)" <ji...@apache.org> on 2011/05/16 19:33:47 UTC

[jira] [Closed] (DERBY-4252) intermittent corruption./java.io.EOFException in RandomAccessFile.readInt() on boot after compress with background checkpoint

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

Kathey Marsden closed DERBY-4252.
---------------------------------

    Resolution: Cannot Reproduce

I am not able to reproduce this on trunk with the latest IBM JVM.


> intermittent corruption./java.io.EOFException in RandomAccessFile.readInt() on boot after compress with background checkpoint
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4252
>                 URL: https://issues.apache.org/jira/browse/DERBY-4252
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.6.1.0
>         Environment: Windows XP dualcore.
> java version "1.6.0"
> Java(TM) SE Runtime Environment (build pwi3260sr4-20090219_01(SR4))
> IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260-20090215_29883 (JIT enabled, AOT enabled)
> J9VM - 20090215_029883_lHdSMr
> JIT  - r9_20090213_2028
> GC   - 20090213_AA)
> JCL  - 20090218_01
> Also tried with the latest development SR5 version and it reproduces.
>            Reporter: Kathey Marsden
>            Priority: Critical
>              Labels: derby_triage10_5_2
>         Attachments: corrupt_database_with_logs.zip, reproBackgroundCheckpoint.zip
>
>
> The attached reproduction reproBackgroundCheckpoint.zip occasionally results in an EOF exception on boot with  IBM 1.6 (about 1 out of 200 runs) even after the fix for   DERBY-4239.  The program inserts into /deletes some data from a table and runs compress, and as a daemon thread that loops checkpoints.  I have not seen it with the Sun JVM.
> Before the fix for DERBY-4239, this issue was much more frequent.  Sometimes you would get the DERBY-4239 trace and sometimes this one.  After the fix, this issue remains.  Mike thought it looked like a different bug and asked that we file a separate issue.
> This is the trace:
> java.io.EOFException
> 	at java.io.RandomAccessFile.readInt(RandomAccessFile.java:739)
> 	at java.io.RandomAccessFile.readLong(RandomAccessFile.java:772)
> 	at org.apache.derby.impl.store.raw.log.Scan.getNextRecordForward(Unknown Source)
> 	at org.apache.derby.impl.store.raw.log.Scan.getNextRecord(Unknown Source)
> 	at org.apache.derby.impl.store.raw.log.FileLogger.redo(Unknown Source)
> 	at org.apache.derby.impl.store.raw.log.LogToFile.recover(Unknown Source)
> 	at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
> 	at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
> 	at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
> 	at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
> 	at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)
> 	at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)
> 	at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> 	at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
> 	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> 	at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
> 	at java.sql.DriverManager.getConnection(DriverManager.java:316)
> 	at java.sql.DriverManager.getConnection(DriverManager.java:273)
> 	at CheckTables.main(CheckTables.java:8)
> To reproduce, compile the java programs and run reprobckchkpt.ksh.  You may want to increase the number of iterations and let it run overnight to see the failure or back out the fix for DERBY-4239 to see it happen quicker.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira