JCK: JDK 1.5.0-beta3-b59 passes incorrect test invokespecial00801m1

XMLWordPrintable

    • Type: Bug
    • Resolution: Duplicate
    • Priority: P3
    • None
    • Affects Version/s: 6
    • Component/s: hotspot
    • None
    • sparc
    • solaris_2.5

      Name: id146280 Date: 07/27/2004


      JVM Specification states:

      1. Chapter 5.4.1 Verification
         "The representation of a class or interface is verified (§4.9)
         to ensure that its binary representation is structurally valid
         (passes 2 and 3 of §4.9.1). Verification may cause additional
         classes and interfaces to be loaded (§5.3) but need not cause
         them to be prepared or verified."

         Verification must detect the following error:

            * If the representation of the class or interface does not
              satisfy the static or structural constraints listed in
              Section 4.8, "Constraints on Java Virtual Machine Code,"
              verification throws a VerifyError."

      2. Chapter 4.8.2 Structural Constraints

        "If getfield or putfield is used to access a protected field
        of a superclass, then the type of the class instance being
        accessed must be the same as or a subclass of the current
        class. If invokevirtual or invokespecial is used to access a
        protected method of a superclass, then the type of the class
        instance being accessed must be the same as or a subclass of
        the current class."

      3. Chapter 6 The Java Virtual Machine Instruction Set
         (invokespecial)

        "The named method is resolved (§5.4.3.3). Finally, if the
        resolved method is protected (§4.6), and it is either a member
        of the current class or a member of a superclass of the
        current class, then the class of objectref must be either the
        current class or a subclass of the current class."


      But JDK 1.5.0-beta3-b59 passes (fails to throw VerifyError) incorrect
      JCK 1.5 test vm/instr/invokespecial/invokespecial008/invokespecial00801m1/
      invokespecial00801m1.html. invokespecial00801m1 tries to invoke protected
      constructor of its superclass passing reference to superclass instance as
      objectref to invokespecial.

      Please see more detailed info in 5078932.

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

            Assignee:
            Wei Tao (Inactive)
            Reporter:
            Ilya Dergalin (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: