[armedbear-devel] bug in FASL loader

Blake McBride blake at mcbride.name
Sun Jul 29 11:28:41 UTC 2012


Has this been bug ticket number?

On Tue, Jul 24, 2012 at 2:54 AM, Alessio Stalla <alessiostalla at gmail.com>wrote:

> On Tue, Jul 24, 2012 at 2:56 AM, Blake McBride <blake at mcbride.name> wrote:
> > Wow, I get some really weird stuff testing this with the latest trunk as
> > follows.  (I put his code in a file named yyy.lisp.  I did not compile
> it.
> > There is no yyy.fasl)
> >
> > Blake-Mac-17:tmp blake$ abcl
> > Armed Bear Common Lisp 1.1.0-dev-svn-14015
> > Java 1.6.0_33 Apple Inc.
> > Java HotSpot(TM) 64-Bit Server VM
> > Low-level initialization completed in 0.369 seconds.
> > Startup completed in 1.371 seconds.
> > Type ":help" for a list of available commands.
> > CL-USER(1): (load "yyy.lisp")
> > T
> > CL-USER(2): (foo-bar-rb)
> > (foo-bar '(foo))
> >
> > Maximum error depth exceeded (11 nested errors) with 'FASL version
> mismatch;
> > found '57' but expected '39' in with-standard-io-syntax'.
> > CL-USER(3):
> >
> > I don't get the whole FASL stuff.
>
> To me it smells like the file with the definition of
> with-standard-io-syntax is autoloaded with *read-base* set to 16; in
> fact, #x39 = 57.
>
> With-standard-io-syntax is used when loading a FASL exactly to prevent
> this kind of bugs, so probably it should be preloaded at startup to
> solve the chicken-and-egg problem.
>
> Alessio
>
> > On Mon, Jul 23, 2012 at 5:40 PM, Alessio Stalla <alessiostalla at gmail.com
> >
> > wrote:
> >>
> >> On Mon, Jul 23, 2012 at 6:48 PM, Durward McDonell
> >> <durward.mcdonell at jhuapl.edu> wrote:
> >> >
> >> > Hello.
> >> >
> >> > I believe I have found a bug in FASL loading, with respect
> >> > to *read-base* being reset. At least, I get the behavior I
> >> > expect in sbcl, and not in abcl.
> >> >
> >> > Consider the following code:
> >> >
> >> > (defmacro foo-bar (s)
> >> >   `(sublis '((foo . bar)) ,s))
> >> >
> >> > (defun foo-bar-rb ()
> >> >   (let ((*read-base* #x10)
> >> >         (it (read)))
> >> >     (eval it)))
> >> >
> >> > Load this code, then execute (foo-bar-rb).
> >> > It will wait for input. Type (foo-bar '(foo)).
> >> > I would expect this to evaluate to (bar), but
> >> > abcl gives a FASL version mismatch, where it
> >> > seems that it is reading the FASL in the new
> >> > base (16 instead of 10), and reports "found '56'
> >> > but expected '38' in sublis".
> >>
> >> Hi!
> >>
> >> What FASL are you speaking of? There is nothing explicitly loading one
> >> in your code. Is this related to autoloading?
> >>
> >> Cheers
> >> Alessio
> >>
> >> _______________________________________________
> >> armedbear-devel mailing list
> >> armedbear-devel at common-lisp.net
> >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
> >
> >
>
>
>
> --
> Some gratuitous spam:
>
> http://ripple-project.org Ripple, social credit system
> http://villages.cc Villages.cc, Ripple-powered community economy
> http://common-lisp.net/project/armedbear ABCL, Common Lisp on the JVM
> http://code.google.com/p/tapulli my current open source projects
> http://www.manydesigns.com/ ManyDesigns Portofino, open source
> model-driven Java web application framework
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20120729/2f2d1533/attachment.html>


More information about the armedbear-devel mailing list