Thanks.  That did it!

Regards,

Jeff

>
>
> On Thu, Feb 07, 2002 at 10:26:07AM -0500, Jeff Urlwin wrote:
> > Tim,
> >
> > I, accidentally had DBI_TRACE set to 1 in the environment and I get an
> > invalid pointer problem in DBI dispatch during t/preparse.t.
> I've traced it
> > to the following lines, but am unsure of how to handle
> it...could it be that
> > the stack is getting corrupted in preparse error handling?  I didn't see
> > anything obvious to me...
> >
> >     for(i=0; i < outitems; ++i) {
> >         SV *s = ST(i);
> >             --> SvROK(s) crashes here, during test #6 in t/preparse.t
> >             S is not a "good" pointer and has the value 0x00000008
> >         if ( SvROK(s) && SvTYPE(SvRV(s))==SVt_PVAV) {
> >             AV *av = (AV*)SvRV(s);
> >             int avi;
> >             PerlIO_printf(logfp,"\n\there2 %d\n", i);
> >             PerlIO_printf(logfp, " [");
> >             for(avi=0; avi <= AvFILL(av); ++avi)
> >                 PerlIO_printf(logfp, " %s",
> neatsvpv(AvARRAY(av)[avi],0));
> >             PerlIO_printf(logfp, " ]");
> >         }
> >
> > Sorry I couldn't trace it any further.
>
> It's preparse returning 0 instead of &sv_undef on error.
> I've attached a patch.
>
> Tim.
>

Reply via email to