Stas Bekman wrote:
Mark wrote:

-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

$ENV{REDIRECT_ERROR_NOTES} not working with MP2

Using latest everything (modperl 2 RC5).


To illustrate, I simply configure Apache with an errordocument:

   ErrorDocument 500 /cgi/printenv

I have a perl-scripts configured like this:

  <Directory "/usr/local/apache2/perl">
    Options ExecCGI
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
  </Directory>

And a script the generates an error:

  #/usr/bin/perl
  barf();


The errordocument 'printenv' output shows REDIRECT_ERROR_NOTES empty.

When the identical barf script is run under CGI (script-alias), REDIRECT_ERROR_NOTES
has an error message.



I fooled around with more complex examples, accessing ARP table 'error-notes' and
that is also empty.


because you are in the sub request. the value is set in $r->main 'error-notes' table. I wonder why the sub-request doesn't see it.

Sorry, I wasn't clear about that. In my tests using APR table, I did look at the previous request, which is where I expected to find the error-notes. Here's my handler:

sub handler {
    my $r = shift;

    my $pr = $r->prev;

    $r->content_type('text/plain');

    # dump out the previous request's notes table
    my $table = $pr->notes;
    foreach my $key (keys %{$table}) {
        printf "$key = '%s'\n", $table->{$key};
    }

    ...



Also I wonder if we should adjust in ModPerl::RegistryCooker:

 sub log_error {
     my($self, $msg) = @_;
     my $class = ref $self;

-    $self->{REQ}->log_error($msg);
-    $self->{REQ}->notes->set('error-notes' => $msg);
+    $self->{REQ}->log_rerror($msg);
     [EMAIL PROTECTED]>{URI}} = $msg;
 }

which is supposed to do that same in one call. Any difference with the above change?

With this in place (which I admit I don't understand) error-notes is now populated, but maybe the wrong stack frame or something, since the error text is not the actual error from the original request. I will study this further, maybe this is somehow my problem?


what Apache is that?

Server version: Apache/2.0.53

Thanks,

Mark

Reply via email to