Derby
  1. Derby
  2. DERBY-4951

test failure in jdbc4.ResultSetTest:testJDBC4_1 with ibm 1.6 jvm

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.8.1.2
    • Fix Version/s: 10.8.1.2
    • Component/s: Test
    • Labels:
      None
    • Environment:
      IBM 1.6 jvms (both on Linux and windows XP)
    • Bug behavior facts:
      Regression Test Failure

      Description

      since tests with revision 1052140 I see the following failure when suites.All tests are run with IBM 1.6 jvm:

      console output of junit.textui.TestRunner run:
      1) testJDBC4_1(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)junit.framework.ComparisonFailure: [B expected:<?> but was:<>
      at java.lang.Throwable.<init>(Throwable.java:67)
      at junit.framework.AssertionFailedError.<init>(AssertionFailedError.java:11)
      at junit.framework.ComparisonFailure.<init>(ComparisonFailure.java:19)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.vetCandidate(ResultSetTest.java:2604)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.vetWrapperOK(ResultSetTest.java:2571)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.vetWrappedBinary(ResultSetTest.java:2363)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.examineJDBC4_1extensions(ResultSetTest.java:2161)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.testJDBC4_1(ResultSetTest.java:2123)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:51)

      contents of error.stacktrace in fail dir:
      [Error/failure logged at Mon Dec 27 12:46:23 PST 2010]
      junit.framework.ComparisonFailure: [B expected:<?> but was:<>
      at junit.framework.Assert.assertEquals(Assert.java:81)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.vetCandidate(ResultSetTest.java:2604)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.vetWrapperOK(ResultSetTest.java:2571)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.vetWrappedBinary(ResultSetTest.java:2363)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.examineJDBC4_1extensions(ResultSetTest.java:2161)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.testJDBC4_1(ResultSetTest.java:2123)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:600)
      at junit.framework.TestCase.runTest(TestCase.java:154)
      at junit.framework.TestCase.runBare(TestCase.java:127)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
      at junit.framework.TestResult$1.protect(TestResult.java:106)
      at junit.framework.TestResult.runProtected(TestResult.java:124)
      at junit.framework.TestResult.run(TestResult.java:109)
      at junit.framework.TestCase.run(TestCase.java:118)
      at junit.framework.TestSuite.runTest(TestSuite.java:208)
      at junit.framework.TestSuite.run(TestSuite.java:203)
      at junit.framework.TestSuite.runTest(TestSuite.java:208)
      at junit.framework.TestSuite.run(TestSuite.java:203)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.framework.TestResult.runProtected(TestResult.java:124)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
      at junit.framework.TestSuite.runTest(TestSuite.java:208)
      at junit.framework.TestSuite.run(TestSuite.java:203)
      at junit.textui.TestRunner.doRun(TestRunner.java:116)
      at junit.textui.TestRunner.start(TestRunner.java:172)
      at junit.textui.TestRunner.main(TestRunner.java:138)

      I believe lack of clean-up after this failure is the result of the error in this test for networkserver:
      1) testJDBC4_1(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.sql.SQLException: FUNCTION 'MAKEBLOB' already exists.
      at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
      at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
      at org.apache.derby.client.am.PreparedStatement.execute(Unknown Source)
      at org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest.testJDBC4_1(ResultSetTest.java:2035)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
      at junit.extensions.TestSetup.run(TestSetup.java:23)
      at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
      Caused by: org.apache.derby.client.am.SqlException: FUNCTION 'MAKEBLOB' already exists.
      at org.apache.derby.client.am.Statement.completeExecute(Unknown Source)
      at org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown Source)
      at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown Source)
      at org.apache.derby.client.net.StatementReply.readExecute(Unknown Source)
      at org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown Source)
      at org.apache.derby.client.am.PreparedStatement.readExecute(Unknown Source)
      at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
      at org.apache.derby.client.am.PreparedStatement.executeX(Unknown Source)
      ... 36 more

        Activity

        Hide
        Myrna van Lunteren added a comment -

        The build for this picked up the following changes since the previous build that did not have this test failure:

        SUBVERSION LOG FROM 1051736 TO 1052140:
        ------------------------------------------------------------------------
        r1052044 | rhillegas | 2010-12-22 11:36:04 -0800 (Wed, 22 Dec 2010) | 1 line

        DERBY-4869: Correct error messages returned by ResultSet.getObject(int,Class).
        ------------------------------------------------------------------------
        r1051947 | rhillegas | 2010-12-22 07:21:48 -0800 (Wed, 22 Dec 2010) | 1 line

        DERBY-4869: Suppress compiler warning introduced by previous submission.
        ------------------------------------------------------------------------
        r1051937 | rhillegas | 2010-12-22 07:02:57 -0800 (Wed, 22 Dec 2010) | 1 line

        DERBY-4869: JDBC 4.1: Add new getObject() overloads to ResultSet implementations.
        ------------------------------------------------------------------------
        r1051890 | rhillegas | 2010-12-22 05:34:15 -0800 (Wed, 22 Dec 2010) | 1 line

        DERBY-4869: JDBC 4.1 spec clarification that addBatch(String) should fail on prepared and callable statements.
        ------------------------------------------------------------------------

        Show
        Myrna van Lunteren added a comment - The build for this picked up the following changes since the previous build that did not have this test failure: SUBVERSION LOG FROM 1051736 TO 1052140: ------------------------------------------------------------------------ r1052044 | rhillegas | 2010-12-22 11:36:04 -0800 (Wed, 22 Dec 2010) | 1 line DERBY-4869 : Correct error messages returned by ResultSet.getObject(int,Class). ------------------------------------------------------------------------ r1051947 | rhillegas | 2010-12-22 07:21:48 -0800 (Wed, 22 Dec 2010) | 1 line DERBY-4869 : Suppress compiler warning introduced by previous submission. ------------------------------------------------------------------------ r1051937 | rhillegas | 2010-12-22 07:02:57 -0800 (Wed, 22 Dec 2010) | 1 line DERBY-4869 : JDBC 4.1: Add new getObject() overloads to ResultSet implementations. ------------------------------------------------------------------------ r1051890 | rhillegas | 2010-12-22 05:34:15 -0800 (Wed, 22 Dec 2010) | 1 line DERBY-4869 : JDBC 4.1 spec clarification that addBatch(String) should fail on prepared and callable statements. ------------------------------------------------------------------------
        Hide
        Rick Hillegas added a comment -

        Thanks for finding this problem, Myrna. I am in the middle of refactoring this test code so that I can use it for testing the new JDBC 4.1 overload of getObject() in CallableStatement. When I'm done with that refactoring, I will look into fixing this bug. It appears to me that there is some sort of platform-specific string encoding problem here and the solution is probably to eliminate the string encoding. Thanks.

        Show
        Rick Hillegas added a comment - Thanks for finding this problem, Myrna. I am in the middle of refactoring this test code so that I can use it for testing the new JDBC 4.1 overload of getObject() in CallableStatement. When I'm done with that refactoring, I will look into fixing this bug. It appears to me that there is some sort of platform-specific string encoding problem here and the solution is probably to eliminate the string encoding. Thanks.
        Hide
        Rick Hillegas added a comment -

        I have just committed my refactoring of the test logic for getObject(): subversion revision 1054708. I expect that this will introduce a similar test failure in CallableStatementTest. I will look into fixing these failures now.

        Show
        Rick Hillegas added a comment - I have just committed my refactoring of the test logic for getObject(): subversion revision 1054708. I expect that this will introduce a similar test failure in CallableStatementTest. I will look into fixing these failures now.
        Hide
        Rick Hillegas added a comment - - edited

        Attaching derby-4951-01-aa-binaryTypes.diff. Hopefully this improves the situation. Committed at subversion revision 1054734.

        Myrna, could you let me know whether this improves your results for ResultSetTest and CallableStatementTest?

        Touches the following files:

        M java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/CallableStatementTest.java
        M java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/Wrapper41Test.java
        M java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ResultSetTest.java

        Show
        Rick Hillegas added a comment - - edited Attaching derby-4951-01-aa-binaryTypes.diff. Hopefully this improves the situation. Committed at subversion revision 1054734. Myrna, could you let me know whether this improves your results for ResultSetTest and CallableStatementTest? Touches the following files: M java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/CallableStatementTest.java M java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/Wrapper41Test.java M java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ResultSetTest.java
        Hide
        Lily Wei added a comment -

        I was running jdbc4.ResultSetTest against svn 1054737 with ibm 1.6 jvm. The test passed for me. Thanks, Lily

        Show
        Lily Wei added a comment - I was running jdbc4.ResultSetTest against svn 1054737 with ibm 1.6 jvm. The test passed for me. Thanks, Lily
        Hide
        Myrna van Lunteren added a comment -

        I sync-ed up (to 1054834) and both jdbc4.ResultSetTest and jdbc4.CallableStatementTest pass for me also. Thanks Rick.
        Closing.

        Show
        Myrna van Lunteren added a comment - I sync-ed up (to 1054834) and both jdbc4.ResultSetTest and jdbc4.CallableStatementTest pass for me also. Thanks Rick. Closing.

          People

          • Assignee:
            Rick Hillegas
            Reporter:
            Myrna van Lunteren
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development