Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-5113

Intermittent failure in BlobSetMethodsTest on Java 7: Unable to set stream: 'Reached EOF prematurely; expected 1,024, got 0.'

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.3.1.4, 10.3.2.1, 10.3.3.0, 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.2.0, 10.5.3.0, 10.6.1.0, 10.6.2.1, 10.7.1.1
    • 10.8.1.2
    • JDBC, Test
    • None
    • Solaris 10 and Windows
      Java(TM) SE Runtime Environment (build 1.7.0-ea-b131)
    • Regression Test Failure, Wrong query result

    Description

      Not sure if this is a test issue, a product issue or a JVM issue. It started happening when JDK 7 was upgraded from b116 to b131 in the nightly tests. I haven't been able to reproduce the failure in my environment, but it happens frequently in the nightly testing. For example here:

      http://dbtg.foundry.sun.com/derby/test/Daily/jvm1.7/testing/testlog/sol/1078053-suitesAll_diff.txt

      19) testSetBytesLargeBlob(org.apache.derbyTesting.functionTests.tests.jdbc4.BlobSetMethodsTest)java.sql.SQLException: Unable to set stream: 'Reached EOF prematurely; expected 1,024, got 0.'.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.setStreamFailure(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedBlob.truncate(Unknown Source)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.BlobSetMethodsTest.testSetBytesLargeBlob(BlobSetMethodsTest.java:102)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:112)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
      at junit.extensions.TestSetup.run(TestSetup.java:25)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
      Caused by: java.sql.SQLException: Unable to set stream: 'Reached EOF prematurely; expected 1,024, got 0.'.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)

      The problem does not appear to be the reordering of the test cases that we've seen in many other tests when running on Java 7 b131. According to the traces printed to the test log (for example in the above mentioned URL), this failure is also seen in the cases where the test cases run in the same order as on most other platforms.

      Attachments

        1. derby-5113-2a-truncate.diff
          3 kB
          Knut Anders Hatlen
        2. derby-5113-1a-test.diff
          2 kB
          Knut Anders Hatlen
        3. reporting.diff
          0.7 kB
          Knut Anders Hatlen

        Activity

          People

            knutanders Knut Anders Hatlen
            knutanders Knut Anders Hatlen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: