On Tue, Dec 14, 2004 at 02:13:17PM -0800, Jonathan Leffler wrote: > On Fri, 3 Dec 2004 20:54:00 +0000, Tim Bunce <[EMAIL PROTECTED]> wrote: > > On Fri, Dec 03, 2004 at 12:15:06PM -0800, Jonathan Leffler wrote: > > > > > > Use of uninitialized value in subroutine entry at t/t91udts.t line 97. > > > > > > $sth->execute(2, undef, undef, ..., undef) or stmt_fail; > > > > That part is fine. It's something 'deeper' that triggering the > > warning. Probably in the driver. Perl says "in subroutine entry" > > only because that's the last "op" that perl executed (before it > > entered the DBI C-code). > > > > Here's a trick to nail it: > > $SIG{__WARN__} = sub { dump() }; # core dump on warning > > OK, the core dump winds through a number of functions (recognizably > Perl or C library functions), but ends up going through: > > ...more...
I need to see more of the "...more..." - everything up to the point where you can see the warn being triggered. > Perl_magic_set() > Perl_newHVhv() > dbd_ix_st_bind_ph() -- DBD::Informix code. > dbdxst_bind_params() -- DBI code? > XS_DBD__Informix__st_execute() -- Interface C code for $sth->execute()? > XS_DBI_dispatch() -- DBI code > Perl_magic_nextpack() > Perl_fbm_instr() > ...more... That's an odd looking stack trace. magic_nextpack is involved in iterating through tied hashes, calling "FIRSTKEY" or "NEXTKEY". But there's no way Perl_magic_nextpack should trigger a direct DBI dispatch into execute(). Perhaps you've "helpfully" limited the detail here. If so, please don't. Give me the whole stack trace. (And using a perl configured with -DDEBUGGING and a DBI and DBD::Informix built with that perl will give more detail, like params to functions, in the stack trace.) > Has anything changed significantly in the binding of parameters since, > say, DBI 1.14? Short guidance appreciated - I'll be investigating > anyway, but help on where to look might make things easier. Er, DBI 1.14 is over 4 years old. It would be fair to say that much has changed. Feel free to binary-chop your way through the versions to isolate the first that displays the warning. Tim.