Nix writes:
... hm. I just remembered Ulrich Drepper and Wolfram Gloger
mentioning
(I think on libc-alpha a while back but it may have been in some paper
somewhere) that the glibc malloc hooks are pretty much completely broken
and don't work properly,
If they're partially broken they might still work properly? ;-)
especially in glibc 2.4+: as far as I can tell
we don't rely on those hooks except when terminating (to a very limited
degree) and as a debugging hack with no effect on memory-allocation
semantics, right?
I believe that is true. There are some very old comments about magic
free hooks, but IIRC the code that used them is also inside the
comment....
There was a long-standing bug in "large string allocation", where the
cons counter didn't get bumped properly for large strings. It was
possible to do something like `(while t (make-string 1000000 ?A))' and
crash XEmacs in short order. Martin Buchholz submitted a patch for
that, which I applied based on my limited understanding that it was
correct and the strength of Martin's reputation for finickiness.
(if so, damn, I'll have to actually do some *work* to diagnose
this
rather than leaping directly to the solution by magic. :) )
Looking at the large strings first is insider information, not magic,
but it might save you some work.
However, the bug was not that they never get collected---if something
else triggered a GC they got collected. I wouldn't bet on it being
related, but you have to start somewhere....
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta