Skip Menu |

This queue is for tickets about the Plack-App-Proxy CPAN distribution.

Report information
The Basics
Id: 80445
Status: resolved
Priority: 0/
Queue: Plack-App-Proxy

People
Owner: Nobody in particular
Requestors: kpee.cpanx [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: 'Guard' makes a test go wrong.
Date: Sun, 28 Oct 2012 14:43:02 +0900
To: bug-Plack-App-Proxy [...] rt.cpan.org
From: "kpee.cpanx" <kpee.cpanx [...] gmail.com>
Dear, maintainers. Installation goes wrong on Windows XP. It seems that it will happen if 'Guard' ver.1.0 or heigher is installed. I cannot judge whether a true cause is 'Guard', of course it's because 'Guard' is not used for P::A::Proxy.(And you know the author of 'Guard' is the MLEHMANN... how to explain to him this ...) There is possibility of that a cause is 'AnyEvent(::HTTP)' or 'Plack::*::AnyEvent*'. regards, kpee ================================================= OS: Windows XP sp3 (MSWin32-x86-multi-thread) Perl Version: 5.16.1 (Strawberry Perl) Module Version: Plack::App::Proxy 0.22 Test::Requires 0.06 Plack 1.0009 IO::Socket::INET 1.33 ExtUtils::MakeMaker 6.6302 AnyEvent::HTTP 2.14 Test::More 0.98 Test::TCP 1.17 LWP::UserAgent 6.04 HTTP::Headers 6.00 Case 1: test without 'Guard' @dmake test C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/00-load.t ......................... 1/1 # Testing Plack::App::Proxy 0.22, Perl 5.016001, C:\strawberry\perl\bin\perl.exe t/00-load.t ......................... ok t/basic.t ........................... ok t/deflate.t ......................... skipped: Test requires module 'Plack::Middleware::Deflater' but it's not found t/filter_headers.t .................. ok t/middleware/addvia.t ............... ok t/middleware/connect.t .............. ok t/middleware/loadbalancer.t ......... ok t/middleware/rewrite-auto_guess.t ... ok t/middleware/rewrite-guess_fails.t .. ok t/middleware/rewrite.t .............. ok t/status.t .......................... ok All tests successful. Files=11, Tests=131, 205 wallclock secs ( 0.27 usr + 0.17 sys = 0.44 CPU) Result: PASS Case 2: test with 'Guard-0.5'(from BackPAN) All tests are PASSed.(Result is the same as the above) Case 3: test with 'Guard-1.0'(from BackPAN) @dmake test C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/00-load.t ......................... 1/1 # Testing Plack::App::Proxy 0.22, Perl 5.016001, C:\strawberry\perl\bin\perl.exe t/00-load.t ......................... ok t/basic.t ........................... ok t/deflate.t ......................... skipped: Test requires module 'Plack::Middleware::Deflater' but it's not found t/filter_headers.t .................. ok t/middleware/addvia.t ............... ok t/middleware/connect.t .............. Free to wrong pool 14596e0 not 4b5f90 at D:\_test_perl5\deps\lib\perl5/MSWin32-x86-multi- thread/AnyEvent/Loop.pm line 248. t/middleware/connect.t .............. Dubious, test returned 5 (wstat 1280, 0x500) All 1 subtests passed t/middleware/loadbalancer.t ......... ok t/middleware/rewrite-auto_guess.t ... ok t/middleware/rewrite-guess_fails.t .. ok t/middleware/rewrite.t .............. ok t/status.t .......................... ok Test Summary Report ------------------- t/middleware/connect.t (Wstat: 1280 Tests: 1 Failed: 0) Non-zero exit status: 5 Parse errors: No plan found in TAP output Files=11, Tests=130, 207 wallclock secs ( 0.28 usr + 0.06 sys = 0.34 CPU) Result: FAIL Failed 1/11 test programs. 0/130 subtests failed. dmake: Error code 255, while making 'test_dynamic' @prove -lbv t\middleware\connect.t t\middleware\connect.t .. Free to wrong pool 1458f68 not 4b5eb8 at D:\_test_perl5\deps\lib\perl5/MSWin32-x86-multi-thread/AnyEvent/Loop.pm line 248. ok 1 Dubious, test returned 5 (wstat 1280, 0x500) All 1 subtests passed Test Summary Report ------------------- t\middleware\connect.t (Wstat: 1280 Tests: 1 Failed: 0) Non-zero exit status: 5 Parse errors: No plan found in TAP output Files=1, Tests=1, 4 wallclock secs ( 0.09 usr + 0.05 sys = 0.14 CPU) Result: FAIL Case 4: test with 'Guard-1.022' FAIL test on the same as Case 3 My Configuration Summary: @perl -V Summary of my perl5 (revision 5 version 16 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='Win32 strawberry-perl 5.16.1.1 #1 Thu Aug 9 09:54:46 2012 i386' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS - DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms- bitfields', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='4.6.3', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" - L"C:\strawberry\c\lib"' libpth=C:\strawberry\c\lib C:\strawberry\c\i686-w64-mingw32\lib libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 - ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr - lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 - ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr - lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 libc=, so=dll, useshrplib=true, libperl=libperl516.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" - L"C:\strawberry\c\lib"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF Built under MSWin32 Compiled at Aug 9 2012 10:03:09 %ENV: PERL5LIB="D:/perl5/lib/perl5" PERL_JSON_BACKEND="JSON::XS" PERL_MB_OPT="--install_base D:\perl5" PERL_MM_OPT="INSTALL_BASE=D:\perl5" PERL_YAML_BACKEND="YAML" @INC: D:/perl5/lib/perl5/MSWin32-x86-multi-thread D:/perl5/lib/perl5 C:/strawberry/perl/site/lib C:/strawberry/perl/vendor/lib C:/strawberry/perl/lib .
Thank you for tracking this down! I've been bothered by the lone failing test on Windows but was unable to test. I've mentioned it to MLEHMANN before but without more details he wasn't able to help. Hopefully he'll be more responsive with these details.
Could you try this workaround and see if it gets the tests passing for you? https://github.com/leedo/Plack-App- Proxy/commit/08c1004fc948bbc82f2d83e681abf7b6a4bdabde Thanks!
Subject: [rt.cpan.org #80445] Re:'Guard' makes a test go wrong.
Date: Sat, 03 Nov 2012 11:39:37 +0900
To: bug-Plack-App-Proxy [...] rt.cpan.org
From: "kpee.cpanx" <kpee.cpanx [...] gmail.com>
At 28 Oct 2012 12:59:24 -0400 Lee Aylward via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=80445 > > > Could you try this workaround and see if it gets the tests passing for you? > > https://github.com/leedo/Plack-App- > Proxy/commit/08c1004fc948bbc82f2d83e681abf7b6a4bdabde > > Thanks!
I tried your code on 'GitHUB'(with 'Guard-1.022'), but test FAIL. Notice that the died module differs from last time. @dmake test C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/00-load.t ......................... 1/1 # Testing Plack::App::Proxy 0.22, Perl 5.016001, C:\strawberry\perl\bin\perl.exe t/00-load.t ......................... ok t/basic.t ........................... ok t/deflate.t ......................... skipped: Test requires module 'Plack::Middleware::Deflater' but it's not found t/filter_headers.t .................. ok t/middleware/addvia.t ............... ok t/middleware/connect.t .............. Free to wrong pool 14569c0 not 4b5e00 at D:/perl5/lib/perl5/MSWin32-x86-multi-thread/AnyEvent/Impl/EV.pm line 88, <> line 2. t/middleware/connect.t .............. Dubious, test returned 5 (wstat 1280, 0x500) All 1 subtests passed t/middleware/loadbalancer.t ......... ok t/middleware/rewrite-auto_guess.t ... ok t/middleware/rewrite-guess_fails.t .. ok t/middleware/rewrite.t .............. ok t/status.t .......................... ok Test Summary Report ------------------- t/middleware/connect.t (Wstat: 1280 Tests: 1 Failed: 0) Non-zero exit status: 5 Parse errors: No plan found in TAP output Files=11, Tests=130, 202 wallclock secs ( 0.20 usr + 0.13 sys = 0.33 CPU) Result: FAIL Failed 1/11 test programs. 0/130 subtests failed. dmake: Error code 255, while making 'test_dynamic'
Thanks for giving it a try. One more thing, could you try running the tests like so: PERL_ANYEVENT_AVOID_GUARD=1 make test Thanks! -- Lee
Subject: [rt.cpan.org #80445] Re: 'Guard' makes a test go wrong.
Date: Sat, 10 Nov 2012 10:44:47 +0900
To: bug-Plack-App-Proxy [...] rt.cpan.org
From: "kpee.cpanx" <kpee.cpanx [...] gmail.com>
At 05 Nov 2012 20:19:21 -0500 Lee Aylward via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=80445 > > > Thanks for giving it a try. One more thing, could you try running the tests
like so: Show quoted text
> > PERL_ANYEVENT_AVOID_GUARD=1 make test > > Thanks! > -- > Lee
I tried, and all tests successful !! @set PERL_ANYEVENT_AVOID_GUARD=1 @dmake test C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/00-load.t ......................... 1/1 # Testing Plack::App::Proxy 0.23, Perl 5.016001, C:\strawberry\perl\bin\perl.exe t/00-load.t ......................... ok t/basic.t ........................... ok t/deflate.t ......................... skipped: Test requires module 'Plack::Middleware::Deflater' but it's not found t/filter_headers.t .................. ok t/middleware/addvia.t ............... ok t/middleware/connect.t .............. ok t/middleware/loadbalancer.t ......... ok t/middleware/rewrite-auto_guess.t ... ok t/middleware/rewrite-guess_fails.t .. ok t/middleware/rewrite.t .............. ok t/status.t .......................... ok All tests successful. Files=11, Tests=131, 202 wallclock secs ( 0.23 usr + 0.11 sys = 0.34 CPU) Result: PASS -- kpee
After discussing this with the AnyEvent author, it sounds like this failure is caused by perl's fork emulation on Win32 and memory corruption. I've disabled this test for MSWin32, so tests should now pass with 0.24.
Subject: [rt.cpan.org #80445]Re: 'Guard' makes a test go wrong.
Date: Sun, 11 Nov 2012 20:43:51 +0900
To: bug-Plack-App-Proxy [...] rt.cpan.org
From: "kpee.cpanx" <kpee.cpanx [...] gmail.com>
At 10 Nov 2012 13:29:36 -0500 Lee Aylward via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=80445 > > > After discussing this with the AnyEvent author, it sounds like this failure
is caused by perl's fork Show quoted text
> emulation on Win32 and memory corruption. I've disabled this test for
MSWin32, so tests should Show quoted text
> now pass with 0.24.
Thank you, Lee. I understand it. kpee