Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Test-SharedFork CPAN distribution.

Report information
The Basics
Id: 79226
Status: open
Priority: 0/
Queue: Test-SharedFork

People
Owner: Nobody in particular
Requestors: CHORNY [...] cpan.org
kes-kes [...] yandex.ru
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 0.20
  • 0.21
  • 0.28
Fixed in: (no value)



Subject: Test never end under cygwin
Running install for module 'Test::SharedFork' Running make for T/TO/TOKUHIROM/Test-SharedFork-0.20.tar.gz Checksum for /home/1/.cpan/sources/authors/id/T/TO/TOKUHIROM/Test-SharedFork-0.20.tar.gz ok CPAN.pm: Going to build T/TO/TOKUHIROM/Test-SharedFork-0.20.tar.gz Checking if your kit is complete... Looks good Writing Makefile for Test::SharedFork Writing MYMETA.yml and MYMETA.json cp lib/Test/SharedFork.pm blib/lib/Test/SharedFork.pm cp lib/Test/SharedFork/Array.pm blib/lib/Test/SharedFork/Array.pm cp lib/Test/SharedFork/Store.pm blib/lib/Test/SharedFork/Store.pm cp lib/Test/SharedFork/Scalar.pm blib/lib/Test/SharedFork/Scalar.pm Manifying blib/man3/Test.SharedFork.3pm TOKUHIROM/Test-SharedFork-0.20.tar.gz make -- OK Running make test PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/*/*.t t/*/*/*.t t/00_compile.t ........... 1/1 # Test::Builder::VERSION: 0.98 t/00_compile.t ........... ok t/01_simple.t ............ that test never end in cygwin environment
I see this same problem in Cygwin. Note that the tests passed recently for me when installing this module in Cygwin about 1 month ago. Sometime in the last month something in Cygwin changed, causing this problem. The module itself has not changed in that time period. I completely reinstalled Cygwin from scratch and the problems still occur. Likely this is a bug within Cygwin itself and not this module.
On Fri Oct 12 13:17:09 2012, CODECHILD wrote: Show quoted text
> I see this same problem in Cygwin. Note that the tests passed recently > for me when installing this module in Cygwin about 1 month ago. Sometime > in the last month something in Cygwin changed, causing this problem. The > module itself has not changed in that time period. > > I completely reinstalled Cygwin from scratch and the problems still occur. > > Likely this is a bug within Cygwin itself and not this module.
I had the same problem. I could narrow it down to the following Cygwin modules I updated two weeks ago: _autorebase/_autorebase-000214-1.tar.bz2 _update-info-dir/_update-info-dir-01109-1.tar.bz2 binutils/binutils-2.23.1-1.tar.bz2 gamin/gamin-0.1.10-13.tar.bz2 X11/cairo/libcairo2/libcairo2-1.12.14-1.tar.bz2 gamin/libfam0/libfam0-0.1.10-13.tar.bz2 lcms/liblcms1/liblcms1-1.19-3.tar.bz2 llvm/libllvm3.1/libllvm3.1-3.1-3.tar.bz2 ming/libming1/libming1-0.4.4-3.tar.bz2 openssl/libopenssl100/libopenssl100-1.0.1e-2.tar.bz2 GNOME/libxml2/libxml2-2.9.0-2.tar.bz2 openssl/openssl-1.0.1e-2.tar.bz2 openssl/openssl-devel/openssl-devel-1.0.1e-2.tar.bz2 perl/perl-DBI/perl-DBI-1.623-2.tar.bz2 sqlite3/sqlite3-3.7.13-1.tar.bz2 w32api/w32api-headers/w32api-headers-3.0b_svn5591-1.tar.bz2 w32api/w32api-runtime/w32api-runtime-3.0b_svn5591-1.tar.bz2 X.Org/xorg-server/xorg-server-1.13.2-2.tar.bz2 X.Org/xorg-server/xorg-server-common/xorg-server-common-1.13.2-2.tar.bz2 X11/xterm/xterm-291-1.tar.bz2
Subject: Re: [rt.cpan.org #79226] Test never end under cygwin
Date: Tue, 9 Apr 2013 07:59:14 +0900
To: bug-Test-SharedFork [...] rt.cpan.org
From: Tokuhiro Matsuno <tokuhirom [...] gmail.com>
I don't have a cygwin environment. Patches welcome. -- tokuhirom On Mon, Apr 8, 2013 at 11:22 PM, Paul Boldra via RT < bug-Test-SharedFork@rt.cpan.org> wrote: Show quoted text
> Queue: Test-SharedFork > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=79226 > > > On Fri Oct 12 13:17:09 2012, CODECHILD wrote:
> > I see this same problem in Cygwin. Note that the tests passed recently > > for me when installing this module in Cygwin about 1 month ago. Sometime > > in the last month something in Cygwin changed, causing this problem. The > > module itself has not changed in that time period. > > > > I completely reinstalled Cygwin from scratch and the problems still
> occur.
> > > > Likely this is a bug within Cygwin itself and not this module.
> > I had the same problem. I could narrow it down to the following Cygwin > modules I updated two weeks ago: > > _autorebase/_autorebase-000214-1.tar.bz2 > _update-info-dir/_update-info-dir-01109-1.tar.bz2 > binutils/binutils-2.23.1-1.tar.bz2 > gamin/gamin-0.1.10-13.tar.bz2 > X11/cairo/libcairo2/libcairo2-1.12.14-1.tar.bz2 > gamin/libfam0/libfam0-0.1.10-13.tar.bz2 > lcms/liblcms1/liblcms1-1.19-3.tar.bz2 > llvm/libllvm3.1/libllvm3.1-3.1-3.tar.bz2 > ming/libming1/libming1-0.4.4-3.tar.bz2 > openssl/libopenssl100/libopenssl100-1.0.1e-2.tar.bz2 > GNOME/libxml2/libxml2-2.9.0-2.tar.bz2 > openssl/openssl-1.0.1e-2.tar.bz2 > openssl/openssl-devel/openssl-devel-1.0.1e-2.tar.bz2 > perl/perl-DBI/perl-DBI-1.623-2.tar.bz2 > sqlite3/sqlite3-3.7.13-1.tar.bz2 > w32api/w32api-headers/w32api-headers-3.0b_svn5591-1.tar.bz2 > w32api/w32api-runtime/w32api-runtime-3.0b_svn5591-1.tar.bz2 > X.Org/xorg-server/xorg-server-1.13.2-2.tar.bz2 > X.Org/xorg-server/xorg-server-common/xorg-server-common-1.13.2-2.tar.bz2 > X11/xterm/xterm-291-1.tar.bz2 > > >
I notices that test hangs in ok() in t/01_simple.t in parent & childs in random circles. I am sure that problem with flushing buffers of tty in Test::More I described problem here: https://github.com/schwern/test-more/issues/379
I researched problem of hanging in tests Hanging occurs in Test::More line 295 (v0.98 of Test::More) sub ok ($;$) { my( $test, $name ) = @_; my $tb = Test::More->builder; return $tb->ok( $test, $name ); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } This occurs in parent & child in random circle 'for ()' of 01_simple.t or next test file if 01_simple.t randomly passed. There is very strange behavior: A child or parent process stops somewhere between execution of 'ok' and code's body of Test::Builder::ok. I installed in my tests a logging of checkpoints to my own file in Test::More files and i saw that execution of $tb->ok( $test, $name ) occurs but a run stream not entered to Test::Builder::ok. And after this processes are stopped and hanging in Windows as alone processes (parent has PID as 1, and child as PID of parent PID) May be this behavior occurs because Cygwin/Perl doesn't work correctly with shared memory or/and code segments after forking. I saw that address (reference) of Test::Builder::ok is same for both processes. It's ok for Unix. May be they cannot separate a shared memory to not-shared one if variables are changed after forking. But i think this is problem of low-level programming. I cannot trace more deeply this :(
Here my branch with debug checkpoints Somebody will be able to check yourself https://github.com/Perlover/test-more/commits/perlover/logging_points_v0.98 How to reproduce: Install Test::More from above branch Under Cygwin to make for Test::SharedFork distributive: perl Makefile.PL && make test And after there will be log in /tmp/test-more.txt file My last log file is attached here: Best regards
Subject: test-more.txt
pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 7492 ] p_13 pid [ 12308 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_14 pid [ 7492 ] p_13 pid [ 12308 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_14 pid [ 7492 ] p_10 pid [ 12308 ] p_13 pid [ 7492 ] p_13 pid [ 12308 ] p_14 pid [ 7492 ] p_14 pid [ 7492 ] p_11, (1, parent 1) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 12308 ] p_10 pid [ 7492 ] p_11_a pid [ 12308 ] p_13 pid [ 12308 ] p_14 pid [ 12308 ] p_11, (1, child 1) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 7492 ] p_1_a pid [ 12308 ] p_11_a pid [ 7492 ] p_1 pid [ 7492 ] p_2 pid [ 7492 ] p_3 pid [ 7492 ] p_4 pid [ 7492 ] p_5 pid [ 7492 ] p_6 pid [ 7492 ] p_7 pid [ 7492 ] p_8 pid [ 7492 ] p_9 pid [ 7492 ] p_12 - 1 pid [ 7492 ] p_13 pid [ 12308 ] p_1_a pid [ 7492 ] p_14 pid [ 12308 ] p_1 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_2 pid [ 12308 ] p_3 pid [ 12308 ] p_4 pid [ 12308 ] p_5 pid [ 12308 ] p_6 pid [ 12308 ] p_7 pid [ 12308 ] p_8 pid [ 12308 ] p_9 pid [ 12308 ] p_12 - 1 pid [ 12308 ] p_13 pid [ 12308 ] p_14 pid [ 12308 ] p_13 pid [ 12308 ] p_14 pid [ 7492 ] p_13 pid [ 12308 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_14 pid [ 7492 ] p_13 pid [ 12308 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_14 pid [ 7492 ] p_10 pid [ 12308 ] p_10 pid [ 7492 ] p_13 pid [ 12308 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_14 pid [ 7492 ] p_11, (1, parent 2) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 12308 ] p_11, (1, child 2) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 7492 ] p_11_a pid [ 12308 ] p_11_a pid [ 7492 ] p_1_a pid [ 7492 ] p_1 pid [ 7492 ] p_2 pid [ 7492 ] p_3 pid [ 7492 ] p_4 pid [ 7492 ] p_5 pid [ 7492 ] p_6 pid [ 7492 ] p_7 pid [ 7492 ] p_8 pid [ 7492 ] p_9 pid [ 7492 ] p_12 - 1 pid [ 7492 ] p_13 pid [ 12308 ] p_1_a pid [ 7492 ] p_14 pid [ 12308 ] p_1 pid [ 7492 ] p_13 pid [ 12308 ] p_2 pid [ 7492 ] p_14 pid [ 12308 ] p_3 pid [ 12308 ] p_4 pid [ 12308 ] p_5 pid [ 12308 ] p_6 pid [ 12308 ] p_7 pid [ 12308 ] p_8 pid [ 12308 ] p_9 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_12 - 1 pid [ 7492 ] p_13 pid [ 12308 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_14 pid [ 7492 ] p_10 pid [ 12308 ] p_13 pid [ 7492 ] p_13 pid [ 12308 ] p_14 pid [ 7492 ] p_14 pid [ 7492 ] p_11, (1, parent 3) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 7492 ] p_11_a pid [ 7492 ] p_1_a pid [ 7492 ] p_1 pid [ 7492 ] p_2 pid [ 7492 ] p_3 pid [ 7492 ] p_4 pid [ 7492 ] p_5 pid [ 7492 ] p_6 pid [ 7492 ] p_7 pid [ 7492 ] p_8 pid [ 7492 ] p_9 pid [ 7492 ] p_12 - 1 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_13 pid [ 7492 ] p_13 pid [ 12308 ] p_14 pid [ 7492 ] p_14 pid [ 12308 ] p_13 pid [ 7492 ] p_10 pid [ 12308 ] p_14 pid [ 7492 ] p_13 pid [ 12308 ] p_10 pid [ 7492 ] p_14 pid [ 7492 ] p_11, (1, parent 4) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 12308 ] p_13 pid [ 7492 ] p_11_a pid [ 12308 ] p_14 pid [ 12308 ] p_11, (1, child 3) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 12308 ] p_11_a pid [ 7492 ] p_1_a pid [ 7492 ] p_1 pid [ 7492 ] p_2 pid [ 7492 ] p_3 pid [ 7492 ] p_4 pid [ 7492 ] p_5 pid [ 7492 ] p_6 pid [ 7492 ] p_7 pid [ 7492 ] p_8 pid [ 7492 ] p_9 pid [ 7492 ] p_12 - 1 pid [ 7492 ] p_13 pid [ 12308 ] p_1_a pid [ 12308 ] p_1 pid [ 7492 ] p_14 pid [ 7492 ] p_13 pid [ 12308 ] p_2 pid [ 7492 ] p_14 pid [ 12308 ] p_3 pid [ 12308 ] p_4 pid [ 12308 ] p_5 pid [ 12308 ] p_6 pid [ 12308 ] p_7 pid [ 12308 ] p_8 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_9 pid [ 7492 ] p_13 pid [ 12308 ] p_12 - 1 pid [ 7492 ] p_14 pid [ 12308 ] p_13 pid [ 7492 ] p_10 pid [ 12308 ] p_14 pid [ 7492 ] p_13 pid [ 12308 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_14 pid [ 7492 ] p_11, (1, parent 5) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 7492 ] p_11_a pid [ 7492 ] p_1_a pid [ 7492 ] p_1 pid [ 7492 ] p_2 pid [ 7492 ] p_3 pid [ 7492 ] p_4 pid [ 7492 ] p_5 pid [ 7492 ] p_6 pid [ 7492 ] p_7 pid [ 7492 ] p_8 pid [ 7492 ] p_9 pid [ 7492 ] p_12 - 1 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_13 pid [ 7492 ] p_13 pid [ 12308 ] p_14 pid [ 12308 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_14 pid [ 7492 ] p_13 pid [ 7492 ] p_14 pid [ 12308 ] p_10 pid [ 12308 ] p_13 pid [ 7492 ] p_10 pid [ 12308 ] p_14 pid [ 7492 ] p_13 pid [ 12308 ] p_11, (1, child 4) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 7492 ] p_14 pid [ 12308 ] p_11_a pid [ 7492 ] p_11, (1, parent 6) ref = Test::Builder, Test::Builder=HASH(0x800857e0), CODE(0x802f61c0) pid [ 7492 ] p_11_a
From: tzccinct+bitcard [...] gmail.com
I had the same issue but today I have confirmed the tests pass more than once on the following latest environment: - Test-SharedFork 0.28 - Cygwin DLL 1.7.32 - Test-More (Test-Simple) 1.001006
From: tzccinct+bitcard [...] gmail.com
Show quoted text
> I had the same issue but today I have confirmed the tests pass more > than once on the following latest environment: > > - Test-SharedFork 0.28 > - Cygwin DLL 1.7.32 > - Test-More (Test-Simple) 1.001006
On Test-SharedFork 0.29, I have experienced this issue again.