This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Verification error in gnu.kawa.slib.printf


I've checked this 3 different ways, and believe that it
is in fact a verification error.

Method #1:

  java (1.3) -verify
  Exception in thread "main" java.lang.VerifyError:
  (class: gnu/kawa/slib/printf,
   method: stdio$ClIprintf$V
   signature:(Ljava/lang/Object;Ljava/lang/Object;Lgnu/kawa/util/LList;)Ljava/lang/Object;)
  Incompatible type for getting or setting field

That was certainly informative, wasn't it?

Method #2:

 BulletTrain (beta version I am testing, messages sanitized):

  java.lang.VerifyError:
  gnu.kawa.slib.printf
  stdio$ClIprintf$V
  (Ljava.lang.Object;Ljava.lang.Object;Lgnu.kawa.util.LList;)Ljava.lang.Object;
  (1552a,458l):: incompatible type popped from stack,
  expecting 'C=Lgnu.kawa.slib.genwrite;',
  found 'C=Ljava.lang.Boolean;'

 Note: (1552a,458l) means bytecode 1552, "line" 458.

Method #3: 

  Dumping the bytecodes:

1511 ifeq 1520
1514 getstatic #125 <Field java.lang.Boolean TRUE>
1517 goto 1523
1520 getstatic #112 <Field java.lang.Boolean FALSE>
1523 astore 18
1525 aload 18
1527 getstatic #112 <Field java.lang.Boolean FALSE>
1530 if_acmpne 1547
1533 aload 17
1535 getstatic #376 <Field gnu.text.Char Lit30>
1538 invokestatic #132 <Method boolean apply(java.lang.Object, java.lang.Object)>
1541 ifeq 2085
1544 goto 1547
1547 aconst_null
1548 aconst_null
1549 aload 18
1551 swap
1552 putfield #382 <Field gnu.expr.ModuleMethod genericWrite>

Indeed, a Boolean was stored in local #18, and that is what
is causing the problem.

David Chase



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]