I'm trying to get my little abcl web app experiment (http://spindazzle.org/blow), working on google app engine. The gae sandbox is tripping me up, but I'm having a tough time figuring out where. Here's a stack trace:
https://gist.github.com/0258a3794866eb6c120b
If I'm reading this correctly, it looks like asdf is trying to compile something, which in turn is calling ensure-directories-exist, which doesn't work on GAE.
I'm not sure what asdf could be compiling. I've pre-compiled all of the *.lisp files and removed them from the war file that gets uploaded to GAE.
Any advice on tracking this down?
Thanks!
AG
Anthony Green wrote:
I'm trying to get my little abcl web app experiment (http://spindazzle.org/blow), working on google app engine. The gae sandbox is tripping me up, but I'm having a tough time figuring out where. Here's a stack trace:
https://gist.github.com/0258a3794866eb6c120b
If I'm reading this correctly, it looks like asdf is trying to compile something, which in turn is calling ensure-directories-exist, which doesn't work on GAE.
I'm not sure what asdf could be compiling. I've pre-compiled all of the *.lisp files and removed them from the war file that gets uploaded to GAE.
Any advice on tracking this down?
While on abcl IRC yesterday, I figured out that this was asdf trying to compile before loading. I hacked abcl's asdf to not do this in the abcl.jar deployed to GAE and the problem went away.
Now the problem is that it takes too long to bring up abcl + my libraries and app code. GAE kills requests that take too long to start up.
One other thing to note... it looks like many of the abcl objects need to be serializable if you're going to save them in the user session for GAE. I made Fixnum serializable for my test and it worked fine.
AG
Thanks!
AG
armedbear-devel mailing list armedbear-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
On 1/25/10, Anthony Green green@spindazzle.org wrote:
<<snipped>>
While on abcl IRC yesterday, I figured out that this was asdf trying to compile before loading. I hacked abcl's asdf to not do this in the abcl.jar deployed to GAE and the problem went away.
<<snipped>>
Hi Anthony,
Off topic, but I'm interested in knowing how you hacked asdf to do this. I recently tried to prevent compilation in ECL, and here's what I did.
(in-package :asdf)
(defmethod perform :before ((operation compile-op) (c source-file)) nil)
(defmethod perform ((operation compile-op) (c cl-source-file)) nil)
(defmethod operation-done-p ((operation compile-op) any) t)
(defmethod input-files ((operation load-op) (c cl-source-file)) (list (component-pathname c)))
Not sure how it should be done, but this one worked for me. Out of interest, did you do something similar (except for the bit where you load fasls or whatever instead of the source file)?
Yong.
armedbear-devel@common-lisp.net