httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mon-Chaio Lo" <...@cardomain.com>
Subject [users@httpd] Odd Apache-mod_perl behavior
Date Wed, 09 Aug 2006 17:35:41 GMT
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


Mime
View raw message