--- 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 

Reply via email to