You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Mon-Chaio Lo <ml...@cardomain.com> on 2006/08/09 19:35:41 UTC

[users@httpd] Odd Apache-mod_perl behavior

Hello:

I apologize in advance if this description is a bit vague, but this is the information as we are aware of it at this moment.  Please give us additional tips on where we might be able to gather for information, or better yet, a solution.

Apache version: 1.3.31
mod_perl version: 1.22 (compiled in statically, not as a DSO)

We're running a standard pre-fork server, with a location line that looks approximately like:

<Location /foo>
    SetHandler perl-script
    PerlHandler +Handler::Bar Handler::Foo
</Location>

The odd behavior we're seeing is that the Apache parent process forks off a child that serves a number of requests.  At some point in time, a POST request (not necessarily the first POST request) will be sent to /foo.  The Handler::Bar handler looks approximately like:

use strict;
use warnings;

use Apache::Constants qw( :common );
use Apache::Cookie;
use Apache::Request;

use CGI qw( :standard );
use CGI::Cookie;

sub handler {
    my $request = shift;

    return OK if !$request->is_initial_req();

    my $cookies;
    my $ref;

    # REGISTRY is just an environment variable we use for scripts running under Apache::Registry
    if (!$ENV{REGISTRY}) {
        $request = Apache::Request->instance($request);
        $cookies = Apache::Cookie->new($request)->fetch;
        $ref     = lc($request->param('ref'));
    }
    else {
        $cookies = Apache::Cookie->fetch();
        $ref     = lc(param('ref'));
    }
}

What we're finding is that the request will fail at the $request->param() line.  It doesn't seem to die, given that we don't get a 500 back, but if we put Log4perl warnings before and after that line we see that it doesn't progress past that line.  After that, any further requests handled by that Apache child fails with a 500.  The error we get in the logs looks something like:

Use of inherited AUTOLOAD for non-method Random::Handler::handler() is deprecated at Handler/Foo.pm line 68.

At this point, we are stumped.  Anyone have any ideas on what might be going on, or maybe point us in another direction in debugging this issue?

M.


--
------------------------------------------
Mon-Chaio Lo
Senior Software Engineer
 
CarDomain Network, Inc.
Direct: (206) 926-2145
http://www.cardomain.com/id/fuzzz813
------------------------------------------


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Odd Apache-mod_perl behavior

Posted by Joshua Slive <jo...@slive.ca>.
On 8/9/06, Mon-Chaio Lo <ml...@cardomain.com> wrote:
>
> At this point, we are stumped. Anyone have any ideas on what might be going on, or maybe point us in another direction in debugging this issue?

The directory I would recommend is
http://perl.apache.org/maillist/modperl.html

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org