perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geoffrey Young <ge...@modperlcookbook.org>
Subject Re: $r->prev is always defined
Date Mon, 09 Sep 2002 16:45:50 GMT


Jindo wrote:
> Hello,
> 
> Unfortunately, I did suspect the same before and called Index.cgi
> directly.  By calling it directly, $r->log_error($r->prev()->uri())
> still perfectly printed one line in error_log.

you must be doing something with internal redirects _someplace_.  I'm 
running CVS versions of both Apache and mod_perl and the below script 
gives me exactly what we all expect (both using Apache::Registry and 
modified as a standalone PerlHandler).

I'd try turning on mod_perl debug mode (assuming you built with a 
debugging perl):

PerlSetEnv MOD_PERL_TRACE all

and see if you can see the redirect taking place.

I'm sure that if r->prev were _always_ defined lots of stuff would be 
breaking for lots of people.  after all, what's in r->prev if there is 
no subrequest?  the main request was somehow copied into r->prev 
without anybody asking for it?

if you can't see an internal redirect anyplace and still think this is 
a bug, then I'd suggest stripping down your httpd.conf to a bare 
minimum and creating a test case that we can plug in and try in order 
to isolate the issue and see what's going on.

HTH

--Geoff

#!/usr/bin/perl

my $r = shift;

$r->send_http_header('text/plain');
print "prev is defined\n" if defined $r->prev;
print "prev exists\n" if $r->prev;
eval {
   print "prev uri\n" if $r->prev->uri;
};
print "prev->uri blew up\n" if $@;
print "all done\n";



Mime
View raw message