You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Stas Bekman <st...@stason.org> on 2003/01/20 00:27:06 UTC

Re: [mp2] make test errors w/. threadmutex, push_handlers

[there is no need to cross-post the report, send it only to one of the 
lists, preferrably dev]

Nick Tonkin wrote:
> Hi all,
> 
> Using the very latest cvs sources, make test failed with the following:

re-arranging the report, to have error_log sections following the test 
reports.

> apr/threadmutex..............FAILED tests 1-3                                
>         Failed 3/3 tests, 0.00% okay
[...]
 > [Sat Jan 18 21:23:17 2003] [error] [client 127.0.0.1] Can't locate
 > APR/ThreadMutex.pm in @INC (@INC contains: /home/tmp/build/modperl-2.0/t
 > /home/tmp/build/modperl-2.0/blib/lib/Apache2
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
it is in this directory, right?

[...]
 > /home/tmp/build/modperl-2.0/t/response/TestAPR/threadmutex.pm line 17.


> error/push_handlers..........# Failed test 1 in error/push_handlers.t at
> line 14
> error/push_handlers..........FAILED test 1                                   
>         Failed 1/1 tests, 0.00% okay
[...]
 > [Sat Jan 18 21:23:27 2003] [error] [client 127.0.0.1] File does not 
exist: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers

This is a new test I've added recently, unrelated to the original problem.
For some reason it wasn't auto-configured. Do you have a Location entry 
for TestError::push_handlers in t/conf/httpd.conf? Does it appear when you 
run t/TEST -conf?

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Stas Bekman <st...@stason.org>.
Andrew Wyllie wrote:
>>><Location /TestError::push_handlers>
>>>    SetHandler modperl      
>>>    PerlResponseHandler TestError::push_handlers
>>></Location>
>>>
>>>
>>>>Does it appear when you 
>>>>run t/TEST -conf?
>>>
>>>Nope:
>>>
>>>nick@fatboy /tmp/build/modperl-2.0>t/TEST -conf
>>>*** cleaning out current configuration
>>>*** reconfiguration done
>>>
>>>nick@fatboy /tmp/build/modperl-2.0>ll /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
>>>ls: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers: No such file or directory
>>
>>
>>I'm also seeing this test fail.   The Location is in the
>>httpd.conf file, but it's not picking it up for some reason.
> 
> 
> 
> I take it back, I uncommented the warn statements in 
> TestError/push_handlers.pm and the first one "handler called"
> is printed into the log.  If I change the line:
> 
>     $r->push_handlers(PerlResponseHandler => \&real_response);
> to 
>     $r->push_handlers(PerlResponseHandler => \&real_response($r));

Heh, you need to pass a callback, not execute it.

> the method real_response gets called (prints real_response called
> in log file), but, the test still does not pass.
> 
> But, when I take out return Apache::DECLINED; and replace
> with  return Apache::OK; the test passes. 
> 
> So, when you push a handler, is the cycle supposed to continue 
> if one of the pushed handlers returns OK or is it supposed to
> stop as soon as it hits an OK?  I would have thought that 
> when the method being pushed returned Apache::OK, that I would
> never arrive at the Apache::DECLINED in the original handler.

As the name of the test indicates it tests something that you shouldn't be 
doing. You can read the explanation at the top of
t/response/TestError/push_handlers.pm

The trick is that the first handler runs under 'modperl', the newly pushed 
handler is run under 'perl-script' and on my setup, Apache runs the 
'perl-script' handlers after it's finished trying 'modperl' handlers (if they 
all have returned DECLINED).

I've added this test after a report to the list where the user have misused 
push_handlers.

So if fails for you because it falls through to the default handler and 
doesn't call the pushed handler. Dunno why is it different on FreeBSD, but 
I'll disable it for now.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Andrew Wyllie <wy...@dilex.net>.
On Sun, 19 Jan 2003, Nick Tonkin wrote:

> On Mon, 20 Jan 2003, Stas Bekman wrote:
...
> 
> nick@fatboy /tmp/build/modperl-2.0>sudo find / -name 'ThreadMutex.pm' -print
> /home/tmp/build/modperl-2.0/WrapXS/APR/ThreadMutex/ThreadMutex.pm
> 

I'm also running on FreeBSD and I'm seeing the same problem.  On my
system I'm not getting a Makefile written in WrapXS/APR/ThreadMutex .
So the module is not being copied over into the test environment.

