build-index, cl-ppcre and github



Quoting Raymond Toy <toy.raymond at gmail.com>:

> On 2/14/11 10:58 PM, Leo T Butler wrote:
>> Quoting Raymond Toy <toy.raymond at gmail.com>:
>>
>>> On 2/13/11 7:27 PM, Leo T Butler wrote:
>>>>
>>>> 4. REQUEST: please checkout and test the above code. I am especially
>>>> interested in hearing about bugs or feature requests.
>>>> At the moment, the code appears to work for me with clisp+cmucl+sbcl,
>>>> but it may need tweaking for other lisps, so I am interested in
>>>> hearing about how it works on other lisps, too.
>>> Works ok with ccl.  I didn't too any real testing other than to run
>>> setup_help_database() and ask for documentation for a few random
>>> functions.
>>>
>>> Ecl doesn't work.  It seems to have compiled everything, but
>>> setup_help_database eventually causes some unspecific Lisp error about
>>> invalid or protected memory error.
>>>
>>> Gcl won't even compile.  This is a showstopper until we decide that gcl
>>> is not the main Lisp anymore.
>>
>> Thanks, Ray. Could you post the error messages for these Lisps, please.
> With ecl, setup_help_database() takes a bit of time (over 60 sec) and
> gives this:
>
> Detected access to an invalid or protected memory address.
>
> Available restarts:
>
> 1. (CONTINUE) Ignore signal
> 2. (MACSYMA-QUIT) Maxima top-level
>
> The backtrace isn't particularly helpful.  It just lists (run).  Note
> that one this machine, clisp will setup the data base in 10 sec; cmucl,
> 1.3 sec.
>
> Oh, wait.  ecl just succeeded after 75 sec.  That's first time I've seen
> it, in some 5-10 attempts.  And now it's consistently succeeding (3 more
> tests).  I didn't change anything because I just ran it and copied the
> message above just now.  Bizarre.  Ah.  It's because the failed runs use
> -g (enable debugging).  Without -g, setup_help_database works fine with
> ecl.  (Ecl 11.1.1, for the record.)

I guess you are seeing a bug in ecl when run in debugger mode.

>
> But given that it takes 75 sec for ecl to build this, I hope that
> setup_help_database is run during compilation so that the user doesn't
> need to build the database at startup.

Yes, in the git branch I pointed you to, the setup_help_database is  
run at build time in place of the perl script, and the info hashes  
ought to be autoloaded when describe or apropos are called for the  
first time.

It's my suspicion  that ecl is doing some sub-optimal things with the  
cl-ppcre code.
I inquired on the cl-ppcre list if they were aware of the situation  
with ecl, and one of the ecl devs replied that he would be interested  
in finding some good test cases where ecl runs slowly.

>
> For gcl, gcl cannot compile cl-ppcre:
>
> Compiling /apps2/src/sourceforge/Maxima-CAS/src/cl-ppcre/errors.lisp.
> Invalid DEFINE-CONDITION option: (:DEFAULT-INITARGS :POS NIL :STRING
>                                      *SYNTAX-ERROR-STRING*)
>
> Fast links are on: do (use-fast-links nil) for debugging
> Broken at FUNCALL.  Type :H for Help.

Edi Weitiz pointed out this is a bug in gcl; at least the bit that gcl  
barfs on is  valid cl a la the hyperspec. To be honest, I haven't been  
able to build HEAD with gcl for more than a year. I don't know how  
others manage.

Leo

-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.