db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Created: (DERBY-4252) intermittent corruption./java.io.EOFException in RandomAccessFile.readInt() on boot after compress with background checkpoint
Date Tue, 02 Jun 2009 13:04:07 GMT
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.0.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


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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message