I'm not quite sure how to include this module in the make, I'm not
even sure if I should be using it if I have threads disabled (which
I do).



> 
> > > error/push_handlers..........# Failed test 1 in error/push_handlers.t at
> > > line 14
> > > error/push_handlers..........FAILED test 1                                   
> > >         Failed 1/1 tests, 0.00% okay
> > [...]
> >  > [Sat Jan 18 21:23:27 2003] [error] [client 127.0.0.1] File does not 
> > exist: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
> > 
> > This is a new test I've added recently, unrelated to the original problem.
> > For some reason it wasn't auto-configured. Do you have a Location entry 
> > for TestError::push_handlers in t/conf/httpd.conf?i
> 
> Yep:
> 
> <Location /TestError::push_handlers>
>     SetHandler modperl      
>     PerlResponseHandler TestError::push_handlers
> </Location>
> 
> 
> > Does it appear when you 
> > run t/TEST -conf?
> 
> Nope:
> 
> nick@fatboy /tmp/build/modperl-2.0>t/TEST -conf
> *** cleaning out current configuration
> *** reconfiguration done
> 
> nick@fatboy /tmp/build/modperl-2.0>ll /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
> ls: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers: No such file or directory


I'm also seeing this test fail.   The Location is in the
httpd.conf file, but it's not picking it up for some reason.


andrew






---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Stas Bekman <st...@stason.org>.
Nick Tonkin wrote:

> Might I suggest the following messages instead:

Good input, Nick

> apr/threadmutex..............skipped
>   test skipped: threads not installed or 'APR::ThreadMutex' not found

Now it'll say:

apr/threadmutex....1..0 # skipped: Apache/APR was built without threads support

> error/push_handlers..........skipped
>   test skipped: still under development
> 
> (is that what you meant in your earlier message?)

done that as well.

Thanks again.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Nick Tonkin <ni...@rlnt.net>.
On Wed, 22 Jan 2003, Stas Bekman wrote:

> Nick Tonkin wrote:
> 
> > But still:
> > 
> > directive/setupenv...........ok                                              
> > error/push_handlers..........# Failed test 1 in error/push_handlers.t at
> > line 14
> > error/push_handlers..........FAILED test 1                                   
> >         Failed 1/1 tests, 0.00% okay
> > filter/in_bbs_body...........ok                                              
> > 
> > and this in the test error log:
> > 
> > [Tue Jan 21 08:03:18 2003] [error] [client 127.0.0.1] File does not exist: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
> > FILTER READ: 1024 bytes
> > [Tue Jan 21 08:03:26 2003] [error] [client 127.0.0.1] File does not exist: /home/tmp/build/modperl-2.0/t/htdocs/nope
> > [Tue Jan 21 08:03:32 2003] [error] [client 127.0.0.1] need AuthName: /TestModperl::setauth
> > [Tue Jan 21 08:03:35 2003] [info] removed PID file /home/tmp/build/modperl-2.0/t/logs/httpd.pid (pid=24418)
> > [Tue Jan 21 08:03:35 2003] [notice] caught SIGTERM, shutting down
> > END in modperl_extra.pl, pid=24418
> 
> Did you update your cvs version?

No, I didn't. But now I did (got apache 2.1.0-dev by mistake!) and all
tests pass OK:

apr/table....................ok                                              
apr/threadmutex..............skipped
        all skipped: cannot find module 'APR::ThreadMutex'
apr/util.....................ok                                              

directive/setupenv...........ok                                              
error/push_handlers..........skipped
        all skipped: ignore
filter/in_bbs_body...........ok                                              

Might I suggest the following messages instead:

apr/threadmutex..............skipped
  test skipped: threads not installed or 'APR::ThreadMutex' not found

error/push_handlers..........skipped
  test skipped: still under development

(is that what you meant in your earlier message?)


- nick

~~~~~~~~~~~~~~~~~~~~   
Nick Tonkin   {|8^)>




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Stas Bekman <st...@stason.org>.
Nick Tonkin wrote:

