[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27779: #27779; C stack overflow from `read' on deeply nested lisp ob
From: |
Keith David Bershatsky |
Subject: |
bug#27779: #27779; C stack overflow from `read' on deeply nested lisp object. |
Date: |
Mon, 08 Jan 2018 17:38:27 -0800 |
Dear Paul and Noam:
I have determined that bug #27779 was introduced on December 8, 2016 with
commit f0a1e9ec3fba3d5bea5bd62f525dba3fb005d1b1. The following patch to the
Emacs 26 branch as of today (01/08/2018) reverses the commit and enables the
test below to be completed successfully.
[FYI: I am on OSX 10.6.8 and am manually increasing the stack limit with
`ulimit -S -s unlimited` so that I can have rather large custom undo-tree
histories.]
(require 'cl-lib)
(defun make-deep-object (depth)
(let ((obj 1))
(while (> (cl-decf depth) 0)
(setq obj (vector (list obj))))
obj))
;;; STACK OVERFLOW: problem with `read'
;;; The bug was introduced on December 8, 2016 with
;;; commit: f0a1e9ec3fba3d5bea5bd62f525dba3fb005d1b1
(let* ((print-circle t)
(max-lisp-eval-depth most-positive-fixnum)
(max-specpdl-size most-positive-fixnum)
(deep-object (make-deep-object 6000))
(string (prin1-to-string deep-object))
(result (read string)))
(when result
(message "Bug #27779: Success! (%d)" (length string))))
patch.diff
Description: application/diff
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#27779: #27779; C stack overflow from `read' on deeply nested lisp object.,
Keith David Bershatsky <=