Marcus Crestani <crestani(a)informatik.uni-tuebingen.de> writes:
>>>>>"DP" == Daniel Pittman
<daniel(a)rimspace.net> writes:
[...]
DP> NEWGC does run very well for me, and the asynchronous
finalization
DP> code means that my previous fix to the image GC code is no longer
DP> need, which is lovely.
Do you mean this?
Subject: [PATCH] [RECOMMEND 21.4] Stopping timeouts during GC causes lossage
on all GUI platforms (X11, GTK and Win32)
Yes. The timeout is related to animated image glyphs, and the solution
was to introduce an asynchronous finalization for the timeout object.
With your code doing that generically the problem (corruption or an
assert due to a synchronous Lisp object free during a GC run) has gone
away, so my specific fix is no longer necessary.
DP> I have run into one issue, thus far, which is that a long
running
DP> XEmacs worked slowly up to 608MB of allocated memory before it
DP> stopped being able to fork and I restarted it.[1]
DP> On that topic, what is the best way to track down a memory leak
DP> with the NEWGC code? Is there anything specific that I can look
DP> at to help work out what the leak is and why it is happening?
The only thing is to keep an eye on show-object-memory-usage-stats and
show-mc-alloc-memory-usage and see which objects escape. It might
also be a fragmentation problem of the allocator.
No problem. I will look to getting a core, memory stats, etc for you.
It looks like reproducing the issue isn't to be a problem; XEmacs has
gained around 96MB VSS over the last day or so, so I should hit the
bloaty problem later.
Valgrind might be useful, but there are issues with NEWGC's
write
barrier: The virtual dirty bit write barrier provokes SEGFAULTs on
purpose to keep track of object modifications. Valgrind reports all
of these SEGFAULTs, which makes it is practically useless.
I might take a look at that, especially if someone else provides the
solution to suppressing the reports; I have never worked with valgrind
before.
I can't promise too much work on debugging this, though, as my time is
currently very over-committed to work. :?
Daniel
--
Digital Infrastructure Solutions -- making IT simple, stable and secure
Phone: 0401 155 707 email: contact(a)digital-infrastructure.com.au