> But still:
> 
> directive/setupenv...........ok                                              
> error/push_handlers..........# Failed test 1 in error/push_handlers.t at
> line 14
> error/push_handlers..........FAILED test 1                                   
>         Failed 1/1 tests, 0.00% okay
> filter/in_bbs_body...........ok                                              
> 
> and this in the test error log:
> 
> [Tue Jan 21 08:03:18 2003] [error] [client 127.0.0.1] File does not exist: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
> FILTER READ: 1024 bytes
> [Tue Jan 21 08:03:26 2003] [error] [client 127.0.0.1] File does not exist: /home/tmp/build/modperl-2.0/t/htdocs/nope
> [Tue Jan 21 08:03:32 2003] [error] [client 127.0.0.1] need AuthName: /TestModperl::setauth
> [Tue Jan 21 08:03:35 2003] [info] removed PID file /home/tmp/build/modperl-2.0/t/logs/httpd.pid (pid=24418)
> [Tue Jan 21 08:03:35 2003] [notice] caught SIGTERM, shutting down
> END in modperl_extra.pl, pid=24418

Did you update your cvs version?



__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Nick Tonkin <ni...@rlnt.net>.
On Tue, 21 Jan 2003, Stas Bekman wrote:

> Nick Tonkin wrote:
> > On Mon, 20 Jan 2003, Stas Bekman wrote:
> > 
> > 
> >>Nick Tonkin wrote:
> >>
> >>>>>apr/threadmutex..............FAILED tests 1-3                                
> >>>>>       Failed 3/3 tests, 0.00% okay
> [...]
> 
> Thanks Nick and Andrew for debugging on this one. 

heh. Thank you all for fixing it!

> I was able to reproduce the 
> problem by turning APR_HAS_THREADS off in apr.h and rebuilding mod_perl. It's 
> OK that APR::ThreadMutex is not copied. The test wasn't doing the right 
> checking, the following should fix it (committed to cvs):
> 
> Index: t/response/TestAPR/threadmutex.pm
> ===================================================================
> RCS file: /home/cvs/modperl-2.0/t/response/TestAPR/threadmutex.pm,v
> retrieving revision 1.2
> diff -u -r1.2 threadmutex.pm
> --- t/response/TestAPR/threadmutex.pm   23 Jun 2002 22:14:26 -0000      1.2
> +++ t/response/TestAPR/threadmutex.pm   21 Jan 2003 06:51:47 -0000
> @@ -12,7 +12,7 @@
>   sub handler {
>       my $r = shift;
> 
> -    plan $r, tests => 3, 'APR::ThreadMutex';
> +    plan $r, tests => 3, have 'APR::ThreadMutex';
> 
>       require APR::ThreadMutex;

Looks good:

apr/table....................ok                                              
apr/threadmutex..............skipped
        all skipped: cannot find module 'APR::ThreadMutex'
apr/util.....................ok                                              

But still:

directive/setupenv...........ok                                              
error/push_handlers..........# Failed test 1 in error/push_handlers.t at
line 14
error/push_handlers..........FAILED test 1                                   
        Failed 1/1 tests, 0.00% okay
filter/in_bbs_body...........ok                                              

and this in the test error log:

[Tue Jan 21 08:03:18 2003] [error] [client 127.0.0.1] File does not exist: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
FILTER READ: 1024 bytes
[Tue Jan 21 08:03:26 2003] [error] [client 127.0.0.1] File does not exist: /home/tmp/build/modperl-2.0/t/htdocs/nope
[Tue Jan 21 08:03:32 2003] [error] [client 127.0.0.1] need AuthName: /TestModperl::setauth
[Tue Jan 21 08:03:35 2003] [info] removed PID file /home/tmp/build/modperl-2.0/t/logs/httpd.pid (pid=24418)
[Tue Jan 21 08:03:35 2003] [notice] caught SIGTERM, shutting down
END in modperl_extra.pl, pid=24418

- nick

~~~~~~~~~~~~~~~~~~~~   
Nick Tonkin   {|8^)>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Stas Bekman <st...@stason.org>.
Nick Tonkin wrote:
> On Mon, 20 Jan 2003, Stas Bekman wrote:
> 
> 
>>Nick Tonkin wrote:
>>
>>>>>apr/threadmutex..............FAILED tests 1-3                                
>>>>>       Failed 3/3 tests, 0.00% okay
[...]

Thanks Nick and Andrew for debugging on this one. I was able to reproduce the 
problem by turning APR_HAS_THREADS off in apr.h and rebuilding mod_perl. It's 
OK that APR::ThreadMutex is not copied. The test wasn't doing the right 
checking, the following should fix it (committed to cvs):

Index: t/response/TestAPR/threadmutex.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/response/TestAPR/threadmutex.pm,v
retrieving revision 1.2
diff -u -r1.2 threadmutex.pm
--- t/response/TestAPR/threadmutex.pm   23 Jun 2002 22:14:26 -0000      1.2
+++ t/response/TestAPR/threadmutex.pm   21 Jan 2003 06:51:47 -0000
@@ -12,7 +12,7 @@
  sub handler {
      my $r = shift;

-    plan $r, tests => 3, 'APR::ThreadMutex';
+    plan $r, tests => 3, have 'APR::ThreadMutex';

      require APR::ThreadMutex;


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Nick Tonkin <ni...@rlnt.net>.
On Mon, 20 Jan 2003, Stas Bekman wrote:

> Nick Tonkin wrote:
> >>>apr/threadmutex..............FAILED tests 1-3                                
> >>>        Failed 3/3 tests, 0.00% okay
> >>
> >>[...]
> >> > [Sat Jan 18 21:23:17 2003] [error] [client 127.0.0.1] Can't locate
> >> > APR/ThreadMutex.pm in @INC (@INC contains: /home/tmp/build/modperl-2.0/t
> >> > /home/tmp/build/modperl-2.0/blib/lib/Apache2
> >>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>it is in this directory, right?
> > 
> > 
> > Nope:
> > 
> > nick@fatboy /tmp/build/modperl-2.0>sudo find / -name 'ThreadMutex.pm' -print
> > /home/tmp/build/modperl-2.0/WrapXS/APR/ThreadMutex/ThreadMutex.pm
> 
> So you don't have APR/ThreadMutex.pm in blib and the error was correct.
> 
> And what's your WrapXS/APR/ThreadMutex/Makefile's pm_to_blib target says?
> Mine says:
> pm_to_blib: $(TO_INST_PM)
>          @$(PERLRUNINST) "-MExtUtils::Install" \
>          -e "pm_to_blib({qw{ThreadMutex.pm 
> ../../../blib/lib/Apache2/APR/ThreadMute
> x.pm}},'$(INST_LIB)/auto','$(PM_FILTER)')"
>          @$(TOUCH) $@

