--- Dan Sugalski <[EMAIL PROTECTED]> wrote: > I can trigger the problem locally, though not with > the nci tests. > (And, indeed, it may not be the NCI tests ultimately > at fault) The > core dump shows things dying in the dod run. GDB's > backtrace is: > > Dan
Ok, I tracked it down to a CVS change of include/parrot/dynext.h and src/dynext.c made in the early morning hours on Monday (local time). Here is the result of the diff: $ diff include/parrot/dynext.h ../bad/dynext.h 3c3 < * $Id: dynext.h,v 1.5 2004/04/22 08:55:05 leo Exp $ --- > * $Id: dynext.h,v 1.6 2004/08/23 09:09:59 leo Exp $ 14a15,20 > /* dynamic lib/oplib/PMC init */ > PMC * > Parrot_init_lib(Interp *interpreter, > PMC *(*load_func)(Interp *), > void (*init_func)(Interp *, PMC *)); > and $ diff src/dynext.c ../bad/dynext.c 3c3 < $Id: dynext.c,v 1.26 2004/05/26 13:04:07 jrieks Exp $ --- > $Id: dynext.c,v 1.27 2004/08/23 09:10:02 leo Exp $ 228a229,263 > Parrot_init_lib(Interp *interpreter, > PMC *(*load_func)(Interp *), > void (*init_func)(Interp *, PMC *)) > { > STRING *type; > PMC *lib_pmc; > > if (!load_func) { > /* seems to be a native/NCI lib */ > /* > * this PMC should better be constant, but then all the contents > * and the metadata have to be constant too > * s. also build_tools/ops2c.pl and lib/Parrot/Pmc2c.pm > */ > lib_pmc = pmc_new(interpreter, enum_class_ParrotLibrary); > type = const_string(interpreter, "NCI"); > } > else { > lib_pmc = (*load_func)(interpreter); > /* we could set a private flag in the PMC header too > * but currently only ops files have struct_val set > */ > type = const_string(interpreter, > PMC_struct_val(lib_pmc) ? "Ops" : "PMC"); > } > /* > * call init, if it exists > */ > if (init_func) > (init_func)(interpreter, lib_pmc); > > return lib_pmc; > } > > PMC * 266a302 > /* get load_func */ 272,292c308 < if (!load_func) { < /* seems to be a native/NCI lib */ < /* < * this PMC should better be constant, but then all the contents < * and the metadata have to be constant too < * s. also build_tools/ops2c.pl and lib/Parrot/Pmc2c.pm < */ < lib_pmc = pmc_new(interpreter, enum_class_ParrotLibrary); < type = const_string(interpreter, "NCI"); < } < else { < lib_pmc = (*load_func)(interpreter); < /* we could set a private flag in the PMC header too < * but currently only ops files have struct_val set < */ < type = const_string(interpreter, < PMC_struct_val(lib_pmc) ? "Ops" : "PMC"); < } < /* < * call init, if it exists < */ --- > /* get init_func */ 298,299c314,316 < if (init_func) < (init_func)(interpreter, lib_pmc); --- > > lib_pmc = Parrot_init_lib(interpreter, load_func, init_func); > If there is anything else I can do to help, please let me know. Joshua Gatcomb a.k.a. Limbic~Region __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage! http://promotions.yahoo.com/new_mail