Hi,
I've been messing around with the code. I've managed to load the fasl, but I think we're missing some initializations because I get the following error:
ERROR placeholder called with arguments: #<UNDEFINED-FUNCTION SYSTEM::ENSURE-AVAILABLE-SYMBOLS {E5F46E}>
Here's a full stack trace:
org.armedbear.lisp.ConditionThrowable: java.lang.Error at org.armedbear.lisp.Primitives$70.execute(Primitives.java:1459) at org.armedbear.lisp.Primitive.execute(Primitive.java:108) at org.armedbear.lisp.Symbol.execute(Symbol.java:781) at org.armedbear.lisp.Lisp.error(Lisp.java:349) at org.armedbear.lisp.Primitives$72.execute(Primitives.java:1509) at org.armedbear.lisp.Symbol.execute(Symbol.java:792) at org.armedbear.lisp.LispThread.execute(LispThread.java:528) at org.armedbear.lisp.Symbol.undefinedFunction(Symbol.java:898) at org.armedbear.lisp.Symbol.execute(Symbol.java:779) at org.armedbear.lisp.LispThread.execute(LispThread.java:511) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:488) at org.armedbear.lisp.Lisp.eval(Lisp.java:453) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:511) at org.armedbear.lisp.Lisp.eval(Lisp.java:453) at org.armedbear.lisp.Lisp.eval(Lisp.java:451) at org.armedbear.lisp.Load.faslLoadStream(Load.java:523) at org.armedbear.lisp.Load.access$100(Load.java:47) at org.armedbear.lisp.Load$1.execute(Load.java:381) at org.armedbear.lisp.LispThread.execute(LispThread.java:528) at org.armedbear.lisp.Lisp.evalCall(Lisp.java:495) at org.armedbear.lisp.Lisp.eval(Lisp.java:453) at org.armedbear.lisp.Load.loadStream(Load.java:491) at org.armedbear.lisp.Load.loadFileFromStream(Load.java:452) at org.armedbear.lisp.Load.load(Load.java:165) at org.armedbear.lisp.Load.load(Load.java:94) at org.armedbear.lisp.Load.load(Load.java:53) at abcl_ae.AbclInit.<clinit>(AbclInit.java:32) at abcl_ae.HelloWorldServlet.doGet(HelloWorldServlet.java:17) at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:121) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:342) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) ERROR placeholder called with arguments: #<UNDEFINED-FUNCTION SYSTEM::ENSURE-AVAILABLE-SYMBOLS {E5F46E}>
I've made Primitives.ERROR throw a ConditionThrowable instead of calling exit -- for debugging purpose.
The fasls need to be in the war directory (or in a subdirectory). An ant task copies the .abcl files from src to war\fasls.
I've attached an archive with the code as it looks now.
On Mon, Oct 19, 2009 at 2:22 PM, Alex Muscar muscar@gmail.com wrote:
Hi,
I've been messing around with the code. I've managed to load the fasl, but I think we're missing some initializations because I get the following error:
ERROR placeholder called with arguments: #<UNDEFINED-FUNCTION SYSTEM::ENSURE-AVAILABLE-SYMBOLS {E5F46E}>
Here's a full stack trace:
org.armedbear.lisp.ConditionThrowable: java.lang.Error at org.armedbear.lisp.Primitives$70.execute(Primitives.java:1459)
OT, but not too much: if we used named classes for primitives we could get more meaningful stack traces (say, JCALL instead of Primitives$XY). I.e. instead of
private static final Primitive xyz = new Primitive(...) { ... };
we could use
private static class JCALL extends Primitive { JCALL(...) { super(...); } ... } private static final Primitive xyz = new JCALL(...);
a bit more verbose, but worth the effort imho.
Ale
Hi Alex,
On Mon, Oct 19, 2009 at 2:22 PM, Alex Muscar muscar@gmail.com wrote:
Hi,
I've been messing around with the code. I've managed to load the fasl, but I think we're missing some initializations because I get the following error:
ERROR placeholder called with arguments: #<UNDEFINED-FUNCTION SYSTEM::ENSURE-AVAILABLE-SYMBOLS {E5F46E}>
Could you describe what you did to get to this error? Did you run it on your local development server? Or on the GAE infrastructure?
Bye,
Erik.
armedbear-devel@common-lisp.net