Um, not sure what you meant. There is no Makefile in that directory, only
Makefile.PL:

nick@fatboy /tmp/build/modperl-2.0/WrapXS/APR/ThreadMutex>cat Makefile.PL | grep -v '#'


use ModPerl::MM ();

ModPerl::MM::WriteMakefile(
    'NAME'    => 'APR::ThreadMutex',
    'VERSION' => '0.01',
    'depend'  => {
          'ThreadMutex.c' => '/home/tmp/build/modperl-2.0/xs/APR/ThreadMutex/APR__ThreadMutex.h'
        }
,
);

So I did this:

nick@fatboy /tmp/build/modperl-2.0/WrapXS/APR/ThreadMutex>perl Makefile.PL 
!!! '/usr/local/apache/bin/apxs -q INCLUDEDIR' failed:
!!! unknown error
Writing Makefile for APR::ThreadMutex


Then in Makefile I have:

# --- MakeMaker pm_to_blib section:

pm_to_blib: $(TO_INST_PM)
        @$(PERLRUNINST) "-MExtUtils::Install" \
        -e "pm_to_blib({qw{}},'$(INST_LIB)/auto','$(PM_FILTER)')"
        @$(TOUCH) $@

> 
> Also I get:
> 
> % grep HAS_THREADS lib/Apache/BuildConfig.pm
> 
> 'HAS_THREADS' => '1',
> 
> you probably have 0, right? 

nick@fatboy /tmp/build/modperl-2.0>grep HAS_THREADS lib/Apache/BuildConfig.pm
                                   'HAS_THREADS' => '0',



> If so:
> 
> Also, I'm not sure why an undef is returned here, I'd think it should be:
> 
> Index: lib/ModPerl/MM.pm
> ===================================================================
> RCS file: /home/cvs/modperl-2.0/lib/ModPerl/MM.pm,v
> retrieving revision 1.21
> diff -u -r1.21 MM.pm
> --- lib/ModPerl/MM.pm   23 Jun 2002 21:46:54 -0000      1.21
> +++ lib/ModPerl/MM.pm   20 Jan 2003 05:06:53 -0000
> @@ -178,7 +178,7 @@
>       my $apr_config = build_config()->get_apr_config();
> 
>       if ($path =~ m/(Thread|Global)Mutex/) {
> -        return unless $apr_config->{HAS_THREADS};
> +        return '' unless $apr_config->{HAS_THREADS};
>       }
> 
>       return '' if $path =~ m/\.(pl|cvsignore)$/;
> 

