On 6/13/07, Kevin Tew <[EMAIL PROTECTED]> wrote:
My patch only fails these tests.

this patch is better now that you added the case chromatic missed.

the location of the free_list segfault that perl6 experiences now
occurs when compiling the perl6 grammar, instead of when the test
suite was run. it looks similar (same line of code) but the backtrace
is a bit different (note, no *_key_* function.) also, the pointer is
not at 0xffffffff, it's at a more reasonable 0x000022cc. note this
means the bug is likely not due to an assignment of -1 somewhere it
shouldn't have been. this has been suspected for a day or so, but now
it's been confirmed.

i'll continue to hunt. backtrace attached inline below.
~jerry

        libparrot.dll!gc_ms_get_free_object(parrot_interp_t *
interp=0x00202dc8, Small_Object_Pool * pool=0x00203420)  Line 151 +
0x6 bytes       C
        libparrot.dll!new_pmc_header(parrot_interp_t * interp=0x00202dc8,
unsigned long flags=1024)  Line 216 + 0x10 bytes        C
        libparrot.dll!get_new_pmc_header(parrot_interp_t *
interp=0x00202dc8, long base_type=109, unsigned long flags=1024)  Line
218 + 0xd bytes C
        libparrot.dll!pmc_new_noinit(parrot_interp_t * interp=0x00202dc8,
long base_type=109)  Line 252 + 0xf bytes       C
        libparrot.dll!Parrot_new_p_i(long * cur_opcode=0x00c40310,
parrot_interp_t * interp=0x00202dc8)  Line 72 + 0x19 bytes      C
        libparrot.dll!runops_slow_core(parrot_interp_t * interp=0x00202dc8,
long * pc=0x00c40310)  Line 184 + 0x18 bytes    C
        libparrot.dll!runops_int(parrot_interp_t * interp=0x00202dc8,
unsigned int offset=3)  Line 779 + 0xb bytes    C
        libparrot.dll!runops(parrot_interp_t * interp=0x00202dc8, unsigned
int offs=3)  Line 88 + 0xd bytes        C
        libparrot.dll!runops_args(parrot_interp_t * interp=0x00202dc8, PMC *
sub=0x00bbc298, PMC * obj=0x0097b718, parrot_string_t *
meth=0x00000000, const char * sig=0x10291db4, char * ap=0x0017feac)
Line 202 + 0xd bytes    C
        libparrot.dll!Parrot_runops_fromc_args(parrot_interp_t *
interp=0x00202dc8, PMC * sub=0x00bbc298, const char * sig=0x10291db4,
...)  Line 304 + 0x1d bytes     C
        libparrot.dll!Parrot_runcode(parrot_interp_t * interp=0x00202dc8,
int argc=4, char * * argv=0x00202ce4)  Line 803 + 0x16 bytes    C
        libparrot.dll!imcc_run_pbc(parrot_interp_t * interp=0x00202dc8, int
obj_file=0, const char * output_file=0x00000000, int argc=4, char * *
argv=0x00202ce4)  Line 569 + 0x11 bytes C
        libparrot.dll!imcc_run(parrot_interp_t * interp=0x00202dc8, const
char * sourcefile=0x00202d1d, int argc=4, char * * argv=0x00202ce4)
Line 766 + 0x19 bytes   C
        parrot.exe!main(int argc=4, char * * argv=0x00202ce4)  Line 61 + 0x15 
bytes     C
        parrot.exe!__tmainCRTStartup()  Line 586 + 0x17 bytes   C
        kernel32.dll!756519f1()         
        [Frames below may be incorrect and/or missing, no symbols loaded for
kernel32.dll]
        ntdll.dll!773ed109()

Reply via email to