Hi,

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



Reply via email to