I made this change, compiled again, but got the same errors,




> 
> 
> >>>error/push_handlers..........# Failed test 1 in error/push_handlers.t at
> >>>line 14
> >>>error/push_handlers..........FAILED test 1                                   
> >>>        Failed 1/1 tests, 0.00% okay
> >>
> >>[...]
> >> > [Sat Jan 18 21:23:27 2003] [error] [client 127.0.0.1] File does not 
> >>exist: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
> >>
> >>This is a new test I've added recently, unrelated to the original problem.
> >>For some reason it wasn't auto-configured. Do you have a Location entry 
> >>for TestError::push_handlers in t/conf/httpd.conf?i
> > 
> > 
> > Yep:
> > 
> > <Location /TestError::push_handlers>
> >     SetHandler modperl      
> >     PerlResponseHandler TestError::push_handlers
> > </Location>
> > 
> > 
> >>Does it appear when you 
> >>run t/TEST -conf?
> > 
> > 
> > Nope:
> > 
> > nick@fatboy /tmp/build/modperl-2.0>t/TEST -conf
> > *** cleaning out current configuration
> > *** reconfiguration done
> > 
> > nick@fatboy /tmp/build/modperl-2.0>ll /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
> > ls: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers: No such file or directory
> 
> Of course the file doesn't exist, it's a location target. What happens if 
> you run this test:
> 
> t/TEST -v error/push_handlers

no change:

nick@fatboy /tmp/build/modperl-2.0>t/TEST -v error/push_handlers
/usr/local/apache/bin/httpd  -d /home/tmp/build/modperl-2.0/t -f
/home/tmp/build/modperl-2.0/t/conf/httpd.conf -DAPACHE2 
using Apache/2.0.43 (prefork MPM)

waiting for server to start: .[Mon Jan 20 06:28:51 2003] [info] 18
Apache:: modules loaded
[Mon Jan 20 06:28:51 2003] [info] 3 APR:: modules loaded
[Mon Jan 20 06:28:51 2003] [info] base server + 7 vhosts ready to run
tests
.
waiting for server to start: ok (waited 1 secs)
server localhost.rlnt.net:8529 started
server localhost.rlnt.net:8530 listening (TestProtocol::echo)
server localhost.rlnt.net:8531 listening (TestProtocol::echo_filter)
server localhost.rlnt.net:8532 listening (TestProtocol::eliza)
server localhost.rlnt.net:8533 listening (TestFilter::in_bbs_msg)
server localhost.rlnt.net:8534 listening (TestFilter::in_str_msg)
server localhost.rlnt.net:8535 listening (TestDirective::perlmodule)
server localhost.rlnt.net:8536 listening (TestDirective::perlrequire)
server localhost.rlnt.net:8537 listening (TestDirective::perlloadmodule3)
server localhost.rlnt.net:8538 listening (TestDirective::perlloadmodule4)
server localhost.rlnt.net:8539 listening (TestDirective::perlloadmodule5)
server localhost.rlnt.net:8540 listening (TestDirective::perlloadmodule6)
error/push_handlers....1..1
# expected: 'ok'
# Failed test 1 in error/push_handlers.t at line 14
# received: '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
# <html><head>
# <title>404 Not Found</title>
# </head><body>
# <h1>Not Found</h1>
# <p>The requested URL /TestError::push_handlers was not found on this
server.</p>
# </body></html>
# '
not ok 1
FAILED test 1
        Failed 1/1 tests, 0.00% okay
