[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: libapache-mod-perl_1.15-2.1.deb

On 21 Oct 1998 20:03:30 -0500, you wrote:

> On Wed, Oct 21, 1998 at 01:05:42PM -0400, Michael Alan Dorman wrote:
> > Does anyone have a copy of this older version of mod_perl around?  I'm
> > having a beastly time with 1.16, and unfortunately can't take the time
> > to try and debug it.
> > 
> > Email, or pointers to a web/ftp site, either is fine.
> You are?  I would appreciate details... I thought I had it working.

I can't speak for Michael Dorman, but perhaps he is having the same problem
I am.  For me, mod_perl modules seem to work fine but non-mod_perl CGI
programs all segfault.  The non-mod_perl CGI programs work when I comment
out the LoadModule statement for mod_perl and restart Apache.  This may be
caused by misconfiguration on my part, as I am still a novice when it comes
to Apache and mod_perl.  I'm about out of ideas of things to try, so I'll
post all the details I think are relevant and hope someone here can make
some suggestions.

The Gory Details

Modules Installed:
	apache			1.3.3-3
	apache-common		1.3.3-3
	libapache-mod-perl	1.16-1
	perl			5.004.04-6

Excerpts from srm.conf
	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

Excerpts from access.conf
	<Directory /usr/lib/cgi-bin>
	SetHandler cgi-script
	AllowOverride None
	Options ExecCGI FollowSymLinks

	Alias /mod_perl/ /usr/lib/mod_perl/

	<Location /mod_perl>
	SetHandler perl-script
	PerlHandler Apache::Registry
	Options +ExecCGI

Expected Behavior
I had hoped that by configuring Apache in this way, perl scripts in
/mod_perl would be run using the Apache::Registry handler and non-perl
programs in /cgi-bin would be run using the normal CGI mechanisms.  

Observed Behavior
What actually happens depends on whether or not mod_perl is loaded as a
module.  When it is not loaded, the non-perl programs in /cgi-bin run
properly and generate valid output that is returned to the client.  With
mod_perl loaded, scripts in /mod_perl run properly and the Apache::Status
handler can be successfully enabled.  However, scripts in /cgi-bin no longer
work.  They start returning "Internal server errors" claiming that there was
a premature end to the script headers.  Investigation with strace reveals
that the Apache child process dumps core somewhere between forking for the
CGI process and execing the actual program.  When this happens, Apache logs
the error but does not log the core dump (which surprised me).  It also
doesn't seem to produce a core file in the directory I've configured with
the CoreDumpDirectory directive in httpd.conf.

Any help at all will be very welcome!

Mike McCallister   --   mccallis@netcom.com

Reply to: