Well, currently, test 61 in t/pmc/pmc.t causes an abrupt stop of the test session with the segfault box popping up. I haven't yet taken a time to figure out what actually is the cause of trouble, but I've already detected the precise place where that all happens.
It happens here void free_unused_pobjects(struct Parrot_Interp *interpreter, struct Small_Object_Pool *pool) { struct Small_Object_Arena *cur_arena; ... /* if object is a PMC and needs destroying */ if (PObj_is_PMC_TEST(b)) { /* then destroy it here */ if (PObj_active_destroy_TEST(b)) VTABLE_destroy(interpreter, (PMC *)b); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ while testing the ParrotInterpreter PMC when DOD calls a destroy method, the buffer being passed contains an invalid reference and refering to it produces an access violation. Below is the call stack free_unused_pobjects(Parrot_Interp * 0x002f39f8, Small_Object_Pool * 0x002f4340) line 525 + 14 bytes Parrot_really_destroy(int 0, void * 0x002f39f8) line 964 + 22 bytes Parrot_exit(int 0) line 48 + 16 bytes main(int 1, char * * 0x002f2bb4) line 555 + 7 bytes PARROT! mainCRTStartup + 227 bytes KERNEL32! 77e9ca90() It would be a time-saver for me to fix the bug if you lay out some thoughts on this. So feel free to push the reply button. 0x4C56