bug#41404: Crash "Too many root sets" when executing code from stdin in elisp mode

Vasilij Schneidermann <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
The attached reproducer script requires Emacs and Guile.  When running it, the
REPL prints out many lines, the last ones being:

    $1884 = #f
    $1885 = #f
    $1886 = #f
    $1887 = #f
    $1888 = #f
    $1889 = #f
    $1890 = #f
    $1891 = #f
    $1892 = #f
    Too many root sets
    ./repro.sh: line 11:  2014 Aborted (core dumped) guile --language=elisp < elisp-spec.el

This happens both for Guile 2.2.6 on Arch and Guile 3.0.2 on Debian Sid,
launched with `docker run --rm -i -t debian:sid bash`.
repro.sh (application/x-sh, 339 B)
#!/bin/bash
cat > gen-elisp-spec.el <<EOF
(mapatoms
 (lambda (atom)
   (when (fboundp atom)
     (princ (format "(fboundp '%S)\n" atom)))
   (when (and (not (keywordp atom)) (boundp atom))
     (princ (format "(boundp '%S)\n" atom)))))
EOF
emacs -Q --batch --script gen-elisp-spec.el > elisp-spec.el
guile --language=elisp < elisp-spec.el
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEE0dAcySl3bqM8O17WFmfJg6zCifoFAl7D/8QACgkQFmfJg6zC
ifrbzwf8DFIVldCjSpOIWkB0q2u8vBRJCvgDLuQzxZckSMdoHiVhtRvlrBTfaI8A
47ehuZaMOLmigRA/qUZOUEQl4xdlm6XLWv5kFMudqt64RDgz5gTJ1IzyJAZVnS+9
97yYgEpFUyxU2ZO0C4n8l+EqUAWOWdqOIsLGH9HZ/AFSLH9uD5dDE3UIL18NmXJI
2zQm+6iP6wSZTPHXSjiMK39EePWsDdggW79utrPD7vwJMXgxC6ykcA/zGIRIcWnk
KftaL9xmme7XSQ7L6tUTZ8jv1eJEXdvqb60WJ7bZ6/fExgqZEu6ejwOWy5DC/Jfu
tRpjNF56haI0u7pgFebhTGdhzr/kTw==
=y3/j
-----END PGP SIGNATURE-----
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.