Philip Mak wrote:
> 
> I recently noticed some strange error messages in my error_log. This is
> from animelyrics.com, which uses Apache::ASP and MySQL.
> 
> Issuing rollback() for database handle being DESTROY'd without explicit
> disconnect() at (eval 9) line 22.
> 

This implies that you have a database handle that is destroyed 
in the scope of running your program.  Then it would seem that you
are not using Apache::DBI?  I don't think I get this error when 
I start using Apache::DBI.  Remember to load Apache::DBI before DBI.

]# perl -MDBI -e 'DBI->connect(qw(dbi:mysql:host=...), qw(root))';
Issuing rollback() for database handle being DESTROY'd without explicit disconnect().

Apache::DBI keeps a connection cached so that it won't close until
your apache child exits.  It probably then issues a disconnect itself.

> 
> (1) I never use rollback() anywhere in my code... so I'm wondering if
> something else could cause a rollback.
> 

Note with above, its probably just DBI that does it.

> (2) The "(eval 9) line 22" message doesn't tell me what file the error is
> in. The modperl guide suggested adding the following lines to my perl
> startup file so that the messages would show the correct file:
> 
> use Carp ();
> local $SIG{__WARN__} = \&Carp::cluck;
> 
> ...but they don't seem to have any effect after I added them and did an
> "apachectl restart".
> 

Does:

  use Carp ();
  $SIG{__WARN__} = \&Carp::cluck;

that work better after a stop/start? 

-- Josh

Reply via email to