bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#27779: 26.0.50: read -- Re-entering top level after C stack overflow


From: Keith David Bershatsky
Subject: bug#27779: 26.0.50: read -- Re-entering top level after C stack overflow
Date: Sat, 22 Jul 2017 14:31:35 -0700

By process of elimination via the lo-tech method of trying different nightly 
builds from https://emacsformacosx.com/builds/all , I have determined that 
December 8, 2016 was the last build where I am able to successfully run from 
the terminal:

ulimit -S -s unlimited

/path/to/gui/version/emacs/built/12_08_2016

and then from the *scratch* buffer, evaluate the following:

(require 'cl-lib)

(defun make-deep-object (depth)
    (let ((obj 1))
      (while (> (cl-decf depth) 0)
        (setq obj (vector (list obj))))
      obj))

(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 "Success! (%d)" (length string))))

The builds that were made AFTER December 8, 2016 all crash through June 11, 
2017.  At some point AFTER June 11, 2017, Emacs changed from crashing to just 
throwing an error message "Re-entering top level after C stack overflow".

The build of December 8, 2016 does not have `emacs-repository-version` defined, 
so it will be necessary to look at the commits on December 7, 2016 and December 
8, 2016 to see what changed that eliminated the prior ability to use `ulimit -S 
-s unlimited` as a workaround to the stack overflow problem.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]