From: npostavs@users.sourceforge.net
To: Keith David Bershatsky <esq@lawlist.com>
Cc: 27571@debbugs.gnu.org
Subject: bug#27571: Crashing when printing a lisp object.
Date: Mon, 03 Jul 2017 23:32:50 -0400 [thread overview]
Message-ID: <878tk4j2ql.fsf@users.sourceforge.net> (raw)
In-Reply-To: <m24lutvsmj.wl%esq@lawlist.com> (Keith David Bershatsky's message of "Mon, 03 Jul 2017 19:32:52 -0700")
Keith David Bershatsky <esq@lawlist.com> writes:
> I will work on trying to come up with a way to create the 6652-count
> example that doesn't involve using the custom version of undo-tree to
> go from a count of 6651 to a count of 6652.
This seems to do the job for me:
(require 'cl-lib)
(defun make-deep-object (depth)
(let ((obj 1))
(while (> (cl-decf depth) 0)
(setq obj (vector (list obj))))
obj))
(setq print-circle t)
(prin1-to-string (make-deep-object 4964))
With the default stack limit of 8192 I get a crash at 4964. After doing
'ulimit -S -s unlimited' I could evaluate (prin1-to-string
(make-deep-object 640000)) successfully (I didn't bother testing higher,
since that already takes quite a while to run).
Setting a particular value for stack size limit didn't help, below 5MB
it still crashed, and above I got a glib error about failure to create a
thread.
(process:23894): GLib-ERROR **: creating thread 'gmain': Error creating thread: Resource temporarily unavailable
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffebcb3aff1 in ?? () from /usr/lib/libglib-2.0.so.0
Emacs has some code in main() to increase the stack size limit (search
for 'setrlimit'), I'm not sure how that interacts with the limits above.
> In terms of the reference to line 1350, I'm not sure what that refers
> to.
I was just checking we have correponding source lines, i.e., that line
1350 of src/print.c is the opening brace of print_object.
next prev parent reply other threads:[~2017-07-04 3:32 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-04 1:42 bug#27571: Crashing when printing a lisp object Keith David Bershatsky
2017-07-04 2:05 ` npostavs
2017-07-04 2:32 ` Keith David Bershatsky
2017-07-04 3:32 ` npostavs [this message]
2020-08-24 14:11 ` Lars Ingebrigtsen
2020-10-01 1:59 ` Lars Ingebrigtsen
2017-07-04 3:49 ` Keith David Bershatsky
2017-07-07 2:46 ` npostavs
2017-07-26 1:14 ` Keith David Bershatsky
2018-01-09 1:38 ` bug#27571: #27571; C stack overflow from `prin1' on deeply nested " Keith David Bershatsky
2018-01-09 7:53 ` Paul Eggert
2018-01-09 12:58 ` bug#27571: " Noam Postavsky
2018-01-09 16:33 ` bug#27571: #27571; " Keith David Bershatsky
2018-01-09 16:43 ` bug#27571: " Keith David Bershatsky
2018-01-28 21:45 ` Noam Postavsky
2018-01-28 23:23 ` Keith David Bershatsky
2018-01-28 23:43 ` Noam Postavsky
2018-01-28 23:49 ` Keith David Bershatsky
2018-01-29 0:13 ` Noam Postavsky
2018-01-29 4:26 ` Keith David Bershatsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878tk4j2ql.fsf@users.sourceforge.net \
--to=npostavs@users.sourceforge.net \
--cc=27571@debbugs.gnu.org \
--cc=esq@lawlist.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).