logo       

Re: Seeing memory corruption, GC moves my objects around: msg#00332

lisp.cmucl.devel

Subject: Re: Seeing memory corruption, GC moves my objects around

Martin Cracauer <cracauer@xxxxxxxx> writes:

> Generally, any suggestions what I can do to figure out what is going
> on here?

Assuming you've eliminated hardware error as a possible cause
(memtest86 is good for finding that, everyone says)...

gdb is your friend, I suspect. If it's always the same location being
corrupted, run a garbage collection with gdb attached and a watchpoint
at that location (one of the nicest things about the x86 architecture
is that it has hardware watchpoints) and then at least you have a call
stack and can look at the data. Is it in fromspace/tospace/something
else? Is the page the object lives on still marked as allocated, or
has it been marked free? Can you use search_dynamic_space (or
manually grope around in memory) to find the object that the slot is
part of, and is it the same object as you think it is?

The good news is that if you've got a reproducable test case, that's
80% of the work done - now you only have the other 80% left ...


-dan

--

http://www.cliki.net/ - Link farm for free CL-on-Unix resources

Attachment: pgpP0inXSTb3E.pgp
Description: PGP signature

<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise