emacs-devel
[Top][All Lists]
Advanced

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

Fix for Mac OS X Garbage Collection Crashes


From: Andrew Choi
Subject: Fix for Mac OS X Garbage Collection Crashes
Date: Sun, 12 Oct 2003 17:57:50 -0600
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3.50 (darwin)

If you've updated and built Emacs from CVS on OS X within the past few
weeks, you may have experienced crashes while Emacs is doing garbage
collection. The following patch, just checked into CVS, solves the
problem. I highly recommend updating to include it.

Index: darwin.h
===================================================================
RCS file: /cvs/emacs/src/s/darwin.h,v
retrieving revision 1.12
diff -r1.12 darwin.h
319a320,323
> /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the
>    stack.  */
> #define GC_MARK_STACK   GC_MAKE_GCPROS_NOOPS
> 

The problem is caused by a change to src/alloc.c about a month ago that
causes garbage collection to crash under certain circumstances (when
LISP_INT values are on the gcprolist) if GC_MARK_STACK is set to
GC_USE_GCPROS_AS_BEFORE. The best way to fix the problem is probably to
fix the bug introduced. I don't want to work on that. Instead I have now
set GC_MARK_STACK to GC_MAKE_GCPROS_NOOPS. This option for GC has been
chosen on nearly all other platforms. So by following suit on OS X, we
may actually be using better-maintained code in the future. This is
probably a better solution.





reply via email to

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