perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sharon Pattison <>
Subject Strange process behavior
Date Mon, 20 Sep 2010 15:52:50 GMT

We are experiencing a strange problem on our web servers for our site, and
are not sure if the problem is mod_perl related, but thought we would turn
here for help in case someone else has experienced this issue.
Unfortunately, we are not sure exactly when the problem started, so we can’t
point to any particular change that might have prompted it.

We are using Apache 1.3.42 with mod_perl 1.31 and Perl 5.8.3 on Solaris 9.
What is happening is that a particular Apache child process starts having an
issue where the wrong content is being returned for a request.  The content
returned is always from the correct script, but it has the wrong data.  For
example, if we request a product detail page for a particular product, we
might get a different product, or we might get a message that the product
does not exist, when it does.

After adding a lot of logging to our logs, we discovered that the Apache
request object will have the correct information, but the CGI object never
seems to get the global values reset, so is always has the query_string of
the request where things started to go wrong.  The process will continue to
get and respond to requests, but the CGI object’s query_string never
changes, so the user either gets no information or the wrong information.

For example, if we had a request for, and the
process that served this request starts to have the problem, then we see
that for every request that process gets, logging $q->query_string gives us
‘sku=12345’.  It seems like the initialize_globals() CGI method is never
being executed in the process cleanup.

There doesn’t seem to be any particular request that triggers this
behavior.  We have checked the server load when we discover the issue is
occurring and everything seems normal.  The problem process does not seem to
be using any more memory or CPU than any of the other processes, and the
number of processes is fine.

Has anyone experienced anything like this?  Any ideas how we can track down
the problem?

Thank you in advance for any help you can give us.


View raw message