From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60580) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eC031-0000vE-Hh for qemu-devel@nongnu.org; Tue, 07 Nov 2017 04:19:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eC02v-00030W-Fj for qemu-devel@nongnu.org; Tue, 07 Nov 2017 04:19:55 -0500 Received: from mx1.redhat.com ([209.132.183.28]:52870) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eC02v-00030N-5y for qemu-devel@nongnu.org; Tue, 07 Nov 2017 04:19:49 -0500 Date: Tue, 7 Nov 2017 09:19:45 +0000 From: "Daniel P. Berrange" Message-ID: <20171107091945.GD14232@redhat.com> Reply-To: "Daniel P. Berrange" References: <20171106153342.24147-1-berrange@redhat.com> <20171106174338.GP23361@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PULL v1 0/2] Merge IO 2017/11/06 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: QEMU Developers On Mon, Nov 06, 2017 at 05:58:41PM +0000, Peter Maydell wrote: > On 6 November 2017 at 17:43, Daniel P. Berrange wrote: > > On Mon, Nov 06, 2017 at 04:11:56PM +0000, Peter Maydell wrote: > >> On 6 November 2017 at 15:33, Daniel P. Berrange wrote: > >> > The following changes since commit ec7a8bf0b8f7dc7288fe8745464ee8217528cc6c: > >> > > >> > Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2017-11-06 10:04:16 +0000) > >> > > >> > are available in the git repository at: > >> > > >> > git://github.com/berrange/qemu tags/pull-qio-2017-11-06-1 > >> > > >> > for you to fetch changes up to 74c0035408d5b327eac5985d976bca3009e0c5d6: > >> > > >> > tests: Add test-listen - a stress test for QEMU socket listen (2017-11-06 11:49:15 +0000) > >> > > >> > ---------------------------------------------------------------- > >> > Merge qio 2017-11-06 v1 > >> > > >> > ---------------------------------------------------------------- > >> > >> Hi. I'm afraid this fails on various hosts. > > > > Sigh, anything network related in unit tests is soo hard to get right :-( > > I was hoping the previous fail you saw with this test was all due to the > > file descriptor leak the first patch fixed, but I guess not.... > > > >> > >> arm 32 bit (in a chroot on a 64 bit box): > >> TEST: tests/test-listen... (pid=319) > >> /socket/listen-serial/ipv4: OK > >> /socket/listen-serial/ipv6: > >> ** Failed to assign a port to > >> thread 0 (errno = 98) > >> ** Failed to assign a port to thread 1 (errno = 98) > >> ** Failed to assign a port to thread 2 (errno = 98) > >> ** Failed to assign a port to thread 3 (errno = 98) > >> ** Failed to assign a port to thread 4 (errno = 98) > >> [...repeats all the way up to...] > >> ** Failed to assign a port to thread 197 (errno = 98) > >> ** Failed to assign a port to thread 198 (errno = 98) > >> ** Failed to assign a port to thread 199 (errno = 98) > >> ** > >> ERROR:/home/peter.maydell/qemu/tests/test-listen.c:195:listen_compete_nthr: > >> assertion failed (failed_listens == 0): (200 == 0) > > > > Hmm, every single thread failed, which suggests some fundamental config in > > this environment that prevents any use of networking at all from tests. > > > > Anything interesting about this build env related to network availability > > that would prevent use of even localhost ? > > You'll notice that the IPV4 test worked fine. I assume this is an > IPV6 specific problem. Oh yes, so it is. The strange thing is that the test does check if we have a protocol available by doing a test bind() at start. > >> Test failure on OpenBSD: > >> > >> TEST: tests/test-listen... (pid=9208) > >> /socket/listen-serial/ipv4: > >> ** Failed to assign a port to > >> thread 124 (errno = 48) > >> ** Failed to assign a port to thread 125 (errno = 48) > >> ** Failed to assign a port to thread 126 (errno = 48) > >> ** Failed to assign a port to thread 127 (errno = 48) > >> [repeats up to] > >> ** Failed to assign a port to thread 197 (errno = 48) > >> ** Failed to assign a port to thread 198 (errno = 48) > >> ** Failed to assign a port to thread 199 (errno = 48) > >> ** > >> ERROR:/home/qemu/tests/test-listen.c:195:listen_compete_nthr: > >> assertion failed (failed_listens == 0): (76 == 0) > >> FAIL > >> GTester: last random seed: R02S17d50ab00329e514ffbe630191e76e83 > >> (pid=80652) > > > > Only a subset failed, which is more interesting - this is definitely > > more like the problem seen when FD leaks. Could you mention what the > > ulimits are for your OpenBSD host - I wondering if it hits max FDs > > due to having a parallel builds / test run. > > # ulimit -a > time(cpu-seconds) unlimited > file(blocks) unlimited > coredump(blocks) unlimited > data(kbytes) 33554432 > stack(kbytes) 8192 > lockedmem(kbytes) 670784 > memory(kbytes) 2010588 > nofiles(descriptors) 128 > processes 1310 > > That nofiles limit looks quite close to the number where we > start failing... Ok, I think I'll just make the test skip unless nofiles >= 1024 so we have a good margin of safety when things run very parallel 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 :|