[Top][All Lists]
[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.
- Fix for Mac OS X Garbage Collection Crashes,
Andrew Choi <=