Failed Test           Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
error/push_handlers.t                1    1 100.00%  1
*** server localhost.rlnt.net:8529 shutdown
!!! error running tests (please examine t/logs/error_log)
nick@fatboy /tmp/build/modperl-2.0>more t/logs/error_log 
[Mon Jan 20 06:28:51 2003] [info] Init: Initializing OpenSSL library
[Mon Jan 20 06:28:51 2003] [info] Init: Seeding PRNG with 0 bytes of
entropy
[Mon Jan 20 06:28:51 2003] [info] Init: Generating temporary RSA private
keys (512/1024 bits)
[Mon Jan 20 06:28:52 2003] [info] Init: Generating temporary DH parameters
(512/1024 bits)
[Mon Jan 20 06:28:52 2003] [warn] Init: Session Cache is not configured
[hint: SSLSessionCache]
[Mon Jan 20 06:28:52 2003] [info] Init: Initializing (virtual) servers for
SSL
[Mon Jan 20 06:28:52 2003] [info] Server: Apache/2.0.43,
Interface: mod_ssl/2.0.43, Library: OpenSSL/0.9.6g
END in modperl_extra.pl, pid=17843
[Mon Jan 20 06:28:52 2003] [info] Init: Initializing OpenSSL library
[Mon Jan 20 06:28:52 2003] [info] Init: Seeding PRNG with 0 bytes of
entropy
[Mon Jan 20 06:28:52 2003] [info] Init: Generating temporary RSA private
keys (512/1024 bits)
[Mon Jan 20 06:28:52 2003] [info] Init: Generating temporary DH parameters
(512/1024 bits)
[Mon Jan 20 06:28:52 2003] [info] Init: Initializing (virtual) servers for
SSL
[Mon Jan 20 06:28:52 2003] [info] Server: Apache/2.0.43,
Interface: mod_ssl/2.0.43, Library: OpenSSL/0.9.6g
[Mon Jan 20 06:28:52 2003] [notice] Apache/2.0.43
(Unix) mod_perl/1.99_09-dev Perl/v5.8.0 mod_ssl/2.0.43 OpenSSL/0.9.6
g configured -- resuming normal operations
[Mon Jan 20 06:28:52 2003] [info] Server built: Jan 17 2003 19:14:32
[Mon Jan 20 06:28:52 2003] [debug] prefork.c(1039): AcceptMutex: flock
(default: flock)
[Mon Jan 20 06:28:53 2003] [error] server reached MaxClients setting,
consider raising the MaxClients setting
[Mon Jan 20 06:28:53 2003] [error] [client 127.0.0.1] File does not
exist: /home/tmp/build/modperl-2.0/t/htdocs/TestEr
ror::push_handlers
[Mon Jan 20 06:28:54 2003] [info] removed PID file
/home/tmp/build/modperl-2.0/t/logs/httpd.pid (pid=17844)
[Mon Jan 20 06:28:54 2003] [notice] caught SIGTERM, shutting down
END in modperl_extra.pl, pid=17844




- nick

~~~~~~~~~~~~~~~~~~~~   
Nick Tonkin   {|8^)>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Stas Bekman <st...@stason.org>.
Nick Tonkin wrote:

> BTW how many adopters of mp2 are we?

Just a few folks so far very reporting problems. Though it's possible that 
there are many others that don't have problems.

>>>apr/threadmutex..............FAILED tests 1-3                                
>>>        Failed 3/3 tests, 0.00% okay
>>
>>[...]
>> > [Sat Jan 18 21:23:17 2003] [error] [client 127.0.0.1] Can't locate
>> > APR/ThreadMutex.pm in @INC (@INC contains: /home/tmp/build/modperl-2.0/t
>> > /home/tmp/build/modperl-2.0/blib/lib/Apache2
>>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>it is in this directory, right?
> 
> 
> Nope:
> 
> nick@fatboy /tmp/build/modperl-2.0>ll /home/tmp/build/modperl-2.0/blib/lib/Apache2
> total 24
> drwxr-xr-x  2 nick  perl  -   512 Jan 18 21:22 APR/
> -r--r--r--  1 nick  perl  -   325 Sep 12  2001 APR.pm
> drwxr-xr-x  2 nick  perl  -  1024 Jan 18 21:22 Apache/
> drwxr-xr-x  2 nick  perl  -   512 Jan 18 21:22 ModPerl/
> drwxr-xr-x  6 nick  perl  -   512 Jan 18 21:22 auto/
> -r--r--r--  1 nick  perl  -    94 Jan 10 20:17 mod_perl.pm
> -r--r--r--  1 nick  perl  - 11231 Jan 18 21:21 typemap
> 
> nick@fatboy /tmp/build/modperl-2.0>ll
> /home/tmp/build/modperl-2.0/blib/lib/Apache2/APR
> total 34
> -r--r--r--  1 nick  perl  - 537 Jan 18 21:21 Base64.pm
> -r--r--r--  1 nick  perl  - 538 Jan 18 21:21 Brigade.pm
> -r--r--r--  1 nick  perl  - 537 Jan 18 21:21 Bucket.pm
> -r--r--r--  1 nick  perl  - 160 Apr 11  2001 Const.pm
> -r--r--r--  1 nick  perl  - 535 Jan 18 21:21 Date.pm
> -r--r--r--  1 nick  perl  - 537 Jan 18 21:21 NetLib.pm
> -r--r--r--  1 nick  perl  - 533 Jan 18 21:21 OS.pm
> -r--r--r--  1 nick  perl  - 191 Dec 17  2001 PerlIO.pm
> -r--r--r--  1 nick  perl  - 535 Jan 18 21:21 Pool.pm
> -r--r--r--  1 nick  perl  - 539 Jan 18 21:21 SockAddr.pm
> -r--r--r--  1 nick  perl  - 537 Jan 18 21:21 Socket.pm
> -r--r--r--  1 nick  perl  - 537 Jan 18 21:21 String.pm
> -r--r--r--  1 nick  perl  - 536 Jan 18 21:21 Table.pm
> -r--r--r--  1 nick  perl  - 534 Jan 18 21:21 URI.pm
> -r--r--r--  1 nick  perl  - 535 Jan 18 21:21 UUID.pm
> -r--r--r--  1 nick  perl  - 535 Jan 18 21:21 Util.pm
> -r--r--r--  1 nick  perl  - 248 May 23  2002 XSLoader.pm
> 
> 
> nick@fatboy /tmp/build/modperl-2.0>sudo find / -name 'ThreadMutex.pm' -print
> /home/tmp/build/modperl-2.0/WrapXS/APR/ThreadMutex/ThreadMutex.pm

So you don't have APR/ThreadMutex.pm in blib and the error was correct.

And what's your WrapXS/APR/ThreadMutex/Makefile's pm_to_blib target says?
Mine says:
pm_to_blib: $(TO_INST_PM)
         @$(PERLRUNINST) "-MExtUtils::Install" \
         -e "pm_to_blib({qw{ThreadMutex.pm 
../../../blib/lib/Apache2/APR/ThreadMute
x.pm}},'$(INST_LIB)/auto','$(PM_FILTER)')"
         @$(TOUCH) $@

