[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: XEmacs 21.4.10 crashes with glibc 2.3.1
From: |
Wolfram Gloger |
Subject: |
Re: XEmacs 21.4.10 crashes with glibc 2.3.1 |
Date: |
Mon, 4 Nov 2002 17:03:51 +0100 ("MET) |
Hi,
> After upgrading from glibc 2.2.5 to 2.3.1 in Debian `sid', the unexec
> version of XEmacs builds successfully, but crashes immediately when
> invoked. Are there reasons to believe that the new glibc might cause
> problems with the unexec'd binary? It may be related to changes in
> malloc, see below.
Certainly possible. However, I've personally checked xemacs-21.4.6
against the then-current glibc-2.2.90 in April, and it was working
fine. Since then, few malloc changes have gone in.
> N.B. I don't consider this a glibc bug, I just want to try to confirm
> that it is related to the unexec process or malloc (we have an
> alternative way to "dump" Lisp now, the so-called "portable dumper").
BTW: that "portable dumper" sounds like great news, please enable by
default soon :-).
I have downloaded the 21.4.10 CVS that you mentioned and will try it
tonight.
Until then, I'll try a shot in the dark and suggest:
2002-10-07 Wolfram Gloger <address@hidden>
* malloc/malloc.c (sYSMALLOc): Only check for breakage due
to foreign sbrk()'s if arena is contiguous. Bug report from
Bruno Haible <address@hidden>.
--- malloc.c 2002/06/11 09:36:14 1.10
+++ malloc.c 2002/10/07 15:33:46
@@ -2911,7 +2911,7 @@
if (brk == old_end && snd_brk == (char*)(MORECORE_FAILURE))
set_head(old_top, (size + old_size) | PREV_INUSE);
- else if (old_size && brk < old_end) {
+ else if (contiguous(av) && old_size && brk < old_end) {
/* Oops! Someone else killed our space.. Can't touch anything. */
assert(0);
}
Regards,
Wolfram.