Not
sure static linking vs DSO is the issue ... but I can offer the
following advice from our experiences with mod_perl 1.29 (statically
linked), apache 1.3x, Mason 1.23, RedHat 7.2
- Try to run your tests using tools like lynx and wget, to get a full header dump with your content. If you are testing with normal browsers (IE, Mozilla, etc.) then you can get stale cached content hanging around on the client side, even if you requested it be cleared.
- You probably already know this, but you also want to be careful about any variables that may be maintaining stateful information on the server side, depending on where you are using the variables. With apache/mod_perl, child processes, these variables can reflect and old HTTP request state, if not intentionally cleared.
(http://perl.apache.org/docs/general/perl_reference/perl_reference.html#my___Scoped_Variable_in_Nested_Subroutines)
- Also, we clear our mason object cache each time we restart our application, just to make sure that there are no stale compiled objects available. One thing to note here though is if you utilize your OS's buffer and cached memory for quicker mason object retrieval (we do), you may have to reboot once in awhile to clear that memory.
- One last point, we have had wierd behavior in the past (very rare) from zombie apache processes which somehow still seem to be bound to the port, even though a newer apache instance is running, and bound to the same port. This caused old content to come back intermittently, and when we found and killed the zombie(s), the problem went away, so we assume that is what it was.
Not sure if this helps,
- Jeff
----- Original Message ----
From: Kris Yates <[EMAIL PROTECTED]>
To: Mason List <[email protected]>
Sent: Monday, February 13, 2006 08:10:41
Subject: [Mason] would mod_perl as a DSO cause this problem?
- Try to run your tests using tools like lynx and wget, to get a full header dump with your content. If you are testing with normal browsers (IE, Mozilla, etc.) then you can get stale cached content hanging around on the client side, even if you requested it be cleared.
- You probably already know this, but you also want to be careful about any variables that may be maintaining stateful information on the server side, depending on where you are using the variables. With apache/mod_perl, child processes, these variables can reflect and old HTTP request state, if not intentionally cleared.
(http://perl.apache.org/docs/general/perl_reference/perl_reference.html#my___Scoped_Variable_in_Nested_Subroutines)
- Also, we clear our mason object cache each time we restart our application, just to make sure that there are no stale compiled objects available. One thing to note here though is if you utilize your OS's buffer and cached memory for quicker mason object retrieval (we do), you may have to reboot once in awhile to clear that memory.
- One last point, we have had wierd behavior in the past (very rare) from zombie apache processes which somehow still seem to be bound to the port, even though a newer apache instance is running, and bound to the same port. This caused old content to come back intermittently, and when we found and killed the zombie(s), the problem went away, so we assume that is what it was.
Not sure if this helps,
- Jeff
----- Original Message ----
From: Kris Yates <[EMAIL PROTECTED]>
To: Mason List <[email protected]>
Sent: Monday, February 13, 2006 08:10:41
Subject: [Mason] would mod_perl as a DSO cause this problem?
I
have a simple site with a seemingly standard
autohandler/dhandler setup. I have written the login/logout
session id portion of this site, noticing some odd behavior and
wondering what is causing the problem.
After
I click logout [to log out of site], It deletes cookie from browser by
changing the expire time to '-1m' then basically the next screen is the
index.html with "Logout complete" at the top. If I keep accessing
index.html over and over, sometimes it shows me the normal index screen
(not logged in).. and then sometimes it will show me the logged in home
page. I verified the session id doesnt exist in the cookie.. so
I'm wondering if somehow something is getting cached on the
server? Would me having mod_perl as a DSO cause this type of
behavior?
I have been trying to figure
this out for over a month now.. can anyone help me out? I dont
want to abandon this project and definitely dont want to start
over/switch to PHP or the like. This is a noncommercial project;
a site I am building for myself to attempt to learn Mason and re-up my
PERL skills.
Any help would be greatly appreciated. I can give you access to the code or whatever needed in order to assist.
Thank you,
Kris


