This is the mail archive of the kawa@sourceware.org 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]
Other format: [Raw text]

java.lang.VerifyError exception


Here is a boiled-down snippet of nonsense code (it started as part of the snow zlib package).

    -seth

$ ./test-kawa.scm
Exception in thread "main" java.lang.VerifyError: Bad local variable type
Exception Details:
  Location:
    fuh$frame.lambda1loop()Ljava/lang/Object; @13: aload_2
  Reason:
    Type top (current frame, locals[2]) is not assignable to reference type
  Current Frame:
    bci: @13
    flags: { }
    locals: { 'fuh$frame', 'fuh$frame0' }
    stack: { }
  Bytecode:
    0000000: bb00 0459 b700 0859 2ab5 000c 4c2c 1008
    0000010: b800 124d 2b05 bd00 1459 03b2 001a 5359
    0000020: 04b2 001e 53b8 0024 b600 28b0

    at fuh.gunzipGenport(test-kawa.scm:11)
    at fuh.apply0(test-kawa.scm:11)
    at gnu.expr.ModuleMethod.apply0(ModuleMethod.java:186)
    at gnu.expr.ModuleMethod.apply(ModuleMethod.java:160)
    at gnu.mapping.CallContext.runUntilDone(CallContext.java:234)
    at test$Mnkawa.run(test-kawa.scm:34)
    at gnu.expr.ModuleExp.evalModule2(ModuleExp.java:317)
    at gnu.expr.CompiledModule.evalModule(CompiledModule.java:42)
    at gnu.expr.CompiledModule.evalModule(CompiledModule.java:61)
    at kawa.Shell.runFile(Shell.java:538)
    at kawa.Shell.runFileOrClass(Shell.java:447)
    at kawa.repl.main(repl.java:881)

#! /bin/sh
#| -*- scheme -*-
exec /usr/local/bin/kawa $0 "$@"
|#

(define-library (fuh)
  (export gunzip-genport)
  (import (scheme base))
  (begin

    (define (gunzip-genport)

      (define bk 0) 

      (define (inflate-codes bl)
        (set! bk (+ bk 8)))

      (define (inflate-dynamic)
        (inflate-codes 7))

      (let loop ()
        (inflate-dynamic)
        (let laap ((res (vector 'return #f)))
          (let ((state (vector-ref res 0))
                (r (vector-ref res 1)))
            (case state
              ((return)
               (if r (loop) #f))
              ((flush)
               (lambda () (laap #f))))))))))

(import (scheme base)
        (fuh))
(gunzip-genport)

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