Not sure I want to go into hacking DBD::Pg's internals at this point...
Just remove the ping check from your _connect code and see what happens.
Interesting. Exactly the same result:
========================================================================
4404: Checking for DB handle. 4404: No handle, connecting.
4404: Checking for DB handle.
4405: Checking for DB handle. 4405: No handle, connecting.
4405: Checking for DB handle.
4405: Checking for DB handle.
4405: Checking for DB handle.
4405: Checking for DB handle.
4404: Checking for DB handle.
4404: Checking for DB handle.
[Wed Aug 13 22:26:32 2003] [error] [client 127.0.0.1] Unable to turn AutoCommit off: DBD driver has not implemented the AutoCommit attribute at /usr/local/bricolage/lib/Bric/Util/DBI.pm line 528, <GEN5> line 8.
[/usr/local/bricolage/lib/Bric/Util/DBI.pm:529] [/usr/local/bricolage/lib/Bric/App/Handler.pm:247]
In addition, the database rollback failed: Unable to rollback transactions: DBD::Pg::db rollback failed: rollback failed at /usr/local/bricolage/lib/Bric/Util/DBI.pm line 960, <GEN5> line 8.
[/usr/local/bricolage/lib/Bric/Util/DBI.pm:961] [/usr/local/bricolage/lib/Bric/App/Handler.pm:284] [/usr/local/bricolage/lib/Bric/App/Handler.pm:255]
[Wed Aug 13 22:26:32 2003] [error] Error during compilation of /usr/local/bricolage/comp/errors/500.mc:
Global symbol "$r" requires explicit package name at /usr/local/bricolage/comp/errors/500.mc line 118.
Global symbol "$r" requires explicit package name at /usr/local/bricolage/comp/errors/500.mc line 2.
Stack:
[Wed Aug 13 22:26:32 2003] [info] [client 127.0.0.1] (9)Bad file descriptor: client stopped connection before rflush completed
4404: Checking for DB handle.
4404: Checking for DB handle.
4404: Checking for DB handle.
[Wed Aug 13 22:26:32 2003] [error] Unable to rollback transactions: DBD::Pg::db rollback failed: rollback failed at /usr/local/bricolage/lib/Bric/Util/DBI.pm line 960.
[/usr/local/bricolage/lib/Bric/Util/DBI.pm:961] [/usr/local/bricolage/lib/Bric/App/CleanupHandler.pm:131]
========================================================================
On the next restart, however, the first request succeeded, but then the second did this:
4422: Checking for DB handle. 4422: No handle, connecting.
4422: Checking for DB handle.
4423: Checking for DB handle. 4423: No handle, connecting.
4423: Checking for DB handle.
4423: Checking for DB handle.
4423: Checking for DB handle.
4423: Checking for DB handle.
4425: Checking for DB handle. 4425: No handle, connecting.
4425: Checking for DB handle.
4425: Checking for DB handle.
4425: Checking for DB handle.
4422: Checking for DB handle.
4422: Checking for DB handle.
[Wed Aug 13 22:28:18 2003] [error] Unable to rollback transactions: DBD::Pg::db rollback failed: rollback failed at /usr/local/bricolage/lib/Bric/Util/DBI.pm line 960.
[/usr/local/bricolage/lib/Bric/Util/DBI.pm:961] [/usr/local/bricolage/lib/Bric/App/CleanupHandler.pm:131]
========================================================================
I have no idea why it was trying to rollback there. It was hung there, and when I cancelled the request from my browser, it didn't log anything more.
David
-- David Wheeler AIM: dwTheory [EMAIL PROTECTED] ICQ: 15726394 http://www.kineticode.com/ Yahoo!: dew7e Jabber: [EMAIL PROTECTED] Kineticode. Setting knowledge in motion.[sm]