in reply to problems installing WWW::Mechanize::PhantomJS

I think it's Test::TCP that is broken on Windows. It relies on fork(), and I don't think that sockets and fork() play well under plain Win32. You seem to be using Cygwin, so maybe the problem lies elsewhere, but maybe the problems extend from plain Win32 to Cygwin as well.

My approach to debugging this would be to run the Test::TCP tests in isolation:

> cpanm --look Test::TCP C:\...Test-TCP> perl Makefile.PL C:\...Test-TCP> make test C:\...Test-TCP> perl -Ilib t\test-that-hung-or-failed.t ... debug the test C:\...Test-TCP> make install

Replies are listed 'Best First'.
Re^2: problems installing WWW::Mechanize::PhantomJS
by Special_K (Pilgrim) on Jul 09, 2014 at 03:08 UTC

    I followed your instructions and here is the result:



    perl Makefile.PL cp META.json MYMETA.json cp META.yml MYMETA.yml Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Test::TCP /home/user/.cpanm/work/1404793946.7456/Test-TCP-2.06[102]> make test cp lib/Test/TCP/CheckPort.pm blib/lib/Test/TCP/CheckPort.pm cp lib/Net/EmptyPort.pm blib/lib/Net/EmptyPort.pm cp lib/Test/TCP.pm blib/lib/Test/TCP.pm PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-MTest: +:Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib +/lib', 'blib/arch')" t/*.t t/00_compile.t ................. 1/1 # Test::More: 0.98 t/00_compile.t ................. ok t/01_simple.t .................. empty port not found at /home/user/.c +panm/work/1404793946.7456/Test-TCP-2.06/blib/lib/Net/EmptyPort.pm lin +e 37. # Looks like your test exited with 255 before it could output anything +. t/01_simple.t .................. Dubious, test returned 255 (wstat 652 +80, 0xff00) Failed 22/22 subtests t/02_abrt.t .................... empty port not found at /home/user/.c +panm/work/1404793946.7456/Test-TCP-2.06/blib/lib/Net/EmptyPort.pm lin +e 37. # Looks like your test exited with 255 before it could output anything +. t/02_abrt.t .................... Dubious, test returned 255 (wstat 652 +80, 0xff00) Failed 2/2 subtests t/03_return_when_sigterm.t ..... empty port not found at /home/user/.c +panm/work/1404793946.7456/Test-TCP-2.06/blib/lib/Net/EmptyPort.pm lin +e 37. # Looks like your test exited with 255 before it could output anything +. t/03_return_when_sigterm.t ..... Dubious, test returned 255 (wstat 652 +80, 0xff00) Failed 2/2 subtests t/04_die.t ..................... 1/3 # Failed test at t/04_die.t line 25. # 'empty port not found at /home/user/.cpanm/work/14 +04793946.7456/Test-TCP-2.06/blib/lib/Net/EmptyPort.pm line 37. # ' # doesn't match '(?^:sinamon)' Can't kill a non-numeric process ID at t/04_die.t line 26. # Looks like you planned 3 tests but ran 2. # Looks like you failed 1 test of 2 run. # Looks like your test exited with 255 just after 2. t/04_die.t ..................... Dubious, test returned 255 (wstat 652 +80, 0xff00) Failed 2/3 subtests t/05_sigint.t .................. 1/2 # $Config{sig_name}: ZERO HUP INT + QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP + TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 US +R2 RTMAX CLD POLL PWR RTMIN # CHILD_ERROR_NATIVE: 2 # $?: 2 t/05_sigint.t .................. ok t/06_nest.t .................... empty port not found at /home/user/.c +panm/work/1404793946.7456/Test-TCP-2.06/blib/lib/Net/EmptyPort.pm lin +e 37. # Looks like your test exited with 255 before it could output anything +. t/06_nest.t .................... Dubious, test returned 255 (wstat 652 +80, 0xff00) Failed 1/1 subtests t/07_optional.t ................ ok t/08_exit.t ....................


    I'm seeing a lot of "empty port not found" messages. Do you know what the problem could be?

      I'm seeing a lot of "empty port not found" messages. Do you know what the problem could be?

      Maybe you have some kind of firewall running? Maybe you need to run this test as root due to too-low port number or some such :/

        I tried rerunning it with my PC assigned to my router's DMZ (i.e. all ports open) and the output was exactly the same.