Also I get:

% grep HAS_THREADS lib/Apache/BuildConfig.pm

'HAS_THREADS' => '1',

you probably have 0, right? If so:

Also, I'm not sure why an undef is returned here, I'd think it should be:

Index: lib/ModPerl/MM.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/ModPerl/MM.pm,v
retrieving revision 1.21
diff -u -r1.21 MM.pm
--- lib/ModPerl/MM.pm   23 Jun 2002 21:46:54 -0000      1.21
+++ lib/ModPerl/MM.pm   20 Jan 2003 05:06:53 -0000
@@ -178,7 +178,7 @@
      my $apr_config = build_config()->get_apr_config();

      if ($path =~ m/(Thread|Global)Mutex/) {
-        return unless $apr_config->{HAS_THREADS};
+        return '' unless $apr_config->{HAS_THREADS};
      }

      return '' if $path =~ m/\.(pl|cvsignore)$/;



>>>error/push_handlers..........# Failed test 1 in error/push_handlers.t at
>>>line 14
>>>error/push_handlers..........FAILED test 1                                   
>>>        Failed 1/1 tests, 0.00% okay
>>
>>[...]
>> > [Sat Jan 18 21:23:27 2003] [error] [client 127.0.0.1] File does not 
>>exist: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
>>
>>This is a new test I've added recently, unrelated to the original problem.
>>For some reason it wasn't auto-configured. Do you have a Location entry 
>>for TestError::push_handlers in t/conf/httpd.conf?i
> 
> 
> Yep:
> 
> <Location /TestError::push_handlers>
>     SetHandler modperl      
>     PerlResponseHandler TestError::push_handlers
> </Location>
> 
> 
>>Does it appear when you 
>>run t/TEST -conf?
> 
> 
> Nope:
> 
> nick@fatboy /tmp/build/modperl-2.0>t/TEST -conf
> *** cleaning out current configuration
> *** reconfiguration done
> 
> nick@fatboy /tmp/build/modperl-2.0>ll /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
> ls: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers: No such file or directory

Of course the file doesn't exist, it's a location target. What happens if 
you run this test:

t/TEST -v error/push_handlers

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] make test errors w/. threadmutex, push_handlers

Posted by Nick Tonkin <ni...@rlnt.net>.
On Mon, 20 Jan 2003, Stas Bekman wrote:

> [there is no need to cross-post the report, send it only to one of the 
> lists, preferrably dev]

Alright. I thought it should be archived on the modperl list too.

