[ic] PreFork causes errors

Bill Carr interchange-users@interchange.redhat.com
Thu Mar 7 06:40:01 2002


On Wed, 2002-03-06 at 19:36, Kevin Walsh wrote:
> > I am not receiving Internal Server errors any longer, regardless of the
> > suggestion above. About 9 out of 10 times I get a partial page. The
> > other time I get what I expect. 
> > 
> > Here are some more details. 
> > 
> > I have a UserTag like this: 
> > UserTag layout HasEndTag 1 
> > UserTag layout Routine <<EOR 
> > sub { 
> >         my $input = shift; 
> >         return <<"EOL"; 
> > $Variable->{TOP} 
> > $Variable->{HEADER} 
> > $input 
> > $Variable->{FOOTER} 
> > $Variable->{BOT} 
> > EOL 
> > } 
> > EOR 
> > 
> > A typical page looks like this: 
> > index.html: 
> > [layout] 
> > [query ....][/query] 
> > And other HTML and IC stuff 
> > [/layout] 
> > 
> > When I request index.html 9 out of 10 times I get TOP, HEADER, FOOTER
> > and BOT but not the body of the page. 
> > 
> > This behavior goes away when I don't set PreFork on the production
> > machines. I never have this problem on my Devo machine. 
> > 
> I don't know the reason for the problem you are reporting, but
> the tag you have posted seems excessively wasteful and unnecessary
> to me.  You are passing a lot of information around by using your
> [layout] tag.
> 
> As an alternative approach to the above, perhaps you could declare
> two more variables, as follows:
> 
>     LAYOUT_START just includes __TOP__ and __HEADER__
>     LAYOUT_END just includes __FOOTER__ and __BOT__
> 
> ...then re-arrange your pages as follows:
> 
>     __LAYOUT_START__
>     [query ...][/query]
>     And other HTML and IC stuff
>     __LAYOUT_END__
> 
> If nothing else, your pages will be quicker to parse.  I can't
> repeat your problem here, and you said it only happened on one
> of your machines.  Is there any difference in the machine and
> Interchange setups that should be taken into consideration?
I will try your suggestion with the two variables instead of the layout
tag.

Here is the setup: 1 devo machine and 2 production machines. All three
hosts are alomst identical. Debian 3.0, Linux-2.4.18, Apache/1.3.22
(Unix) mod_perl/1.26 mod_ssl/2.8.5 OpenSSL/0.9.6, Perl 5.6.1, IC 4.8.3,
SessionType NFS. The devo machine has RAID5. The production machines
have SCSI. The production machines are behind a LVS-NAT. I never see the
problem on the devo machine. I see the problem on each production
machine if they are both running or if only one is running.

-- 
Bill Carr
Worldwide Impact
bill@worldwideimpact.com
413-253-6700