From: "Chris Hall" <chris@web.workinglinux.com>
To: Emacs bugs <bug-gnu-emacs@gnu.org>
Cc: "Emacs.apps dev" <emacs-app-dev-@lists.sourceforge.net>
Subject: Patches for CANNOT_DUMP on 23.0.60 (fwd)
Date: Sun, 02 Mar 2008 20:25:09 -1000 [thread overview]
Message-ID: <30eab8fd35ca2f1a38a9632fe50c81b0@lagorda> (raw)
[-- Attachment #1: Type: text/plain, Size: 2322 bytes --]
A little more info on the second patch:
Between Emacs 23.0.50 and 23.0.60, 'make_terminal_frame' was split
into 'make_initial_frame' and 'make_terminal_frame'.
Both versions of 'make_terminal_frame' end with a potential call to
'init_frame_faces'. The issue is that the Emacs CANNOT_DUMP build on
my machine calls only 'make_initial_frame' during startup, and if
'init_frame_faces' isn't called, Emacs segfaults while attempting to
dereference a 'face_cache' struct member containing 0x0. This occurs
during startup after entering 'recursive_edit' while evaluating
'display-supports-face-attributes-p'.
Maybe on DUMPED platforms 'init_frame_faces' somehow gets called
earlier?
HTH,
Chris Hall
---------- Forwarded message ----------
Date: 2008-03-01 23:07:00 -1000
From: Chris Hall <chris@web.workinglinux.com>
Subject: Patches for CANNOT_DUMP on 23.0.60
Aloha :)
I currently use Emacs on Debian Sarge (sorry, RMS! ;) with a custom
2.6 kernel.
I have recently also started using the GNUstep port, Emacs.app, on the
current stable GNUstep. As of this writing, that would be:
gnustep-base-1.14.2, gnustep-back-0.12.1 (libart), gnustep-gui-0.12.1,
gnustep-make-2.0.4.
Attached please find two patches that resolve:
* While building Emacs 23.0.60, I would consistently get the
following:
batch-byte-compile quail/CCDOSPY.el
make[1]: *** [quail/CCDOSPY.elc] Segmentation fault
Based on information I received from YAMAMOTO Mitsuharu, the code in
the attached patch 'gnustep-callproc.c.diff' seems to resolve that
issue.
* During startup, Emacs would consistently segfault while attempting
to dereference a face_cache struct member containing address 0x0.
This appears to be due to a problem where certain lisp functions get
called in one order on DUMPED machines, and a different order on
CANNOT_DUMP machines. (And again, YAMAMOTO Mitsuharu was very
helpful in resolving this.)
The attached patch 'gnustep-frame.c.diff' seems to resolve that issue
on my machine.
FYI, I also needed to increase SYSTEM_PURESIZE_EXTRA in order to avoid
the associated warning message on startup. I used 200000 after first
trying 100000, which wasn't enough.
You may, of course, Free-ly use (or not!) the attached files.
Mahalo for your time,
Chris Hall
<gnustep-callproc.c.diff>
<gnustep-frame.c.diff>
[-- Attachment #2: gnustep-callproc.c.diff --]
[-- Type: text/plain, Size: 710 bytes --]
*** emacs-23.0.0_NS-9.0rc3/src/callproc.c 2007-10-27 18:21:36.000000000 -1000
--- ../src/callproc.c 2008-03-01 21:41:56.000000000 -1000
*************** set_initial_environment ()
*** 1658,1665 ****
register char **envp;
#ifndef CANNOT_DUMP
if (initialized)
- #endif
{
for (envp = environ; *envp; envp++)
Vprocess_environment = Fcons (build_string (*envp),
Vprocess_environment);
--- 1658,1668 ----
register char **envp;
#ifndef CANNOT_DUMP
if (initialized)
{
+ #else
+ {
+ Vprocess_environment = Qnil;
+ #endif
for (envp = environ; *envp; envp++)
Vprocess_environment = Fcons (build_string (*envp),
Vprocess_environment);
[-- Attachment #3: gnustep-frame.c.diff --]
[-- Type: text/plain, Size: 423 bytes --]
*** emacs-23.0.0_NS-9.0rc3/src/frame.c 2007-11-10 17:53:57.000000000 -1000
--- ../src/frame.c 2008-03-01 21:31:39.000000000 -1000
*************** make_initial_frame (void)
*** 559,564 ****
--- 559,569 ----
FRAME_CAN_HAVE_SCROLL_BARS (f) = 0;
FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_none;
+ #ifdef CANNOT_DUMP
+ if (!noninteractive)
+ init_frame_faces (f);
+ #endif
+
return f;
}
next reply other threads:[~2008-03-03 6:25 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87k5dxjnm0.fsf@cyd.mit.edu>
2008-03-03 6:25 ` Chris Hall [this message]
2008-08-31 14:00 ` bug#33: marked as done (Patches for CANNOT_DUMP on 23.0.60 (fwd)) Emacs bug Tracking System
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=30eab8fd35ca2f1a38a9632fe50c81b0@lagorda \
--to=chris@web.workinglinux.com \
--cc=bug-gnu-emacs@gnu.org \
--cc=emacs-app-dev-@lists.sourceforge.net \
/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).