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.'

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 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
    • Fix Version/s: 10.8.1.2
    • Component/s: JDBC, Test
    • Labels:
      None
    • Environment:
      Solaris 10 and Windows
      Java(TM) SE Runtime Environment (build 1.7.0-ea-b131)
    • Bug behavior facts:
      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. reporting.diff
          0.7 kB
          Knut Anders Hatlen
        2. derby-5113-2a-truncate.diff
          3 kB
          Knut Anders Hatlen
        3. derby-5113-1a-test.diff
          2 kB
          Knut Anders Hatlen

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: