Sorry - here is the full trace.... # PREPARE: insert into dbd_ix_udts values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ok 8 signal ABRT (Abort) in _libc_kill at 0xff21fba0 0xff21fba0: _libc_kill+0x0008: bgeu _libc_kill+0x30 (/workshop/6.2/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where =>[1] _libc_kill(0x0, 0x6, 0x34f9f8, 0xff24284c, 0x20df4, 0x2ad70), at 0xff21fba0 [2] Perl_my_unexec(0x0, 0x34f9f0, 0xff23c008, 0x50, 0x2234c, 0x144488), at 0x2ad70 [3] Perl_pp_goto(0x0, 0x127400, 0x127400, 0x15cfc8, 0x164b20, 0x2), at 0xba924 [4] Perl_pp_dump(0xb99a8, 0x164aa0, 0x0, 0x15cfc8, 0xf8, 0x31f5f8), at 0xb99ac [5] Perl_runops_standard(0x127800, 0x127400, 0x127c00, 0x15cfc8, 0x248, 0x93), at 0x84354 [6] S_call_body(0xffbee520, 0x0, 0x127400, 0x15cfc8, 0x2, 0xffbeee08), at 0x292bc [7] Perl_call_sv(0x137984, 0x164a9c, 0x127800, 0x127c00, 0x164a98, 0x12c8ec), at 0x28d24 [8] Perl_vwarn(0x137984, 0x164a9c, 0x0, 0x124400, 0x0, 0x0), at 0x7519c [9] Perl_vwarner(0x29, 0x108d38, 0xffbee6ac, 0xfef97388, 0x7000, 0xa34), at 0x75580 [10] Perl_warner(0x29, 0x108d38, 0x105b78, 0x10ab08, 0x0, 0x298), at 0x7531c [11] Perl_report_uninit(0xff24315c, 0xff24315c, 0x0, 0x42, 0x3700, 0x124400), at 0x8eb0c [12] Perl_sv_2pv_flags(0x31f544, 0xffbee8e0, 0x2, 0xff23c008, 0xffbee86c, 0x303a00), at 0x92b64 [13] Perl_sv_2pv(0x31f544, 0xffbee8e0, 0x0, 0x34f4ae, 0x34f4ac, 0x0), at 0x92118 [14] dbd_ix_st_bind_ph(0x1, 0x34d328, 0x2, 0x31f544, 0xff0a5b48, 0x127870), at 0xff08dcb8 [15] dbdxst_bind_params(0x2a1760, 0x34d328, 0xe, 0x10, 0xff0a5b3c, 0xff116a78), at 0xff084b38 [16] XS_DBD__Informix__st_execute(0x3014bc, 0x272268, 0x0, 0x2e9bf8, 0x400, 0x1272e0), at 0xff0870bc [17] XS_DBI_dispatch(0x2e9c30, 0xffbeecac, 0x272268, 0x2a1760, 0x28e004, 0x274e80), at 0xff11dadc [18] Perl_pp_entersub(0x125000, 0x80, 0x127800, 0x0, 0x2e9c30, 0x2e9bfc), at 0x8d104 [19] Perl_runops_standard(0x127800, 0x0, 0xffbeee0c, 0x12e6cc, 0x127800, 0x2a9c78), at 0x84354 [20] S_run_body(0x1, 0x0, 0x127464, 0x3b, 0x0, 0x127e1c), at 0x287c4 [21] perl_run(0x127f28, 0xfffffffc, 0x4, 0xffbeef44, 0x1, 0x2), at 0x283cc [22] main(0x4, 0xffbeef44, 0xffbeef58, 0x127278, 0x0, 0x0), at 0x24fa4 (/workshop/6.2/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx)
This was obtained with Sun's dbx, run using: dbx $(which perl) then run -I./blib/arch -I./blib/lib t/t91udts.t The PREPARE statement is test output (previous statement, I think - this one is an execute). This has the full stack up to main which the previous stack traceback was missing. On Wed, 15 Dec 2004 01:00:38 +0000, Tim Bunce <[EMAIL PROTECTED]> wrote: > 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. OK - let's take DBI 1.00 instead then :-) I'll try and isolate the problem better too. -- Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h> Guardian of DBD::Informix - v2003.04 - http://dbi.perl.org "I don't suffer from insanity - I enjoy every minute of it."