[cl-ppcre-devel] Re: install fails - Allegro 4.3

Edi Weitz edi at agharta.de
Fri Feb 6 13:21:14 UTC 2004


On Fri, 6 Feb 2004 06:32:57 -0500 (EST), Roman Yangarber <roman at cs.nyu.edu> wrote:

> i could not install the version i downoladed from your page
> yesterday.  it crashes, the message given below.
>
> in the next section i give the trace of the crash.  in the following
> section i show how i hacked around it.

Hi Roman!

Could you please use the mailing list at

  <http://common-lisp.net/mailman/listinfo/cl-ppcre-devel>

for bug reports. That way other people can read them, too, and maybe
help out.

To me this looks like a bug in AllegroCL 4.3. I'd suggest that you ask
Franz support if they have a patch for it.

Could you run all tests successfully after changing the threshold?

Cheers,
Edi.

> ______________________________________________________________________________
> USER(3): (mk:compile-system "cl-ppcre")
> ; Loading /home/Data/Software/cl-ppcre/cl-ppcre.system
> ;;; Compiling file /home/Data/Software/cl-ppcre/packages.lisp
> ;;; Writing fasl file /home/Data/Software/cl-ppcre/packages.fasl
> ;;; Fasl write complete
>
> < compiles and loads everything up to...>
>
> ;;; Writing fasl file /home/Data/Software/cl-ppcre/api.fasl
> ;;; Fasl write complete
> ; Fast loading /home/Data/Software/cl-ppcre/api.fasl
> Error: %puthash internal error: full hash table:
>        #(#\p #\a #\b #\c #\d #\e #\f #\g #\h #\i #\j #\k #\l #\m #\n #\o) 1 1
>
> Restart actions (select using :continue):
>  0: retry the load of /home/Data/Software/cl-ppcre/api.fasl
>  1: skip loading /home/Data/Software/cl-ppcre/api.fasl
>
> [changing package from "COMMON-LISP-USER" to "CL-PPCRE"]
> [1] PPCRE(4): :zo
> Evaluation stack:
>
>    (ERROR "%puthash internal error: full hash table: ~s ~s ~s" #(# # # ...)
>    ...)
>  ->(ADD-RANGE-TO-HASH #<EQL hash-table with 16 entries @ #x8ade972> #\a ...)
>    (CONVERT-CHAR-CLASS-TO-HASH (# # # ...))
>    (CONVERT-AUX (NIL NIL NIL))
>    (CONVERT-AUX (:GROUP #))
>    (CONVERT (:GROUP #))
>    ((METHOD CREATE-SCANNER (T)) (:GROUP #) :CASE-INSENSITIVE-MODE ...)
>    (CREATE-SCANNER (:GROUP #) :CASE-INSENSITIVE-MODE ...)
>    ((METHOD CREATE-SCANNER (STRING)) :UNKNOWN)
> ______________________________________________________________________________
> my patch/fix/hack around:
>
> i had to modify the settings for the make-hash-table call in convert.lisp:
>
> (defun convert-char-class-to-hash (list) ...
>
>   (loop with hash = (make-hash-table :size (ceiling (expt *regex-char-code-limit* (/ 1 4)))
>                                      :rehash-size (float (expt *regex-char-code-limit* (/ 1 4)))
>                                      :rehash-threshold 0.5)
>
> ... )
>
> changing the :size and :rehash-size didn't work.  lowering :rehash-threshold
> from 1.0 to .5 seemed to help (for now?!)
>
> it seemed like the hash table is full and is not getting resized properly.
> (i don't really understand how hash-tables work in lisp, so i'm not confident
> at all that this is the right thing to do.)




More information about the Cl-ppcre-devel mailing list