Skip Menu |

This queue is for tickets about the POE-Component-Client-HTTP CPAN distribution.

Report information
The Basics
Id: 13611
Status: resolved
Priority: 0/
Queue: POE-Component-Client-HTTP

People
Owner: Nobody in particular
Requestors: nilsonsfj [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 0.7001
  • 0.78
  • 0.85
  • 0.88
Fixed in: (no value)



Subject: PoCo::Client::HTTP tests fail under Win32
I was going to test another bugfix but I couldn't even install the new CPAN version, since the majority of the tests failed (one test in PoCo::Client::Keepalive also failed, which is a dependency). Some tests were eating up 100% CPU for more than ten minutes when I decided to kill them manually. These tests were t\03_head_filter and t\04_chunk_filter. The "make test" error log follows: Running make test Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. K:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'bl ib\lib', 'blib\arch')" t\01_request.t t\02_keepalive.t t\03_head_filter.t t\04_c hunk_filter.t t\05_request.t t\06_factory.t t\01_request.........ok 1/13Unable to set blocking mode on socket: at K:/Perl/s ite/lib/POE/Component/SSLify.pm line 69. # Looks like you planned 13 tests but only ran 1. # Looks like your test died just after 1. Please mail the following information to bug-POE@rt.cpan.org: <dt> Cannot resolve ``POE::Component::Client::Keepalive=ARRAY(0x2306990)'' into a session reference at K:/Perl/site/lib/POE/Component/Client/Keepalive.pm line 6 21 POE::Component::Client::Keepalive::shutdown('POE::Component::Client::Kee palive=ARRAY(0x2306990)') called at t\01_request.t line 123 main::client_stop('undef', 'POE::Session=ARRAY(0x230eaec)', 'POE::Kernel =ARRAY(0x1b078c0)', 'HASH(0x230ea74)', '_stop', 'POE::Session=ARRAY(0x23070ec)', 'undef', 'K:/Perl/site/lib/POE/Resource/Sessions.pm', 483, ...) called at K:/Pe rl/site/lib/POE/Session.pm line 623 POE::Session::_invoke_state('POE::Session=ARRAY(0x230eaec)', 'POE::Sessi on=ARRAY(0x23070ec)', '_stop', 'ARRAY(0x230ea14)', 'K:/Perl/site/lib/POE/Resourc e/Sessions.pm', 483, 1120879253.23922) called at K:/Perl/site/lib/POE/Kernel.pm line 939 POE::Kernel::_dispatch_event('POE::Kernel=ARRAY(0x1b078c0)', 'POE::Sessi on=ARRAY(0x230eaec)', 'POE::Session=ARRAY(0x23070ec)', '_stop', 8, 'ARRAY(0x230e a14)', 'K:/Perl/site/lib/POE/Resource/Sessions.pm', 483, 1120879253.23922, ...) called at K:/Perl/site/lib/POE/Resource/Sessions.pm line 480 POE::Kernel::_data_ses_stop('POE::Kernel=ARRAY(0x1b078c0)', 'POE::Sessio n=ARRAY(0x230eaec)') called at K:/Perl/site/lib/POE/Resource/Sessions.pm line 43 2 POE::Kernel::_data_ses_collect_garbage('POE::Kernel=ARRAY(0x1b078c0)', ' POE::Session=ARRAY(0x230eaec)') called at K:/Perl/site/lib/POE/Kernel.pm line 21 96 POE::Kernel::refcount_decrement('POE::Kernel=ARRAY(0x1b078c0)', 7, 'anon _event') called at K:/Perl/site/lib/POE/Session.pm line 840 POE::Session::AnonEvent::DESTROY('POE::Session::AnonEvent=CODE(0x230ed20 )') called at t\01_request.t line 0 eval {...} called at t\01_request.t line 0 t\01_request.........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 2-13 Failed 12/13 tests, 7.69% okay t\02_keepalive.......ok t\03_head_filter.....dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED tests 2-8 Failed 7/8 tests, 12.50% okay t\04_chunk_filter....dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED tests 2-8 Failed 7/8 tests, 12.50% okay t\05_request.........ok t\06_factory.........ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t\01_request.t 255 65280 13 24 184.62% 2-13 t\03_head_filter.t 1 256 8 14 175.00% 2-8 t\04_chunk_filter.t 1 256 8 14 175.00% 2-8 Failed 3/6 test scripts, 50.00% okay. 26/57 subtests failed, 54.39% okay. --- Perl version: This is perl, v5.8.7 built for MSWin32-x86-multi-thread (with 7 registered patches, see perl -V for more detail) Copyright 1987-2005, Larry Wall Binary build 813 [148120] provided by ActiveState http://www.ActiveState.com ActiveState is a division of Sophos. Built Jun 6 2005 13:36:37
[NILSONSFJ - Fri Jul 8 23:26:22 2005]: Show quoted text
> I was going to test another bugfix but I couldn't even install the new > CPAN version, since the majority of the tests failed (one test in > PoCo::Client::Keepalive also failed, which is a dependency). > > Some tests were eating up 100% CPU for more than ten minutes when I > decided to kill them manually. These tests were t\03_head_filter > and t\04_chunk_filter.
PoCo::Client::Keepalive depends on PoCo::SSLify, which needs Net::SSLeay, which needs the OpenSSL library from www.openssl.org. This mess of dependencies has become more than I can support currently: I don't have a C compiler suitable for use with ActiveState perl, and ActiveState doesn't have a PPM distribution for Net::SSLeay. I won't close the ticket, but I can't address it at this time. It will hang around until my Windows development environment improves, or until someone with more resources can provide a patch. Thanks for the report. Expect further news as it eventually happens.
From: Alexandr Ciornii <alexchorny [...] gmail.com>
On Jul 30 17:11:26 2005, RCAPUTO wrote: Show quoted text
> PoCo::Client::Keepalive depends on PoCo::SSLify, which needs > Net::SSLeay, which needs the OpenSSL library from www.openssl.org. This > mess of dependencies has become more than I can support currently: I > don't have a C compiler suitable for use with ActiveState perl, and > ActiveState doesn't have a PPM distribution for Net::SSLeay.
You can use my repository. http://chorny.net/perlmod/ . Download lib-openssl-0.01.zip and Net_SSLeay.pm-1.30.zip . Install lib-openssl-0.01.zip first. Tests hangs with POE::Component::Client::HTTP 0.78. Also you can try Vanilla Perl. Then you should install libwin first as libwin is not listed in POE prerequisites. But tests fail without it. ------- Alexandr Ciornii, http://chorny.net
This scenario still seems to be present in more recent releases of ActivePerl, POE, etc. My scenario: * Win32 x86 (Windows XP SP2) * ActivePerl 5.8.8.820, installed from MSI * PPMs of note installed (downloaded from http://ppm4.activestate.com/MSWin32-x86/5.8/820/ so I can script the install): Array-IntSpan, DateManip, Mail-Sendmail, Module-Build, YAML, Net-IP, Net-DNS. Versions of potential interest: HTTP::Response - 1.53 HTTP::Request - 1.40 Net::IP - 1.25 Net::DNS - 0.59 I built a PPM for POE 0.9989 by downloading the tar.gz from CPAN, expanding, nmake test (using nmake 1.5), stripping blib/bin, blib/man1, blib/man3, and blib/script, creating a tar.gz from blib, then rolling a ppd file. This PPM was then installed. I did the same for POE-Component-Client-DNS 1.00 and POE-Component- Client-Keepalive 0.1000. In all the above cases, the nmake test routines were either passed 100% or reported a few skipped tests but were otherwise good. My attempts to do nmake test for PoCo::Client::HTTP, however, are resulting in hanging tests. I am setting HTTP_Proxy because I'm behind a proxy server. I had to kill the perl processes for 03_head_filter, 04_chunk_filter, 51_santos_status, and 55_reiss_double_resp (they were hanging while using 100% of the CPU in the first three cases, hanging indefinitely with low CPU utilization in the last case). I am seeing: t/01_request..............ok t/02_keepalive............ok t/03_head_filter..........dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED tests 2-8 Failed 7/8 tests, 12.50% okay t/04_chunk_filter.........dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED tests 2-9 Failed 8/9 tests, 11.11% okay t/05_request..............ok t/06_factory..............ok t/07_proxy................ok t/08_discard..............ok t/09_bad_scheme...........ok t/10_shutdown.............ok t/11_cancel...............ok t/12_pod..................skipped all skipped: Test::Pod 1.14 required for testing POD t/13_pod_coverage.........skipped all skipped: Test::Pod::Coverage 1.04 required for testing POD coverage t/14_gzipped_content......ok t/50_davis_zerolength.....ok t/51_santos_status........dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED tests 2-4 Failed 3/4 tests, 25.00% okay t/52_reiss_bad_length.....ok t/53_response_parser......ok t/54_hzheng_head_redir....ok t/55_reiss_double_resp....ok 1/9 # Failed test 'response status is OK' # in t/55_reiss_double_resp.t at line 171. t/55_reiss_double_resp....dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 6 Failed 1/9 tests, 88.89% okay t/56_redirect_excess......ok t/57_joel_immed_cancel....ok t/58_joel_cancel_multi....ok Failed Test Stat Wstat Total Fail Failed List of Failed ----------------------------------------------------------------------- -------- t/03_head_filter.t 1 256 8 14 175.00% 2-8 t/04_chunk_filter.t 1 256 9 16 177.78% 2-9 t/51_santos_status.t 1 256 4 6 150.00% 2-4 t/55_reiss_double_resp.t 1 256 9 1 11.11% 6 2 tests skipped. Failed 4/23 test scripts, 82.61% okay. 19/126 subtests failed, 84.92% okay. Some observations: * The only tests that appear to use Filter::HTTPHead are 03_head_filter, 04_chunk_filter, and 51_santos_status. These are the only three that are hanging in an 100% CPU utilization loop. * 51_santos_status looks like a cut down version of 03_head_filter. Perhaps it is an earlier version? * The 55_reiss_double_resp issue may be unrelated to the other three. Given that most of the tests are passing and that the problems seem to be linked to Filter::HTTPHead (which I am unlikely to use) and the socket reuse scenario, I'm planning on packaging it up as is and keeping my fingers crossed (well, regression testing all of my code). :-) --Toby Ovod-Everett tovod-everett@alascom.att.com
From: melazyboy [...] gmail.com
This bug is still present today August 6th, 2008 using Strawberry perl, can we get this fixed pleaseā€½ It just hangs.
On Tue May 22 18:00:07 2007, TEVERETT wrote: Show quoted text
> t/03_head_filter.t 1 256 8 14 175.00% 2-8 > t/04_chunk_filter.t 1 256 9 16 177.78% 2-9 > t/51_santos_status.t 1 256 4 6 150.00% 2-4 > t/55_reiss_double_resp.t 1 256 9 1 11.11% 6 > 2 tests skipped. > Failed 4/23 test scripts, 82.61% okay. 19/126 subtests failed, 84.92% > okay.
Fixes for these have been committed over time. The last will go out in the next release. Thanks for reporting this problem.
On Tue Oct 03 05:45:13 2006, alexchorny@gmail.com wrote: Show quoted text
> On Jul 30 17:11:26 2005, RCAPUTO wrote:
> > PoCo::Client::Keepalive depends on PoCo::SSLify, which needs > > Net::SSLeay, which needs the OpenSSL library from www.openssl.org. This > > mess of dependencies has become more than I can support currently: I > > don't have a C compiler suitable for use with ActiveState perl, and > > ActiveState doesn't have a PPM distribution for Net::SSLeay.
> > You can use my repository. http://chorny.net/perlmod/ . Download > lib-openssl-0.01.zip and Net_SSLeay.pm-1.30.zip . Install > lib-openssl-0.01.zip first. > > Tests hangs with POE::Component::Client::HTTP 0.78. > > Also you can try Vanilla Perl. Then you should install libwin first as > libwin is not listed in POE prerequisites. But tests fail without it.
The installer in the latest lib-openssl-*.zip at http://chorny.net/perlmod will not install: C:\Users\rcaputo\tmp>ppm install lib-openssl.ppd ppm install failed: The PPD does not provide code to install for this platform Strawberry perl's cpan shell won't install Net::SSLeay without the OpenSSL libraries installed. I am currently using Strawberry Perl 5.10.0 and ActivePerl 5.10.1. I'm unaware how well they work with your builds targeting ActivePerl 5.8.7.813. Knowing the Windows platform, it makes me nervous. Once again, I'm aware there may be issues in this module, but I'm still unable to reproduce them and begin working on a resolution. Patches from people who can get all this to work are very much welcome.
I've made several Windows fixes in the tests this week, and the test suite runs to completion under Strawberry Perl.
By "in the test suite", I mean in the repository. I'm trying to clear up some more RT tickets before releasing.