Uploaded image for project: 'Commons BCEL'
  1. Commons BCEL
  2. BCEL-64

ClassCastException on justice

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.1
    • 5.2
    • Verifier
    • None

    Description

      Run "java -cp .;bcel-5.1.jar org.apache.bcel.verifier.Verifier j00000.class",
      where j00000.class is a hand-made class file that contains some errors (that I'm trying to identify).

      JustIce ends with a ClassCastException.

      The output from the verifier is:

      JustIce by Enver Haase, (C) 2001-2002.
      <http://bcel.sourceforge.net>
      <http://jakarta.apache.org/bcel>

      Now verifying: j00000

      Pass 1:
      VERIFIED_OK
      Passed verification.

      Pass 2:
      VERIFIED_OK
      Passed verification.

      Pass 3a, method number 0 ['public void <init>()']:
      VERIFIED_OK
      Passed verification.

      Visiting non-standard Signature object
      Visiting non-standard Signature object
      Visiting non-standard Signature object
      Visiting non-standard Signature object
      Visiting non-standard Signature object
      Visiting non-standard Signature object
      Visiting non-standard Signature object
      Visiting non-standard Signature object
      Pass 3b, method number 0 ['public void <init>()']:
      VERIFIED_OK
      Passed verification.

      Exception in thread "main" java.lang.ClassCastException: org.apache.bcel.classfi
      le.ConstantUtf8
      at org.apache.bcel.generic.FieldOrMethod.getClassName(FieldOrMethod.java
      :102)
      at org.apache.bcel.generic.FieldOrMethod.getClassType(FieldOrMethod.java
      :109)
      at org.apache.bcel.generic.FieldOrMethod.getLoadClassType(FieldOrMethod.
      java:115)
      at org.apache.bcel.verifier.statics.Pass3aVerifier$InstOperandConstraint
      Visitor.visitLoadClass(Pass3aVerifier.java:430)
      at org.apache.bcel.generic.GETSTATIC.accept(GETSTATIC.java:107)
      at org.apache.bcel.generic.InstructionHandle.accept(InstructionHandle.ja
      va:282)
      at org.apache.bcel.verifier.statics.Pass3aVerifier.pass3StaticInstructio
      nOperandsChecks(Pass3aVerifier.java:364)
      at org.apache.bcel.verifier.statics.Pass3aVerifier.do_verify(Pass3aVerif
      ier.java:160)
      at org.apache.bcel.verifier.PassVerifier.verify(PassVerifier.java:108)
      at org.apache.bcel.verifier.Verifier.doPass3a(Verifier.java:121)
      at org.apache.bcel.verifier.Verifier.main(Verifier.java:263)

      Attachments

        1. j00000.class
          6 kB
          Joaquin Cuenca Abela

        Activity

          People

            issues@commons.apache.org Apache Commons Developers
            e98cuenc@yahoo.com Joaquin Cuenca Abela
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: