bug-kawa
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-kawa] [bug #23534] "uninitialized register 10" (VerifyError) when a


From: Sean Luke
Subject: [Bug-kawa] [bug #23534] "uninitialized register 10" (VerifyError) when accessing globals from method within define-simple-class
Date: Tue, 10 Jun 2008 18:26:55 +0000
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.18

URL:
  <http://savannah.gnu.org/bugs/?23534>

                 Summary: "uninitialized register 10" (VerifyError) when
accessing globals from method within define-simple-class
                 Project: Kawa
            Submitted by: feijai
            Submitted on: Tuesday 06/10/2008 at 18:26
                Category: Code generation
                Severity: 3 - Normal
              Item Group: Run-time exception
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

I've come across the situation where I get class verification error stemming
from a bad compilation in Kawa 1.9.1.  It's repeatable but I cannot construct
a simple example, so I'm giving you the full-blown version and making it as
easy to set up as possible.

I'm using Kawa in conjunction with MASON, a java multiagent simulator
package.  I was working on building a simulation in Kawa when I hit on this
showstopper.  When I initialize a compiled Kawa simple-class, it bombs on
verifying one of the methods with  "java.lang.VerifyError: (class: flocker,
method: step signature: (Lsim/engine/SimState;)V) Accessing value from
uninitialized register 10"

Examining the bytecode, sure enough, there's a crazy access to register 10,
never defined before, right there on line 104 of the 'step' method:

   104: aload   10

To repeat:

1. Download and unpack http://cs.gmu.edu/~sean/temp/test.tar.gz
2. Follow the example below:  


geepers[/tmp/test]> ls
flocker.scm    kawa-1.9.1.jar mason.jar

geepers[/tmp/test]> java -cp kawa-1.9.1.jar:mason.jar kawa.repl

#|kawa:1|# (load "flocker.scm")
flocker.scm:22:21: warning - unknown class: flocker
flocker.scm:23:8: warning - more than one possibly applicable method
'nextBoolean' in ec.util.MersenneTwisterFast
  candidate: boolean ec.util.MersenneTwisterFast.nextBoolean(double)
  candidate: boolean ec.util.MersenneTwisterFast.nextBoolean(float)

#|kawa:2|# (<flocker>)
java.lang.VerifyError: (class: flocker, method: step signature:
(Lsim/engine/SimState;)V) Accessing value from uninitialized register 10
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
        at java.lang.Class.getDeclaredMethods(Class.java:1763)
        at gnu.bytecode.ClassType.addMethods(ClassType.java:751)
        at gnu.bytecode.ClassType.getDeclaredMethods(ClassType.java:519)
        at gnu.bytecode.ClassType.getMethods(ClassType.java:617)
        at gnu.kawa.reflect.ClassMethods.getMethods(ClassMethods.java:105)
        at gnu.kawa.reflect.ClassMethods.apply(ClassMethods.java:175)
        at gnu.kawa.reflect.Invoke.lookupMethods(Invoke.java:257)
        at gnu.kawa.reflect.Invoke.applyN(Invoke.java:184)
        at gnu.kawa.reflect.Invoke.apply(Invoke.java:98)
        at gnu.mapping.CallContext.runUntilDone(CallContext.java:251)
        at gnu.expr.ModuleExp.evalModule(ModuleExp.java:296)
        at kawa.Shell.run(Shell.java:230)
        at kawa.Shell.run(Shell.java:172)
        at kawa.Shell.run(Shell.java:159)
        at kawa.repl.main(repl.java:844)






    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?23534>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]