Subject: bug#33 closed by Chong Yidong <[email-masked]> (Re: Patches for CANNOT_DUMP on 23.0.60 (fwd))

From: [email-masked] (Emacs bug Tracking System)

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#33: Patches for CANNOT_DUMP on 23.0.60 (fwd)

It has been closed by Chong Yidong <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Chong Yidong <[email-masked]> by
replying to this email.

-- 
33: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=33
Emacs Bug Tracking System
Contact [email-masked] with problems
>From [email-masked] Sun Aug 31 06:52:56 2008
From: Chong Yidong <[email-masked]>
To: [email-masked]
Subject: Re: Patches for CANNOT_DUMP on 23.0.60 (fwd)
Date: Sun, 31 Aug 2008 09:55:03 -0400

Closing this bug, as both patches have been checked in (2008-07-15).

>From [email-masked] Mon Mar  3 05:58:19 2008
Resent-Message-ID: <[email-masked]>
Resent-To: [email-masked]
Resent-From: Stefan Monnier <[email-masked]>
Resent-Date: Mon, 03 Mar 2008 08:57:54 -0500
Date: Sun, 02 Mar 2008 20:25:09 -1000
From: "Chris Hall" <[email-masked]>
To: Emacs bugs <[email-masked]>
Cc: "Emacs.apps dev" <[email-masked]>
Subject: Patches for CANNOT_DUMP on 23.0.60 (fwd)
Sender: bug-gnu-emacs-bounces+monnier=[email-masked]

--=_ce13c6bab71330c375fb5514ccd6ae21
Content-Type: text/plain; charset="us-ascii"; format="flowed"

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 <[email-masked]>
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>

--=_ce13c6bab71330c375fb5514ccd6ae21
Content-Transfer-Encoding: base64
Content-Type: text/plain; name="gnustep-callproc.c.diff"
Content-Disposition: attachment; filename="gnustep-callproc.c.diff"

--=_ce13c6bab71330c375fb5514ccd6ae21
Content-Transfer-Encoding: base64
Content-Type: text/plain; name="gnustep-frame.c.diff"
Content-Disposition: attachment; filename="gnustep-frame.c.diff"

KioqIGVtYWNzLTIzLjAuMF9OUy05LjByYzMvc3JjL2ZyYW1lLmMJMjAwNy0xMS0xMCAxNzo1
Mzo1Ny4wMDAwMDAwMDAgLTEwMDAKLS0tIC4uL3NyYy9mcmFtZS5jCTIwMDgtMDMtMDEgMjE6
MzE6MzkuMDAwMDAwMDAwIC0xMDAwCioqKioqKioqKioqKioqKiBtYWtlX2luaXRpYWxfZnJh
bWUgKHZvaWQpCioqKiA1NTksNTY0ICoqKioKLS0tIDU1OSw1NjkgLS0tLQogICAgRlJBTUVf
Q0FOX0hBVkVfU0NST0xMX0JBUlMgKGYpID0gMDsKICAgIEZSQU1FX1ZFUlRJQ0FMX1NDUk9M
TF9CQVJfVFlQRSAoZikgPSB2ZXJ0aWNhbF9zY3JvbGxfYmFyX25vbmU7CiAgCisgI2lmZGVm
IENBTk5PVF9EVU1QCisgICBpZiAoIW5vbmludGVyYWN0aXZlKQorICAgICBpbml0X2ZyYW1l
X2ZhY2VzIChmKTsKKyAjZW5kaWYKKyAKICAgIHJldHVybiBmOwogIH0KICAK
--=_ce13c6bab71330c375fb5514ccd6ae21--