Skip Menu |

This queue is for tickets about the POE CPAN distribution.

Report information
The Basics
Id: 96039
Status: open
Priority: 0/
Queue: POE

People
Owner: Nobody in particular
Requestors:
Cc:
AdminCc:

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



Subject: Installation hangs and fails on cygwin
Date: Wed, 28 May 2014 20:44:13 +0200
To: bug-POE [...] rt.cpan.org
From: Anonymous <anon [...] example.com>
Hi there, i have cygwin installed on a Windows 7 Home Premium x64 machine. Building POE fails with a timeout or hangs on terminal without returning to the prompt, using "cpanm --verbose POE". Attached you can find the output from "perl -V" and the build log. Thanks. -- Anonymous

Message body is not shown because sender requested not to inline it.

Message body is not shown because sender requested not to inline it.

Subject: Re: [rt.cpan.org #96039] AutoReply: Installation hangs and fails on cygwin
Date: Wed, 28 May 2014 21:05:50 +0200
To: bug-POE [...] rt.cpan.org
From: Anonymous <removed [...] example.com>
I forgot to include the last lines from terminal when process hangs and ctrl-c is pressed. t/90_regression/neyuki_detach.t .................... ok t/90_regression/pipe-followtail.t .................. 1/3 Makefile:1159: recipe for target 'test_dynamic' failed make: *** [test_dynamic] Interrupt
On Wed May 28 14:44:19 2014, removed@example.com wrote: Show quoted text
> Hi there, > i have cygwin installed on a Windows 7 Home Premium x64 machine. > > Building POE fails with a timeout or hangs on terminal without returning > to the prompt, using "cpanm --verbose POE".
Thank you. I've corrected a hanging bug for 64bit ActivePerl. I don't know if it's the same hanging bug you're seeing, though. The log isn't very clear about what timed out.
From: daniel [...] bowlhat.net
Show quoted text
> The log isn't very clear about what timed out.
I've just hit this issue. The hang is at the same place mentioned in a previous comment: t/90_regression/pipe-followtail.t .................. 1/3 This is with cygwin installed as of today (12 May 2015) and attempting to install POE 1.366 it would seem that this line in t/90_regression/pipe-followtail.t never returns: close $fh or die "close failed: $!"; I verified this by including prints to STDERR after each call referencing the fifo or it's file handle ($fh). I'm wondering if it's maybe related to this cygwin issue from years ago: https://cygwin.com/ml/cygwin/2006-06/msg00652.html specifically that thread suggests there was a race condition with forked processes accessing the same fifo (where one side of the fork was reading and the other writing). However they do state that a fix was applied for that particular issue so I'm unsure. I hope this may help but I'm lost now. (I'm just venturing back into Perl after many many years of PHP so I'm effectively a n00b :-p)
On Mon May 11 23:13:29 2015, https://launchpad.net/~diddledan wrote: Show quoted text
> > The log isn't very clear about what timed out.
[...] Show quoted text
> it would seem that this line in t/90_regression/pipe-followtail.t > never returns: > > close $fh or die "close failed: $!";
I don't think this is related to the bug you cited. Cygwin is probably waiting for the read side of the FIFO to reach EOF before close() will return. But since the reader is in the same process, and it's blocked on close(), that will never happen. However, non-Cygwin systems require data to be flushed to the FIFO before it will be available to the reader. I've committed a compromise where $fh->autoflush(1) is set but the filehandle isn't closed until the end of the test. This works on my non-Cygwin test machine, but I haven't tried it on Windows. It may just make the test hang differently. I'll leave this ticket open and keep an eye on the Cygwin test results. Please let me know whether this works for you.