[Openmcl-devel] Cockpit Error using SAVE-APPLICATION?
j-anthony at comcast.net
j-anthony at comcast.net
Thu Nov 6 12:13:59 EST 2008
Thanks for info and fix for this. Sadly I have a few more questions :-|
* First, I can pick up the 1.2 for Mac/Darwin just fine, but when I try
linuxx8664 I get this:
$ svn co http://svn.clozure.com/publicsvn/openmcl/release/1.2/linuxx8664/ccl
svn: In directory 'ccl'
svn: Can't move source to dest
svn: Can't move 'ccl/.svn/tmp/prop-base/lx86cl64.svn-base' to
'ccl/.svn/prop-base/lx86cl64.svn-base': No such file or directory
I poked around, but wasn't sure what the "right" thing to do was to fix/get
around this. Any ideas?
* I poked around in the source before getting your reply and noticed that
for a toplevel for class APPLICATION there was a BEFORE method for such
that included a call to
(initialize-interactive-streams). Putting this in a given toplevel
function got around the error (as you note - the streams weren't
initialized but hacking it like this "fixed" that issue). In the process
of this, I noticed that the default application class
LISP-DEVELOPMENT-SYSTEM didn't have such a method on it. Was this the
issue? I notice that 'application is not external in CCL, so subclassing
an application class off this and using it probably isn't a "right" thing
* It looks like the toplevel function does _not_ control image exit (in the
sense of a primary thread which if it exits, the whole image shutsdown). I
say this because the versions of toplevel which did not encounter an error
but which exited immediately, didn't seem to affect the running image - it
just kept running. In fact, you couldn't even Ctr-c out of it. Had to
kill -9 the process explicitly. Would a (quit) executed from any function
in the image shut things down?
Sorry for the rambling and extra questions, but I appreciate your efforts
and any info you may have on this stuff, as I/we are trying to deploy what
we have as a service. BTW, CCL works just fine in the Amazon cloud!
From: Gary Byers gb at clozure.com
Date: Thu, 6 Nov 2008 00:53:04 -0700 (MST)
To: j-anthony at comcast.net, Openmcl-devel at clozure.com
Subject: Re: [Openmcl-devel] Cockpit Error using SAVE-APPLICATION?
It's a bug: the function specified by :toplevel-function was being
run before the image had finished initializing itself (notably, before
streams like *TERMINAL-IO* were usable.)
That should be fixed in svn for both 1.2 and the trunk.
On Wed, 5 Nov 2008, j-anthony at comcast.net wrote:
> I am creating an application via save-application. On start with the
> created image (at this point is w/o the kernel appended so is started with
> ccl -I <image-name>), I am blowing off with an error which makes me think
> am doing something wrong, which is likely obvious to those who've done
> with CCL before (I've done this all the time with ACL).
> Anyway, here is the very simple example:
> $ ccl
> Welcome to Clozure Common Lisp Version 1.2-r10552 (LinuxX8664)!
> (defun apri-toplevel () (format t "~%Persistence starts") (dotimes (i 10)
> (sleep 5) (format t ".")))
> (save-application "/var/aprigo/Persistence/persistence.lx64"
> :toplevel-function 'apri-toplevel)
> $ ccl -I /var/aprigo/Persistence/persistence.lx64
> Error during early application initialization:
> Fault during write to memory address #x165CE9F8
> ? for help
>  OpenMCL kernel debugger: (K)
>  OpenMCL kernel debugger: Killed
> If I change the toplevel to:
> (defun apri-toplevel () :apri-done)
> then it seems to work. By "seems to work" I mean that it starts and does
> not give the error. But I would have thought that since the toplevel just
> immediately returns, the image would exit. Apparently that is not the
> semantics of save-application/toplevel-function-behavior. So, questions
> 1. Is trying to write from the toplevel somehow bogus and that is causing
> the error? If not, anyone know what I am doing wrong with this?
> 2. If the toplevel isn't the thing which controls a "controlled" exit,
> is a/the canonical way of exiting from such an image?
> Many thanks in advance for any info
> mail2web.com Enhanced email for the mobile individual based on
> Exchange - http://link.mail2web.com/Personal/EnhancedEmail
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
mail2web - Check your email from the web at
More information about the Openmcl-devel