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.

Jeff

Reply via email to