This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
How to solve a garbage collection problem ?
- To: guile at sourceware dot cygnus dot com
- Subject: How to solve a garbage collection problem ?
- From: Thierry Bezecourt <thbz at worldnet dot fr>
- Date: 09 Apr 2000 15:26:59 +0200
One of my programs produces the following error:
ERROR: In procedure apply in expression (expat:parse parser13 line ...):
ERROR: Wrong type argument in position 1: #<freed cell 0x402147b8; GC
missed a reference>
I cannot give the code which produce this problem, because it's large,
and it uses a C extension library I wrote. I couldn't reproduce it in
a small program, because removing random lines also removes the error.
So I am wondering into which direction I should go to solve this kind
of problem :
- Should I look into my Scheme code ? In other words, can Scheme code
produce GC errors (assuming there is no bug in the garbage
collector) ?
- Should I look into the C extension this code is using ? In other
words, can C extensions produce GC errors ?
I suppose the answers are "no" for the first question and "yes" to the
second, so I'll have to look into my C code. In that case, what are
the available techniques, if any, to track GC problems ? Or do I have
to read my source code again, line by line, and check that I always
mark and free cells as indicated in data-rep.info ?
Thanks.