bug-kawa
[Top][All Lists]
Advanced

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

[Bug-kawa] [bug #14071] Problem with use of eval in a repl


From: Dean Ferreyra
Subject: [Bug-kawa] [bug #14071] Problem with use of eval in a repl
Date: Tue, 9 Aug 2005 15:24:00 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6 (ax)

URL:
  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=14071>

                 Summary: Problem with use of eval in a repl
                 Project: Kawa
            Submitted by: dferreyra
            Submitted on: Tue 08/09/05 at 15:23
                Category: None
                Severity: 3 - Normal
              Item Group: Run-time exception
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open

    _______________________________________________________

Details:

We have been running into a problem using Kawa interactively.  I've got it
narrowed down to this simple example:

% CLASSPATH=./kawa-1.8beta.jar java kawa.repl
#|kawa:1|# (define (fn arg) (eval arg))                          
#|kawa:2|# (invoke (fn 10) 'getClass)
java.lang.ArrayIndexOutOfBoundsException: -536870912
        at gnu.mapping.CallContext.cleanupFromContext(CallContext.java:299)
        at gnu.expr.Expression.eval(Expression.java:49)
        at gnu.expr.ApplyExp.apply(ApplyExp.java:69)
        at gnu.expr.ModuleExp.evalModule(ModuleExp.java:152)
        at kawa.Shell.run(Shell.java:229)
        at kawa.Shell.run(Shell.java:172)
        at kawa.Shell.run(Shell.java:159)
        at kawa.repl.main(repl.java:744)

There seems to be a problem with how gnu.mapping.CallContext's vstack is
handled.  In all the problem cases I've seen, it seems that when
cleanupFromContext() restores the consumer from the vstack, the consumer is
not correct.  It seems to be related to the call to ctx.vstack.clear() in
kawa.lang.Eval.eval() when that call happens *between* calls to
startFromContext() and cleanupFromContext().

This doesn't always manifest with an exception, but in the end the repl is
always disrupted; sometimes results are no longer printed, sometimes there's
an exception for every expression entered.






    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=14071>

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





reply via email to

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