Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4411429

unexpected ArrayIndexOutOfBoundsException instead of ClassNotPreparedException

XMLWordPrintable

    • x86
    • solaris_8



      Name: dkR10014 Date: 02/02/2001


       The merlin Client HotSpot VM (build 1.4.0-beta-b49) fails to pass the test in
      -Xcomp mode on Solaris 2.8 i386.

       The test checks the allFields() method of ReferenceType interface of the
      com.sun.jdi package for not prepared class. The checked class is loaded but
      is not prepared. The ReferenceType.allFields() method is called for this class.
      ClassNotPreparedException should be thrown in this case. But unexpected
      ArrayIndexOutOfBoundsException is thrown.

       The test consist of debugger part (allfields002.java) and debuggee part
      (allfields002a.java). The debugger loads and connects to debuggee using
      com.sun.jdi.connect.LaunchingConnector.

       This bug affects the following testbase_nsk tests:

      nsk/jdi/ReferenceType/allFields/allfields002
      nsk/jdi/ReferenceType/allFields/allfields003
      nsk/jdi/ReferenceType/allMethods/allmethods002
      nsk/jdi/ReferenceType/allMethods/allmethods003
      nsk/jdi/ReferenceType/classObject/classobj002
      nsk/jdi/ReferenceType/fieldByName/fieldbyname002
      nsk/jdi/ReferenceType/fieldByName/fieldbyname003
      nsk/jdi/ReferenceType/fields/fields002
      nsk/jdi/ReferenceType/fields/fields003
      nsk/jdi/ReferenceType/methodsByName_s/methbyname_s002
      nsk/jdi/ReferenceType/methodsByName_s/methbyname_s003
      nsk/jdi/ReferenceType/methodsByName_ss/methbyname_ss002
      nsk/jdi/ReferenceType/methodsByName_ss/methbyname_ss003
      nsk/jdi/ReferenceType/visibleFields/visibfield002
      nsk/jdi/ReferenceType/visibleFields/visibfield003
      nsk/jdi/ReferenceType/visibleMethods/visibmethod002
      nsk/jdi/ReferenceType/visibleMethods/visibmethod003
      nsk/jdi/ClassObjectReference/reflectedType/reflectype002
       
      JDK version
      -----------
      java version "1.4.0-beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b49)
      Java HotSpot(TM) Client VM (build 1.4beta-B49, compiled mode)

      Platform
      ---------
      Solaris 2.8 i386

      Error message from output of the test execution
      -----------------------------------------------
      ##> allfields002: FAILED: unexpected Exception thrown -
      java.lang.ArrayIndexOutOfBoundsException
      ##> expected Exception - com.sun.jdi.ClassNotPreparedException
      java.lang.ArrayIndexOutOfBoundsException
              at com.sun.tools.jdi.PacketStream.readInt(PacketStream.java:317)
              at com.sun.tools.jdi.JDWP$ReferenceType$Fields.<init>(JDWP.java:1674)
              at
      com.sun.tools.jdi.JDWP$ReferenceType$Fields.waitForReply(JDWP.java:1609)
              at com.sun.tools.jdi.JDWP$ReferenceType$Fields.process(JDWP.java:1589)
              at
      com.sun.tools.jdi.ReferenceTypeImpl.fields(ReferenceTypeImpl.java:233)
              at
      com.sun.tools.jdi.ReferenceTypeImpl.addAllFields(ReferenceTypeImpl.java:324)
              at
      com.sun.tools.jdi.ReferenceTypeImpl.allFields(ReferenceTypeImpl.java:338)
              at
      nsk.jdi.ReferenceType.allFields.allfields002.runThis(allfields002.java:136)
              at
      nsk.jdi.ReferenceType.allFields.allfields002.run(allfields002.java:48)
              at
      nsk.jdi.ReferenceType.allFields.allfields002.main(allfields002.java:37)

      Test source files location
      --------------------------
      /net/sqesvr/export/vsn/GammaBase/Bugs/<this bug number>

      How to reproduce the failure
      ----------------------------
      Please run doit.ksh script in GammaBase/Bugs/<this bug number> directory with
      <JAVA_HOME> and -Xcomp arguments

      The script output is below
      --------------------------

      bash-2.03$ doit.ksh /export/ld24/java/hotspot/jdk1.4/solx86 -Xcomp
      Compiling share classes...
      Compiling test classes...
      Note: allfields002.java uses or overrides a deprecated API.
      Note: Recompile with -deprecation for details.
      java version "1.4.0-beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b49)
      Java HotSpot(TM) Client VM (build 1.4beta-B49, compiled mode)
      ==> nsk/jdi/ReferenceType/allFields/allfields002 test LOG:
      ==> test checks allFields() method of ReferenceType interface
          of the com.sun.jdi package for not prepared class

      VirtualMachineManager: version 1.4
      LaunchingConnector:
          name: com.sun.jdi.CommandLineLaunch
          description: Launches target using Sun Java VM command line and attaches to
      it
          transport: dt_socket
      Arguments: {home=home=/export/ld59/java/dest/jdk1.4.0beta-b49/solx86/jre,
      vmexec=vmexec=java, options=options=,
      main=main=nsk.jdi.ReferenceType.allFields.allfields002a -vbs, quote=quote=",
      suspend=suspend=true}
      --> allfields002: allfields002a debugee launched
      **> allfields002a: debugee started!
      --> allfields002a: checked class loaded but not prepared:
      nsk.jdi.ReferenceType.allFields.ClassForCheck
      **> allfields002a: waiting for "quit" signal...
      --> allfields002: debugee's "ready" signal recieved!
      --> allfields002: check ReferenceType.allFields() method for not prepared
      nsk.jdi.ReferenceType.allFields.ClassForCheck class...
      ##> allfields002: FAILED: unexpected Exception thrown -
      java.lang.ArrayIndexOutOfBoundsException
      ##> expected Exception - com.sun.jdi.ClassNotPreparedException
      java.lang.ArrayIndexOutOfBoundsException
              at com.sun.tools.jdi.PacketStream.readInt(PacketStream.java:317)
              at com.sun.tools.jdi.JDWP$ReferenceType$Fields.<init>(JDWP.java:1674)
              at
      com.sun.tools.jdi.JDWP$ReferenceType$Fields.waitForReply(JDWP.java:1609)
              at com.sun.tools.jdi.JDWP$ReferenceType$Fields.process(JDWP.java:1589)
              at
      com.sun.tools.jdi.ReferenceTypeImpl.fields(ReferenceTypeImpl.java:233)
              at
      com.sun.tools.jdi.ReferenceTypeImpl.addAllFields(ReferenceTypeImpl.java:324)
              at
      com.sun.tools.jdi.ReferenceTypeImpl.allFields(ReferenceTypeImpl.java:338)
              at
      nsk.jdi.ReferenceType.allFields.allfields002.runThis(allfields002.java:136)
              at
      nsk.jdi.ReferenceType.allFields.allfields002.run(allfields002.java:48)
              at
      nsk.jdi.ReferenceType.allFields.allfields002.main(allfields002.java:37)
      --> allfields002: waiting for debugee finish...
      **> allfields002a: "quit" signal recieved!
      **> allfields002a: completed succesfully!
      --> allfields002: expected Debugee's exit status - 95

      ==> nsk/jdi/ReferenceType/allFields/allfields002 test FAILED
      bash-2.03$
      ------------------------------------

      ======================================================================

            never Tom Rodriguez
            kdossunw Kdos Kdos (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: