bug#39586: pfds 0.3 hamt-fold crashes with guile-2.0 and guile-3.0

Ludovic Courtès <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi Rob,

Rob Browning <[email protected]> skribis:

> With the current pdfs (https://github.com/ijp/pfds
> 454033f82dac7c0b0ea9e84eed1e8ed316487c78), the code below halts on an
> rnrs record assertion failure with both guile-2.2 and guile-3.0, and I'm
> wondering if I'm doing something wrong, if it might be a guile bug, or
> if it's more likely an issue with pfds.
>
>   (use-modules
>    ((pfds hamts) #:prefix hamts/)
>    ((srfi srfi-69) #:prefix hash/))
>
>   (define x (hamts/hamt-set
>              (hamts/hamt-set
>               (hamts/hamt-set
>                (hamts/make-hamt hash/hash eqv?)
>                #:x 1)
>               #:y 2)
>              #:z 3))
>
>   (hamts/hamt-fold (lambda (k v result) result)
>
> It looks like the crash is in (rnrs records procedural) here:
>
>     (if (and parent (struct-ref parent rtd-index-sealed?))
> 	(r6rs-raise (make-assertion-violation)))

Do you think you could boil it down to a test that does not rely on pfds?

Thanks,
Ludo’.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.