I have a standard mod_perl setup, application is a server and mysql is another.

I use AuthCookieDBI http://cpansearch.perl.org/src/MATISSE/Apache2-AuthCookieDBI-2.05/lib/Apache2/AuthCookieDBI.pm for authentication against the DB.

If the application has not been used for a while, a few hours, then when a user tries to connect Apache segfaults. Here is debug output:

[Wed Nov 10 22:37:04 2010] [error] auth_type DISKO::AUTH
[Wed Nov 10 22:37:04 2010] [error] r=Apache2::RequestRec=SCALAR(0x81f6f290) authtype=DISKO::AUTH
[Wed Nov 10 22:37:04 2010] [error] auth_name berlin3
[Wed Nov 10 22:37:04 2010] [error] ses_key_cookie <cookiestuff>
[Wed Nov 10 22:37:04 2010] [error] uri /clientID/index.pl
[Wed Nov 10 22:37:04 2010] [error] user authenticated as tosh
[Wed Nov 10 22:37:04 2010] [error] authorize() for /clientID/index.pl
[Wed Nov 10 22:37:04 2010] [error] authorize user=tosh type=DISKO::AUTH
[Wed Nov 10 22:37:04 2010] [error] requirement := valid-user,
[Wed Nov 10 22:37:04 2010] [notice] child pid 17510 exit signal Segmentation fault (11)

DISKO::AUTH is where I override:
*Apache2::AuthCookieDBI::_dbi_connect = sub {
the connect() sub so I can do some on-the-fly modification of DSN names.

DBI->connect_cached is used if that is of importance.

My understanding of DBI is that things like ping() and reconnecting are all taken care of automagically, so I'm a bit baffled by this, especially as I have never had this happen on somewhat similar application setups.

Is there something wrong with Apache2::AuthCookieDBI::_dbi_connect ?

Or should I just cron a task to ping the application every hour?

Thanks!

Tosh

--
McIntosh Cooey - Twelve Hundred Group LLC - http://www.1200group.com/

Reply via email to