GNU bug report logs -
#30626
26.0.91; Crash when traversing a `stream-of-directory-files'
Previous Next
Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>
Date: Tue, 27 Feb 2018 09:23:01 UTC
Severity: normal
Tags: fixed, patch
Found in version 26.0.91
Done: Noam Postavsky <npostavs <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Eli Zaretskii <eliz <at> gnu.org> writes:
> How do you see that the car is immediately thrown away?
After expansion and dispatch, this is what gets executed:
#+begin_src emacs-lisp
(let ((stream (stream-range 1 1000000)))
(while (not (stream-empty-p stream))
(funcall #'ignore (stream-first stream))
(setq stream (stream-rest stream))))
#+end_src
Creating an element and throwing away the outermost cons alternate.
> > AFAIU the problem is that the cons1 still exists in memory until
> > garbage collection kicks in. When that happens, the cons1 points to
> > a largely recursive cons structure, though this structure is never
> > referenced from Lisp in this form.
> What is "cons1" in this context?
I said it some lines above: I defined it as name of the "first cons",
i.e. the original stream. The return value of `stream-range' in the
above example.
Michael.
This bug report was last modified 6 years and 44 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.