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/