[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13759: 24.3.50; bootstrap failed; bootstrap-emacs segfaults
From: |
Daniel Colascione |
Subject: |
bug#13759: 24.3.50; bootstrap failed; bootstrap-emacs segfaults |
Date: |
Tue, 19 Feb 2013 21:57:09 -0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 |
On 2/19/2013 9:12 PM, Daniel Colascione wrote:
> I don't know why we suddenly started seeing this behavior.
Revision 111820, "Prefer `message1' over `message'.", caused us to start calling
message1 instead of message in sheap.c. message1 ends up calling message_dolog,
which tries to allocate a *Messages* buffer. Maybe Fdump_emacs should bind
Vmessage_max_log?
Anyway, I've installed the following patch to trunk, which fixes the problem. If
we want to go back to using message1, let's somehow make sure it doesn't log.
revno: 111830
committer: Daniel Colascione <dancol@dancol.org>
branch nick: cyg
timestamp: Tue 2013-02-19 21:43:53 -0800
message:
2013-02-19 Daniel Colascione <dancol@dancol.org>
* sheap.c (report_sheap_usage): Use message, not message1, so
that we don't try to create a buffer while we're in the middle
of dumping Emacs. Explain why.
diff:
=== modified file 'src/ChangeLog'
--- src/ChangeLog 2013-02-19 03:29:28 +0000
+++ src/ChangeLog 2013-02-20 05:43:53 +0000
@@ -1,3 +1,9 @@
+2013-02-19 Daniel Colascione <dancol@dancol.org>
+
+ * sheap.c (report_sheap_usage): Use message, not message1, so
+ that we don't try to create a buffer while we're in the middle
+ of dumping Emacs. Explain why.
+
2013-02-19 Eli Zaretskii <eliz@gnu.org>
* w32proc.c (new_child): Avoid leaking handles if the subprocess
=== modified file 'src/sheap.c'
--- src/sheap.c 2013-02-17 16:49:27 +0000
+++ src/sheap.c 2013-02-20 05:43:53 +0000
@@ -91,5 +91,8 @@
char buf[200];
sprintf (buf, "Static heap usage: %d of %d bytes",
bss_sbrk_ptr - bss_sbrk_buffer, STATIC_HEAP_SIZE);
- message1 (buf);
+ /* Don't change this call to message1! message1 can log
+ messages, and at this point, we're not allowed to create
+ buffers. */
+ message ("%s", buf);
}
signature.asc
Description: OpenPGP digital signature