Hi,

        In order to make use of the ChildExitHandler introduced
in Apache::DBI 1.09, we upgraded Apache::DBI from 1.06 to 1.10. 
But we immediately encounter seg faults errors for every request. 
The problem is traced back to the line 160 of Apache::DBI 1.10:

            # We may not actually be in a request, but in <Perl> (or
            # equivalent such as startup.pl), in which case this would die.
            eval { $r = Apache2::RequestUtil->request };

        In Apache::DBI 1.06 $r is not used but $s is used. And no such 
seg faults occur. Any one know what is the rational for this change?
Why is $r preferable to $s? It seems that $s is much more reliable.

        Also, there is no testing on eval status by checking $@ right
after eval. As a module used by many, Apache::DBI should have checked 
such status. Once I introduce such a test, I see errors like

Global $r object is not available. Set:
        PerlOptions +GlobalRequest
in httpd.conf at /u01/perlgem_www/server/site_perl_debug/Apache/DBI.pm
line 160.

But adding

        PerlOptions +GlobalRequest

in httpd.conf does not stop the seg faults from happening.

Does anyone else counter similar issues and knows a work around?

This is for

Apache/2.2.13 (Unix) mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.8.8

Thanks for any info.

Regards

Richard 

Reply via email to