So I am currently trying to find another segfault, valgrind is helping me but the only thing it really says is
==24093== Conditional jump or move depends on uninitialised value(s) ==24093== at 0x8273227: compact_pool (src/resources.c:301) ==24093== by 0x827300C: mem_allocate (src/resources.c:149) ==24093== by 0x82736C6: Parrot_reallocate (src/resources.c:500) ==24093== by 0x8182513: expand_hash (src/hash.c:509) ==24093== by 0x81826C5: new_bucket (src/hash.c:587) ==24093== by 0x8182B66: hash_put (src/hash.c:891) ==24093== by 0x81816B3: dod_register_pmc (src/pmc.c:1009) ==24093== by 0x81C0973: Parrot_register_pmc (src/extend.c:791) ==24093== by 0x80DA233: S_new_xpvav (sv.c:1084) ==24093== by 0x80DB0AE: Perl_sv_upgrade (sv.c:1568) ==24093==
and a couple of statements later on this, in something that shouldn't be able to segfault
==24093== Invalid write of size 4 ==24093== at 0x80DB162: Perl_sv_upgrade (sv.c:1577) ==24093== by 0x80C8E0D: Perl_newAV (av.c:386) ==24093== by 0x809976E: Perl_pad_push (pad.c:1525) ==24093== by 0x80D76D8: Perl_pp_entersub (pp_hot.c:2640) ==24093== by 0x80AF5C2: Perl_runops_debug (dump.c:1439) ==24093== by 0x8064E15: S_run_body (perl.c:1713) ==24093== by 0x806481A: perl_run (perl.c:1632) ==24093== by 0x804C720: main (miniperlmain.c:86) ==24093== Address 0x18 is not stack'd, malloc'd or free'd
So, it is increasing the registered hash, doing something weird, and then promptly corrupting memory, or am I just guessing wrong here?
Cheers Arthur