Skip Menu |
Report information
Id: 126707
Status: rejected
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: sergle.ua [at] gmail.com
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: (no value)



Date: Sun, 22 Nov 2015 03:26:38 +0200
From: Sergey Leschenko <sergle.ua [...] gmail.com>
To: perlbug [...] perl.org
Subject: Race condition in test IO/t/io_unix.t
Download (untitled) / with headers
text/plain 526b
When trying to compile perl-5.22.0 on Linux Ubuntu 14.04 inside VirtualBox, make test always gives me:
  Failed 1 test out of 2215, 99.95% okay.
        ../dist/IO/t/io_unix.t

Test is ok when I tried to compile Perl just in Linux without VirtualBox.

Test failed because 'ok 4' is missing from output.
It looks like that closing socket in parent process prevents the child process to read this line. 
So issue can be observed only in some slow environment.

With attached patch all tests passed in VirtualBox VM.


--
Sergey
Download io_unix_test.patch
text/plain 348b

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

RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 837b
On Sat Nov 21 17:27:17 2015, sergle.ua@gmail.com wrote: Show quoted text
> When trying to compile perl-5.22.0 on Linux Ubuntu 14.04 inside VirtualBox, > make test always gives me: > Failed 1 test out of 2215, 99.95% okay. > ../dist/IO/t/io_unix.t > > Test is ok when I tried to compile Perl just in Linux without VirtualBox. > > Test failed because 'ok 4' is missing from output. > It looks like that closing socket in parent process prevents the child > process to read this line. > So issue can be observed only in some slow environment. > > With attached patch all tests passed in VirtualBox VM. > >
Smoke-testing in branch smoke-me/jkeenan/126707-waitpid. In particular, we need to see what the impact of this revision is on the test's performance on OSes other than Linux. Thank you very much. -- James E Keenan (jkeenan@cpan.org)
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 856b
On Sat Nov 21 17:27:17 2015, sergle.ua@gmail.com wrote: Show quoted text
> When trying to compile perl-5.22.0 on Linux Ubuntu 14.04 inside VirtualBox, > make test always gives me: > Failed 1 test out of 2215, 99.95% okay. > ../dist/IO/t/io_unix.t > > Test is ok when I tried to compile Perl just in Linux without VirtualBox. > > Test failed because 'ok 4' is missing from output. > It looks like that closing socket in parent process prevents the child > process to read this line. > So issue can be observed only in some slow environment.
That explanation seems strange on Linux, I know Win32 sockets (which doesn't support UNIX sockets) tends to discard buffered data when the sender closes, but that shouldn't be the case on Linux. I've run make test many times in VirtualBox VMs, though not recently. Updating my Ubuntu VM now for further testing. Tony
Date: Wed, 25 Nov 2015 03:53:09 +0200
Subject: Re: [perl #126707] Race condition in test IO/t/io_unix.t
To: perlbug-followup [...] perl.org
From: Sergey Leschenko <sergle.ua [...] gmail.com>
Download (untitled) / with headers
text/plain 657b
On Wed, Nov 25, 2015 at 2:00 AM, Tony Cook via RT <perlbug-followup@perl.org> wrote:
Show quoted text
That explanation seems strange on Linux, I know Win32 sockets (which doesn't support UNIX sockets) tends to discard buffered data when the sender closes, but that shouldn't be the case on Linux.

This may ​be a reason, because I run VirtulBox (latest 5.0.10) with Ubuntu 15.04 (guest OS) on my laptop with Windows 7 x64 (host OS).
Here I'm building a docker image - compile perl 5.22, based on Ubuntu 14.04 image.
I tried to build the same image (same Dockerfile) on workstation with Ubuntu 14.04 host (without VirtualBox) - issue is not observed.

--
Sergey
To: perlbug-followup [...] perl.org
From: Sergey Leschenko <sergle.ua [...] gmail.com>
Subject: Re: [perl #126707] perlbug AutoReply: Race condition in test IO/t/io_unix.t
Date: Wed, 25 Nov 2015 09:52:54 +0200
Download (untitled) / with headers
text/plain 366b
This may ​be a reason, because I run VirtulBox (latest 5.0.10) with Ubuntu 15.04 (guest OS) on my laptop with Windows 7 x64 (host OS).
Here I'm building a docker image - compile perl 5.22, based on Ubuntu 14.04 image.
I tried to build the same image (same Dockerfile) on workstation with Ubuntu 14.04 host (without VirtualBox) - issue is not observed.

--
Sergey
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 599b
On Wed, 25 Nov 2015 05:20:22 -0800, sergle.ua@gmail.com wrote: Show quoted text
> This may ​be a reason, because I run VirtulBox (latest 5.0.10) with Ubuntu > 15.04 (guest OS) on my laptop with Windows 7 x64 (host OS). > Here I'm building a docker image - compile perl 5.22, based on Ubuntu 14.04 > image. > I tried to build the same image (same Dockerfile) on workstation with > Ubuntu 14.04 host (without VirtualBox) - issue is not observed. >
Can you still reproduce this? This can't be associated with the host - Unix sockets are implemented in the guest (and Win32 doesn't have Unix sockets anyway). Tony
Subject: Re: [perl #126707] Race condition in test IO/t/io_unix.t
From: Sergey Leschenko <sergle.ua [...] gmail.com>
To: perlbug-followup [...] perl.org
Date: Wed, 18 Oct 2017 09:14:30 +0300
Download (untitled) / with headers
text/plain 833b
On Tue, Oct 17, 2017 at 2:21 AM, Tony Cook via RT <perlbug-followup@perl.org> wrote:
Show quoted text
On Wed, 25 Nov 2015 05:20:22 -0800, sergle.ua@gmail.com wrote:
> This may ​be a reason, because I run VirtulBox (latest 5.0.10) with Ubuntu
> 15.04 (guest OS) on my laptop with Windows 7 x64 (host OS).
> Here I'm building a docker image - compile perl 5.22, based on Ubuntu 14.04
> image.
> I tried to build the same image (same Dockerfile) on workstation with
> Ubuntu 14.04 host (without VirtualBox) - issue is not observed.
>

Can you still reproduce this?

This can't be associated with the host - Unix sockets are implemented in the guest (and Win32 doesn't have Unix sockets anyway).


​Now with VirtualBox 5.1.28 and Ubuntu 16.04 as guest OS issue is not reproduced.
Tried Perl 5.22, 5.26​


--
Sergey
RT-Send-CC: perl5-porters [...] perl.org
On Thu, 19 Oct 2017 13:26:37 GMT, sergle.ua@gmail.com wrote: Show quoted text
> On Tue, Oct 17, 2017 at 2:21 AM, Tony Cook via RT <perlbug-followup@perl.org
> > wrote:
>
> > On Wed, 25 Nov 2015 05:20:22 -0800, sergle.ua@gmail.com wrote:
> > > This may ​be a reason, because I run VirtulBox (latest 5.0.10) with
> > Ubuntu
> > > 15.04 (guest OS) on my laptop with Windows 7 x64 (host OS). > > > Here I'm building a docker image - compile perl 5.22, based on Ubuntu
> > 14.04
> > > image. > > > I tried to build the same image (same Dockerfile) on workstation with > > > Ubuntu 14.04 host (without VirtualBox) - issue is not observed. > > >
> > > > Can you still reproduce this? > > > > This can't be associated with the host - Unix sockets are implemented in > > the guest (and Win32 doesn't have Unix sockets anyway). > > > >
> ​Now with VirtualBox 5.1.28 and Ubuntu 16.04 as guest OS issue is not > reproduced. > Tried Perl 5.22, 5.26​ > >
This ticket seems closable. TonyC, do you concur? Thank you very much. -- James E Keenan (jkeenan@cpan.org)
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 125b
On Fri, 20 Oct 2017 19:20:54 -0700, jkeenan wrote: Show quoted text
> This ticket seems closable. TonyC, do you concur?
Yes, closed. Tony


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org