On Thu, 2005-03-10 at 16:36 -0500, [EMAIL PROTECTED] wrote: > Seems to have went all wrong between 20:35 and 21:35 on 9th(gmt). > With only the loosest understanding of stuff I think ( a little > knowledge can be a dangerous thing) it may be related to > > pmc.c > > revision 1.95 > date: 2005/03/09 14:52:01; author: leo; state: Exp; lines: +2 -2 > Objects 1 - class, mro vtable slots > > * renamed vtable->data to class as this is it's usage anyway > * new vtable->mro slot - empty for now
That's my guess too. It segfaults for me during make: If the next line prints 0.1.2-devel, it did help. ./parrot parrot-config.imc VERSION DEVEL make: *** [runtime/parrot/include/config.fpmc] Segmentation fault make: *** Deleting file `runtime/parrot/include/config.fpmc' The parrot trace is: $ parrot -t parrot-config.imc VERSION DEVEL 0 set P15, P5 - P15=PMCNULL, P5=SArray=PMC(0x1054bf78) 3 set I14, P15 - I14=0, P15=SArray=PMC(0x1054bf78) 6 lt I14, 2, 97 - I14=3, , 10 set P14, PMC_C[12] - P14=PMCNULL, 13 set I0, 1 - I0=0, 16 set I1, 0 - I1=0, 19 set I2, 0 - I2=0, 22 set I3, 0 - I3=1, 25 set I4, 0 - I4=0, 28 set P0, P14 - P0=PMCNULL, P14=Sub=PMC(0x1054bf90 Adr:0x105ed9cc) 31 invokecc # Calling sub '_config' # in file 'parrot-config.imc' near line 32 113 open P15, "runtime/parrot/inclu", "<" - P15=PMCNULL, , 117 defined I30, P15 - I30=0, P15=ParrotIO=PMC(0x1054bf30) 120 if I30, 17 - I30=1, 137 read S30, P15, 60000 - , P15=ParrotIO=PMC(0x1054bf30), 141 close P15 - P15=ParrotIO=PMC(0x1054bf30) 143 thaw P30, S30 - P30=PMCNULL, S30="(null)" The backtrace is: #0 0x100aff70 in pobject_lives (interpreter=0x1038e678, obj=0x35) at src/dod.c:196 #1 0x1026920c in Parrot_SArray_mark (interpreter=0x1038e678, pmc=0x1054d748) at classes/sarray.c:276 #2 0x100b05c4 in Parrot_dod_trace_children (interpreter=0x1038e678, how_many=4294967295) at src/dod.c:460 #3 0x100b037c in trace_active_PMCs (interpreter=0x1038e678, trace_stack=1) at src/dod.c:378 #4 0x100b1188 in Parrot_dod_ms_run (interpreter=0x1038e678, flags=1) at src/dod.c:1200 #5 0x100b12a8 in Parrot_do_dod_run (interpreter=0x1038e678, flags=1) at src/dod.c:1239 #6 0x10142c0c in mem_allocate (interpreter=0x1038e678, req_size=0x7ffff174, pool=0x103aec80, align_1=15) at src/resources.c:142 #7 0x10143ab0 in Parrot_allocate_string (interpreter=0x1038e678, str=0x105e4e98, size=1061) at src/resources.c:613 #8 0x10062e04 in string_make_direct (interpreter=0x1038e678, buffer=0x105d2198, len=1061, encoding=0x103aee88, charset=0x103aef28, flags=131072) at src/string.c:668 ... I set a breakpoint near #1: Breakpoint 1, Parrot_SArray_mark (interpreter=0x1038e678, pmc=0x1054d748) at classes/sarray.c:275 275 if (UVal_pmc(e->val)) (gdb) p e $1 = (HashEntry *) 0x10555298 (gdb) p e->val $2 = {_b = {_bufstart = 0x0, _buflen = 53}, _ptrs = {_struct_val = 0x0, _pmc_val = 0x35}, _i = {_int_val = 0, _int_val2 = 53}, _num_val = 2.6185479229586067e-322, _string_val = 0x0} (gdb) x interpreter 0x1038e678: 0x30893ae8 (gdb) p interpreter $3 = (Interp *) 0x1038e678 (gdb) p e->val $4 = {_b = {_bufstart = 0x0, _buflen = 53}, _ptrs = {_struct_val = 0x0, _pmc_val = 0x35}, _i = {_int_val = 0, _int_val2 = 53}, _num_val = 2.6185479229586067e-322, _string_val = 0x0} (gdb) p 0x35 $5 = 53 (gdb) p (PObj*) 0x35 $6 = (Buffer *) 0x35 -- c