qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] tests: Create fifo for test-io-channel-command


From: Daniel P . Berrangé
Subject: Re: [PATCH] tests: Create fifo for test-io-channel-command
Date: Thu, 27 Oct 2022 15:26:38 +0100
User-agent: Mutt/2.2.7 (2022-08-07)

On Thu, Oct 27, 2022 at 02:59:04PM +0100, Alex Bennée wrote:
> 
> Thomas Huth <thuth@redhat.com> writes:
> 
> > On 26/10/2022 18.18, Alex Bennée wrote:
> >> Daniel P. Berrangé <berrange@redhat.com> writes:
> >> 
> >>> CC'ing Marc-André as original author of the change
> >>>
> >>> On Tue, Oct 25, 2022 at 01:57:23PM +0100, Alex Bennée wrote:
> >>>>
> >>>> Juan Quintela <quintela@redhat.com> writes:
> >>>>
> >>>>> Previous commit removed the creation of the fifo.  Without it, I get
> >>>>> random failure during tests with high load, please consider
> >>>>> reintroduce it.
> >>>>>
> >>>>> My guess is that there is a race between the two socats when we leave
> >>>>> them to create the channel, better return to the previous behavior.
> >>>>>
> >>>>> I can't reproduce the problem when I run ./test-io-channel-command
> >>>>> test alone, I need to do the make check.  And any (unrelated) change
> >>>>> can make it dissapear.
> >>>>
> >>>> I was chasing a similar problem with this test although I don't see it
> >>>> timeout while running (I don't think our unit tests time out). I'm
> >>>> provisionally queuing this to testing/next unless anyone objects.
> >>>
> >>> It won't build on Win32 since that platform lacks mkfifo.
> >>>
> >>> The test normally works since socat will call mknod to create
> >>> the fifo.
> >>>
> >>> I think the problem is that we have a race condition where the
> >>> client socat runs before the server socat, and so won't see the
> >>> fifo. This will be where high load triggers problems.
> >> Ok I shall drop the patch from testing/next - we need a better
> >> solution.
> >
> > Could we maybe at least revert the patch that introduced the problem?
> > ... the failing test is annoying ...
> 
> I'm trying to fix it now but I haven't been able to get one of the
> socat's to not race with the other:

My other thought was to run a socat first, with 'unlink-close=0' and
make it exit immediately, simply to get the fifo created.  I'm not
sure how to make ti exit immediately though, with a guarantee that
its had a chance to create the fifo.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]