RE: APREQ_ERROR_MISMATCH error, I think

Mark Hedges <[email protected]>
Newsgroups gmane.comp.apache.apreq,gmane.comp.apache.mod-perl
Message-ID <55EEF0B3C5BF2744B2248754D717EE4C4B3555@USASHEXMB02.LYV.LiveNation.com>
D'oh sorry bad value for POST_MAX, please ignore.  -Mark

-----Original Message-----
From: Mark Hedges 
Sent: Monday, June 23, 2014 4:02 PM
To: [email protected]; mod_perl list
Cc: Mark Hedges
Subject: RE: APREQ_ERROR_MISMATCH error, I think

No one seems home on the apreq-dev list so I'm ccing mod_perl in the hope someone can help.  Sorry if that annoys anyone.

I rebuilt everything using perl 5.20.0, Apache 2.2.27 will all the mods, mod_perl svn trunk.

When I use Apache2::Request, I get a server error, it fails with the message "Conflicting information," which seems to be related to the APREQ_ERROR_MISMATCH constant, but I don't know how to debug this.

When I comment out creating the Apache2::Request object from $r, my dummy test handler runs fine.

How would I try to debug this?

Mark

-----Original Message-----
From: Mark Hedges 
Sent: Friday, June 20, 2014 5:51 PM
To: [email protected]
Cc: Mark Hedges
Subject: APREQ_ERROR_MISMATCH error, I think

Any clues for the clueless?

This is accompanied by a 500 internal server error.

The same handler works fine when I do not use Apache2::Request.  It is just a test handler to print out a string.

Thanks.
-Mark

-----------------------
t/logs/error_log:
----
[Fri Jun 20 17:43:13.014222 2014] [mpm_event:notice] [pid 30042:tid 47602811847312] AH00489: Apache/2.4.9 (Unix) mod_apreq2-20090110/2.8.0 mod_perl/2.0.9dev Perl/v5.20.0 configured -- resuming normal operations
...
[Fri Jun 20 17:43:13.014745 2014] [mpm_event:debug] [pid 30043:tid 1088698688] event.c(1949): AH02471: start_threads: Using epoll
...
[Fri Jun 20 17:43:14.934954 2014] [authz_core:debug] [pid 30043:tid 1120168256] mod_authz_core.c(828): [client 127.0.0.1:60081] AH01628: authorization result: granted (no directives)
[Fri Jun 20 17:43:14.953412 2014] [perl:error] [pid 30043:tid 1120168256] [client 127.0.0.1:60081] Conflicting information


-------------------------
extra.last.conf.in:
---
PerlSetEnv NTF_TEST_DIR @ServerRoot@

#LoadModule allowmethods_module /ntfhome/local/libexec/httpd/mod_allowmethods.so

# where Apache2::Controller and the test application libs can be found
PerlSwitches -I@ServerRoot@/blib
PerlLoadModule Apache2::RequestRec
PerlLoadModule Apache2::RequestIO
PerlLoadModule Apache2::Log
PerlLoadModule Apache2::RequestUtil

<Perl>
    use NTF::Handler::NTR;
    $NTFHandlers::NTR = NTF::Handler::NTR->new();
</Perl>

# startup file handled by Apache::Test
# (add stuff to t/conf/modperl_extra.pl)

<LocationMatch '^/foo\b'>
    SetHandler modperl
    PerlResponseHandler $NTFHandlers::NTR->redirect
</LocationMatch>

-------------------------------
package NTF::Handler::NTR;

use strict;
use warnings FATAL => 'all';
use English '-no_match_vars';

use YAML::XS;
use Readonly;

Readonly::Hash my %APREQ_NEW_PARAMS => (
    POST_MAX            => 1,
    MAX_BODY            => 1,
    DISABLE_UPLOADS     => 1,
);

use Apache2::Const -compile => qw(
    OK
    HTTP_OK
    REDIRECT
    HTTP_BAD_REQUEST
);

use Apache2::Log;
use Apache2::RequestIO;
# use Apache2::Request;

sub new { return bless {}, __PACKAGE__ }

sub redirect : method {
    my ($self, $r) = @_;

    # minor annoyance, have to do this every time
    $self->{r} = $r;
 #  my $req = Apache2::Request->new($r, %APREQ_NEW_PARAMS);

    $r->content_type('text/plain');
    $self->{r}->print("KIRK\n");

    delete $self->{r};
    delete $self->{apreq};

    return Apache2::Const::OK;
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.