> I've been writing a Lisp implementation on top of Parrot for the last
> several months (and I'm just about at the point where I'm ready to unleash
> it upon the world).
> ... I seem to have run up against some issues which
> *appear* to be related to the garbage collector collecting objects that
> aren't ready to be collected yet.
Yep. Good catch. The Hash creation sequence was slightly wrong, i.e.
PMC_struct_val(SELF), which gets the Hash* structure after creation,
wasn't cleared and did contain some garbage. Marking this bogus pointer
did cause the segfault.
Thanks for the test program - fixed.