BTW how many adopters of mp2 are we?

> > apr/threadmutex..............FAILED tests 1-3                                
> >         Failed 3/3 tests, 0.00% okay
> [...]
>  > [Sat Jan 18 21:23:17 2003] [error] [client 127.0.0.1] Can't locate
>  > APR/ThreadMutex.pm in @INC (@INC contains: /home/tmp/build/modperl-2.0/t
>  > /home/tmp/build/modperl-2.0/blib/lib/Apache2
>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> it is in this directory, right?

Nope:

nick@fatboy /tmp/build/modperl-2.0>ll /home/tmp/build/modperl-2.0/blib/lib/Apache2
total 24
drwxr-xr-x  2 nick  perl  -   512 Jan 18 21:22 APR/
-r--r--r--  1 nick  perl  -   325 Sep 12  2001 APR.pm
drwxr-xr-x  2 nick  perl  -  1024 Jan 18 21:22 Apache/
drwxr-xr-x  2 nick  perl  -   512 Jan 18 21:22 ModPerl/
drwxr-xr-x  6 nick  perl  -   512 Jan 18 21:22 auto/
-r--r--r--  1 nick  perl  -    94 Jan 10 20:17 mod_perl.pm
-r--r--r--  1 nick  perl  - 11231 Jan 18 21:21 typemap

nick@fatboy /tmp/build/modperl-2.0>ll
/home/tmp/build/modperl-2.0/blib/lib/Apache2/APR
total 34
-r--r--r--  1 nick  perl  - 537 Jan 18 21:21 Base64.pm
-r--r--r--  1 nick  perl  - 538 Jan 18 21:21 Brigade.pm
-r--r--r--  1 nick  perl  - 537 Jan 18 21:21 Bucket.pm
-r--r--r--  1 nick  perl  - 160 Apr 11  2001 Const.pm
-r--r--r--  1 nick  perl  - 535 Jan 18 21:21 Date.pm
-r--r--r--  1 nick  perl  - 537 Jan 18 21:21 NetLib.pm
-r--r--r--  1 nick  perl  - 533 Jan 18 21:21 OS.pm
-r--r--r--  1 nick  perl  - 191 Dec 17  2001 PerlIO.pm
-r--r--r--  1 nick  perl  - 535 Jan 18 21:21 Pool.pm
-r--r--r--  1 nick  perl  - 539 Jan 18 21:21 SockAddr.pm
-r--r--r--  1 nick  perl  - 537 Jan 18 21:21 Socket.pm
-r--r--r--  1 nick  perl  - 537 Jan 18 21:21 String.pm
-r--r--r--  1 nick  perl  - 536 Jan 18 21:21 Table.pm
-r--r--r--  1 nick  perl  - 534 Jan 18 21:21 URI.pm
-r--r--r--  1 nick  perl  - 535 Jan 18 21:21 UUID.pm
-r--r--r--  1 nick  perl  - 535 Jan 18 21:21 Util.pm
-r--r--r--  1 nick  perl  - 248 May 23  2002 XSLoader.pm


nick@fatboy /tmp/build/modperl-2.0>sudo find / -name 'ThreadMutex.pm' -print
/home/tmp/build/modperl-2.0/WrapXS/APR/ThreadMutex/ThreadMutex.pm


> > error/push_handlers..........# Failed test 1 in error/push_handlers.t at
> > line 14
> > error/push_handlers..........FAILED test 1                                   
> >         Failed 1/1 tests, 0.00% okay
> [...]
>  > [Sat Jan 18 21:23:27 2003] [error] [client 127.0.0.1] File does not 
> exist: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
> 
> This is a new test I've added recently, unrelated to the original problem.
> For some reason it wasn't auto-configured. Do you have a Location entry 
> for TestError::push_handlers in t/conf/httpd.conf?i

Yep:

<Location /TestError::push_handlers>
    SetHandler modperl      
    PerlResponseHandler TestError::push_handlers
</Location>


> Does it appear when you 
> run t/TEST -conf?

Nope:

nick@fatboy /tmp/build/modperl-2.0>t/TEST -conf
*** cleaning out current configuration
*** reconfiguration done

nick@fatboy /tmp/build/modperl-2.0>ll /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers
ls: /home/tmp/build/modperl-2.0/t/htdocs/TestError::push_handlers: No such file or directory

- nick

~~~~~~~~~~~~~~~~~~~~   
Nick Tonkin   {|8^)>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org