Gerald Richter wrote:
> 
> Hi,
> 
> > No, I don't have any ClearModuleList in httpd.conf...
> >
> 
> ok
> 
> > Let me know if there's anything else I can do to help track it down...
> >
> 
> Could you please try things without preloading on startup and see if it
> works or if you still get the segfault

Ok, it seems to work better without preloading the modules. Apache
starts without error, and I can successfully access many pages on my
sites. There were some problems with 

[+ local $escmode; $something +]

which I fixed by converting to

[+ do {local $escmode; $something} +]

And there seems to be a problem with [$ sub $] if it contains a <DL> or
</DL> that doesn't match up - I have three [$ sub $] routines,
begin_help(), help_heading() and end_help(). The point is that I use
nested DL tags to indent the text, and the begin_help() starts the DL,
the help_heading() puts out a heading and also increases or decreases
the indentation as indicated by the input parms, and the end_help()
closes down all the DL lists (by using a global note of the depth). This
appears to break under Embperl 2.0, since it sees that the DL and /DL
tags don't cleanly match up in the same [$ sub $]. I fixed this by
converting the subs to standard perl subs instead, using print OUT to do
the HTML, and that seems to work now. It was a small enough change that
it wasn't too much bother to change, but I just thought you would still
like to know about a case where it might be desirable to have HTML
inside [$ sub $] that doesn't necessarily match up.

More seriously, I am now encountering a problem with one of my pages,
where the apache process runs away and fills up all the computer memory
and swap space very quickly. The only way to recover is to shut down
apache. I am still trying to nail down why this happens - it seems to
have something to do with a [$sub$] calling a perl subroutine, which
calls another [$sub$]. This is all using Embperl::Object. Thing is, I
can switch things around and comment bits out and there is no one piece
of code that seems to cause the problem. At first I thought I had it
down to a loop which was outputting records from a database query, but
then I tried commenting out a different piece of code a little later in
the same [$sub$], and now the database loop works! I have a feeling that
it's something related to nested calls between [$sub$] and Perl subs,
but I can't as yet nail down the minimal case that makes it happen. I'll
try and experiment more, but if you have ideas for capturing what's
happening from logfiles as it runs wild, then tell me what to do and
I'll try to generate some results for you. Meanwhile, I'll keep
experimenting to get a minimal case for you.

This version seems greatly improved, Gerald - I would say, after a small
amount of testing, that many pages in crazyguyonabike work now. There
are still some other errors I saw which I haven't determined yet, but
I'll let you know when I do.

The module preloading issue is still a problem, but maybe I am doing
something wrong or inappropriate for 2.0 in my startup.pl?

Thanks again, Gerald,

-Neil

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to