On Thu, Oct 27, 2022 at 02:59:04PM +0100, Alex Bennée wrote: > > Thomas Huth <[email protected]> writes: > > > On 26/10/2022 18.18, Alex Bennée wrote: > >> Daniel P. Berrangé <[email protected]> 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 <[email protected]> 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 :|
