Derby
  1. Derby
  2. DERBY-1844

jdbcapi/blobclob4BLOB.java fails with JCC drivers

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.2.1.6, 10.3.1.4
    • Fix Version/s: 10.2.2.0, 10.3.1.4
    • Component/s: Test
    • Labels:
      None
    • Environment:
      IBM JDK 1.4.2
    • Bug behavior facts:
      Regression Test Failure

      Description

      Test fails with JCC versions 2.4, 2.6 and 2.8.

      Sample diff:
      < FAIL: Caught exception java.lang.NegativeArraySizeException
      592a592
      > FAIL: Caught exception java.lang.NegativeArraySizeException:

      1. DERBY-1844_20060928.diff
        2 kB
        Myrna van Lunteren

        Issue Links

          Activity

          Hide
          Deepa Remesh added a comment -

          Failure seen on IBM JDK 1.4.2.

          Show
          Deepa Remesh added a comment - Failure seen on IBM JDK 1.4.2.
          Hide
          Mike Matrigali added a comment -

          I also saw this diff in my nightly run against an ibm 1.4.2 jvm. I know there was a recent change that eliminated some jvm specific masters, do we need one for ibm 1.4.2 or maybe some sed? My diff
          was mostly as described above with the diff just being the ":" but the first line is also slightly different -
          here is my full diff:

                          • Diff file derbyall/derbynetmats/DerbyNet/jdbcapi/blobclob4BLOB.diff
              • Start: blobclob4BLOB jdk1.4.2 DerbyNet derbynetmats:jdbcapi 2006-09-15 10:28
                :32 ***
                475a476
                > at java.lang.String.substring(String.java(Compiled Code))
                592 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                592a593
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                594 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                594a595
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                596 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                596a597
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                598 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                598a599
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                600 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                600a601
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                606 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                606a607
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                608 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                608a609
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                610 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                610a611
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                612 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                612a613
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                614 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                614a615
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                620 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                620a621
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                622 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                622a623
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                624 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                624a625
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                626 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                626a627
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                628 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                628a629
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                634 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                634a635
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                636 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                636a637
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                638 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                638a639
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                640 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                640a641
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                642 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                642a643
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                649 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                649a650
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                651 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                651a652
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                653 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                653a654
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                655 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                655a656
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                657 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                657a658
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                676 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                676a677
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                678 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                678a679
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                680 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                680a681
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                682 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                682a683
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                684 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                684a685
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                690 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                690a691
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                692 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                692a693
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                694 del
                < FAIL: Caught exception java.lang.NegativeArraySizeException
                694a695
                > FAIL: Caught exception java.lang.NegativeArraySizeException:
                782 del
                < FAIL – unexpected exception:java.lang.NegativeArraySizeException
                783 del
                < java.lang.NegativeArraySizeException
                783a783,784
                > FAIL – unexpected exception:java.lang.NegativeArraySizeException:
                > java.lang.NegativeArraySizeException:
                Test Failed.
              • End: blobclob4BLOB jdk1.4.2 DerbyNet derbynetmats:jdbcapi 2006-09-15 10:29
                :30 ***
          Show
          Mike Matrigali added a comment - I also saw this diff in my nightly run against an ibm 1.4.2 jvm. I know there was a recent change that eliminated some jvm specific masters, do we need one for ibm 1.4.2 or maybe some sed? My diff was mostly as described above with the diff just being the ":" but the first line is also slightly different - here is my full diff: Diff file derbyall/derbynetmats/DerbyNet/jdbcapi/blobclob4BLOB.diff Start: blobclob4BLOB jdk1.4.2 DerbyNet derbynetmats:jdbcapi 2006-09-15 10:28 :32 *** 475a476 > at java.lang.String.substring(String.java(Compiled Code)) 592 del < FAIL: Caught exception java.lang.NegativeArraySizeException 592a593 > FAIL: Caught exception java.lang.NegativeArraySizeException: 594 del < FAIL: Caught exception java.lang.NegativeArraySizeException 594a595 > FAIL: Caught exception java.lang.NegativeArraySizeException: 596 del < FAIL: Caught exception java.lang.NegativeArraySizeException 596a597 > FAIL: Caught exception java.lang.NegativeArraySizeException: 598 del < FAIL: Caught exception java.lang.NegativeArraySizeException 598a599 > FAIL: Caught exception java.lang.NegativeArraySizeException: 600 del < FAIL: Caught exception java.lang.NegativeArraySizeException 600a601 > FAIL: Caught exception java.lang.NegativeArraySizeException: 606 del < FAIL: Caught exception java.lang.NegativeArraySizeException 606a607 > FAIL: Caught exception java.lang.NegativeArraySizeException: 608 del < FAIL: Caught exception java.lang.NegativeArraySizeException 608a609 > FAIL: Caught exception java.lang.NegativeArraySizeException: 610 del < FAIL: Caught exception java.lang.NegativeArraySizeException 610a611 > FAIL: Caught exception java.lang.NegativeArraySizeException: 612 del < FAIL: Caught exception java.lang.NegativeArraySizeException 612a613 > FAIL: Caught exception java.lang.NegativeArraySizeException: 614 del < FAIL: Caught exception java.lang.NegativeArraySizeException 614a615 > FAIL: Caught exception java.lang.NegativeArraySizeException: 620 del < FAIL: Caught exception java.lang.NegativeArraySizeException 620a621 > FAIL: Caught exception java.lang.NegativeArraySizeException: 622 del < FAIL: Caught exception java.lang.NegativeArraySizeException 622a623 > FAIL: Caught exception java.lang.NegativeArraySizeException: 624 del < FAIL: Caught exception java.lang.NegativeArraySizeException 624a625 > FAIL: Caught exception java.lang.NegativeArraySizeException: 626 del < FAIL: Caught exception java.lang.NegativeArraySizeException 626a627 > FAIL: Caught exception java.lang.NegativeArraySizeException: 628 del < FAIL: Caught exception java.lang.NegativeArraySizeException 628a629 > FAIL: Caught exception java.lang.NegativeArraySizeException: 634 del < FAIL: Caught exception java.lang.NegativeArraySizeException 634a635 > FAIL: Caught exception java.lang.NegativeArraySizeException: 636 del < FAIL: Caught exception java.lang.NegativeArraySizeException 636a637 > FAIL: Caught exception java.lang.NegativeArraySizeException: 638 del < FAIL: Caught exception java.lang.NegativeArraySizeException 638a639 > FAIL: Caught exception java.lang.NegativeArraySizeException: 640 del < FAIL: Caught exception java.lang.NegativeArraySizeException 640a641 > FAIL: Caught exception java.lang.NegativeArraySizeException: 642 del < FAIL: Caught exception java.lang.NegativeArraySizeException 642a643 > FAIL: Caught exception java.lang.NegativeArraySizeException: 649 del < FAIL: Caught exception java.lang.NegativeArraySizeException 649a650 > FAIL: Caught exception java.lang.NegativeArraySizeException: 651 del < FAIL: Caught exception java.lang.NegativeArraySizeException 651a652 > FAIL: Caught exception java.lang.NegativeArraySizeException: 653 del < FAIL: Caught exception java.lang.NegativeArraySizeException 653a654 > FAIL: Caught exception java.lang.NegativeArraySizeException: 655 del < FAIL: Caught exception java.lang.NegativeArraySizeException 655a656 > FAIL: Caught exception java.lang.NegativeArraySizeException: 657 del < FAIL: Caught exception java.lang.NegativeArraySizeException 657a658 > FAIL: Caught exception java.lang.NegativeArraySizeException: 676 del < FAIL: Caught exception java.lang.NegativeArraySizeException 676a677 > FAIL: Caught exception java.lang.NegativeArraySizeException: 678 del < FAIL: Caught exception java.lang.NegativeArraySizeException 678a679 > FAIL: Caught exception java.lang.NegativeArraySizeException: 680 del < FAIL: Caught exception java.lang.NegativeArraySizeException 680a681 > FAIL: Caught exception java.lang.NegativeArraySizeException: 682 del < FAIL: Caught exception java.lang.NegativeArraySizeException 682a683 > FAIL: Caught exception java.lang.NegativeArraySizeException: 684 del < FAIL: Caught exception java.lang.NegativeArraySizeException 684a685 > FAIL: Caught exception java.lang.NegativeArraySizeException: 690 del < FAIL: Caught exception java.lang.NegativeArraySizeException 690a691 > FAIL: Caught exception java.lang.NegativeArraySizeException: 692 del < FAIL: Caught exception java.lang.NegativeArraySizeException 692a693 > FAIL: Caught exception java.lang.NegativeArraySizeException: 694 del < FAIL: Caught exception java.lang.NegativeArraySizeException 694a695 > FAIL: Caught exception java.lang.NegativeArraySizeException: 782 del < FAIL – unexpected exception:java.lang.NegativeArraySizeException 783 del < java.lang.NegativeArraySizeException 783a783,784 > FAIL – unexpected exception:java.lang.NegativeArraySizeException: > java.lang.NegativeArraySizeException: Test Failed. End: blobclob4BLOB jdk1.4.2 DerbyNet derbynetmats:jdbcapi 2006-09-15 10:29 :30 ***
          Hide
          John H. Embretsen added a comment -

          Looks like this is only an issue on IBM JVMs, so adding ibm14- and/or ibm15-specific masters seems like the best (temporary) solution to me.

          What worries me slightly is that a message starting with "FAIL: Caught exception" is part of the master file. I am assuming that the NegativeArraySizeException is caused by a known bug in the JCC driver triggered by DERBY-1516, as explained in [1], but a comment about this in the code and/or in the master file would have been very helpful.

          [1]: http://issues.apache.org/jira/browse/DERBY-1516#action_12427294

          Show
          John H. Embretsen added a comment - Looks like this is only an issue on IBM JVMs, so adding ibm14- and/or ibm15-specific masters seems like the best (temporary) solution to me. What worries me slightly is that a message starting with "FAIL: Caught exception" is part of the master file. I am assuming that the NegativeArraySizeException is caused by a known bug in the JCC driver triggered by DERBY-1516 , as explained in [1] , but a comment about this in the code and/or in the master file would have been very helpful. [1] : http://issues.apache.org/jira/browse/DERBY-1516#action_12427294
          Hide
          Øystein Grøvlen added a comment -

          The exception messages was introduced by DERBY-1516, for which the patch contains several of the:

          -Known JCC Bug 5914
          +FAIL: Caught exception java.lang.NegativeArraySizeException

          I agree with John that we should avoid FAIL-messages in the master file. I think for most tests, FAIL means that the test fails, not an expected failure of a test case. In this test, such messages are also expected for the embedded framework, but in that case the name of the exception is replaced by asterisks:

          FAIL – unexpected exception ****************

          I have not found out how this is achieved, but maybe this is an alternative to separate canons?

          Show
          Øystein Grøvlen added a comment - The exception messages was introduced by DERBY-1516 , for which the patch contains several of the: -Known JCC Bug 5914 +FAIL: Caught exception java.lang.NegativeArraySizeException I agree with John that we should avoid FAIL-messages in the master file. I think for most tests, FAIL means that the test fails, not an expected failure of a test case. In this test, such messages are also expected for the embedded framework, but in that case the name of the exception is replaced by asterisks: FAIL – unexpected exception **************** I have not found out how this is achieved, but maybe this is an alternative to separate canons?
          Hide
          Myrna van Lunteren added a comment -

          Re how the *** is done - the blobclob4BLOB uses the testutil/TestUtil:dumpSQLExceptions() method; but not when the framework is DerbyNet.

          Show
          Myrna van Lunteren added a comment - Re how the *** is done - the blobclob4BLOB uses the testutil/TestUtil:dumpSQLExceptions() method; but not when the framework is DerbyNet.
          Hide
          Myrna van Lunteren added a comment -

          Attaching a patch for the trunk that adds all the offending lines to blobclob4BLOB_sed.properties.
          I think this approach is better than adding more canons, for we'd start to quickly proliferate them - we'd already need one for ibm15 and one for ibm142...

          Ran this test with ibm15, jdk14, ibm14 with embedded, DerbyNet, DerbyNetClient.

          Show
          Myrna van Lunteren added a comment - Attaching a patch for the trunk that adds all the offending lines to blobclob4BLOB_sed.properties. I think this approach is better than adding more canons, for we'd start to quickly proliferate them - we'd already need one for ibm15 and one for ibm142... Ran this test with ibm15, jdk14, ibm14 with embedded, DerbyNet, DerbyNetClient.
          Hide
          Myrna van Lunteren added a comment -

          The behavior is also seen on 10.2, so this should get fixed there too.

          Show
          Myrna van Lunteren added a comment - The behavior is also seen on 10.2, so this should get fixed there too.
          Hide
          Andrew McIntyre added a comment -

          Committed to trunk with revision 450738 and to 10.2 with revision 450739.

          JIRA issue to rewrite this test as a junit test has been filed as DERBY-1895.

          Show
          Andrew McIntyre added a comment - Committed to trunk with revision 450738 and to 10.2 with revision 450739. JIRA issue to rewrite this test as a junit test has been filed as DERBY-1895 .

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development