DBD::mysql::st execute warning
[prev]
[thread]
[next]
[Date index for 2005/01/02]
I'm trying to fix a problem that happens only after my application has
been running for many hours, so it's hard to reproduce. Here's what
happens.
The application runs just fine for a long period of time, including
calls into Class::DBI. Many hours later, a call to Class::DBI fails and
I see this output...
DBD::mysql::st execute warning: at
/home/dave/devel/slimservice/CPAN/DBIx/ContextualFetch.pm line 51.
DBD::mysql::st fetchrow_arrayref failed: fetch() without execute() at
/home/dave/devel/slimservice/CPAN/DBIx/ContextualFetch.pm line 69.
Slim::DataStores::DBI::Pref can't SELECT mac, name, value
FROM prefs
WHERE name = ? AND mac = ?
: DBD::mysql::st fetchrow_arrayref failed: fetch() without execute() at
/home/dave/devel/slimservice/CPAN/DBIx/ContextualFetch.pm line 69.
at /home/dave/devel/slimservice/Slim/Utils/Prefs.pm line 623
My huntch is that during those hours of running the handle to the
database has gone bad. Something has to make it good again, and that
something is not happening. I'm new to DBI... hopefully someone out
there can tell me just what to do.
I've added some code to ContextualFetch.pm, hoping to learn more about
this "execute warning" mentioned in the output. The line which seems to
generate that message is:
my $ret = $sth->SUPER::execute(@_);
And $ret is undef after the call generates the warning.
I print $sth->errstr() but it appears to be empty.
And I print a call stack which looks like this...
frame 0: DBIx::ContextualFetch::st::_untaint_execute
(/home/dave/devel/slimservice/CPAN/DBIx/ContextualFetch.pm line 31)
frame 1: DBIx::ContextualFetch::st::execute
(/home/dave/devel/slimservice/CPAN/Class/DBI.pm line 1069)
frame 2: (eval) (/home/dave/devel/slimservice/CPAN/Class/DBI.pm line
1068)
frame 3: Class::DBI::sth_to_objects
(/home/dave/devel/slimservice/CPAN/Class/DBI.pm line 1041)
frame 4: Class::DBI::_do_search
(/home/dave/devel/slimservice/CPAN/Class/DBI.pm line 1022)
frame 5: Class::DBI::search
(/home/dave/devel/slimservice/CPAN/Class/DBI.pm line 601)
frame 6: Class::DBI::retrieve
(/home/dave/devel/slimservice/Slim/Utils/Prefs.pm line 623)
[snip]
I'm running my program again, with DBI_TRACE set to "15|SQL|mysql", but
it could be a day or so before the problem occurs again.
Any help or suggestions are appreciated. Thanks,
-Dave
|
DBD::mysql::st execute warning
cdbi 19:47 on 02 Jan 2005
|