The codestring-pmc branch now has a CodeString.pmc that is little more than a String with some extra methods; need_ext, PMC_data, custom mark have all been removed... But we're left with the same GC-based segfault we had. I'm at a loss on how to debug this sort of thing. If we don't have a programmatic way to check that we're doing our GC properly, we at least need a plan for a human to go through the code and make sure we're following all the proper steps. (If you do *foo*, be sure to *bar* because method *baz* could GC your PMC). I hear that chromatic had a patch that would verbosely report on all object creation/destruction. This might be a good thing to have in core so we could enable it when trying to track down these bugs; perhaps a --gc-debug on steroids. ... Speaking of --gc-debug, it has no effect on the bug in this branch. Does this mean it's deficient? Basically, I'm stuck on this until the GC bug can be resolved (even if it's a GC bug my code is merely exposing rather than causing); partcl also has a GC bug that is blocking development there. (I can turn off GC, but that makes running the test suite extremely slow.) I think we need to improve our toolset (or at least knowledge base) for properly implementing GC, and for being able to figure out when we've done it wrong.
Regards.

Reply via email to