From nobody Thu Jul 14 19:10:48 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4LkPGL0ZwYz3vVsR; Thu, 14 Jul 2022 19:10:50 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LkPGK6hCcz3L0w; Thu, 14 Jul 2022 19:10:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1657825849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LjRRoJ0Gnud+dXGncKeHzv8Pjs+/bfO+A/vCuFCAX54=; b=c3D4eiljogCzA+o+mayN8bscM/UrrG9g89P4REdEbI38Es9/GB4KcftpuperE9YFRNapqU tPfKhAqNBNYbWkglsJRyMSViwaQa131/+CMzLRu6gEGNtilE+dY7FuAxx6aocqIbgzMHwV jAdQ2PXW28wsfnTqTl+zoDV6351jDxBztvBH+1HzMxl55LcxUj3/h0ilsoN7oXlmPN6WPw oiIfja9MFvjHJA+PJxMUJupW9B/EusqQ4nOWbYIocpNlhaIuKlK9L7msfv/vA5WgIKPcic DfJtSTnitdpYdbGKWKEW8h3MRWDDlcp+bAwSmHjdZi6cf83AfaCF8M80+ahI5g== Received: from [10.0.1.4] (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4LkPGK2PVlzjbr; Thu, 14 Jul 2022 19:10:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <192226a0-9355-36b0-8850-49dcf31d17e8@FreeBSD.org> Date: Thu, 14 Jul 2022 12:10:48 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: git: c728c56c870a - main - kqueue tests: Add file and line info to some test failure output Content-Language: en-US From: John Baldwin To: Mark Johnston , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202205250018.24P0IHaY006037@gitrepo.freebsd.org> <488c11ab-aec3-3e7c-c987-2db779c828e9@FreeBSD.org> In-Reply-To: <488c11ab-aec3-3e7c-c987-2db779c828e9@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1657825849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LjRRoJ0Gnud+dXGncKeHzv8Pjs+/bfO+A/vCuFCAX54=; b=jck4QaiqgZKaCoO07FWkiKeSfZ9bW2KS8hW+BMBuXXDkYuO4uvuQ7KQSSWNNIEKByVIR04 NDwjstra/OoA+du3f88k1cxji9DJNU2+HhfqsTs0JWpLGrTC3KQAxizsgv0JUQKe3xyyc4 crXf4oPHn6nyX1chFSjp1rJX7GOwUK04USZCncPwstlzn0OQyyt6wi4qJkUqKi/tIm0wYO rg1B5TXPjvrRbLIPj1McVvq6eP9B/0oyDpwJ4VSkVj8bUHMv3JpLTVEwQFvvmjziQEONWv qj2BRcCZzwwQ3Avu+Ybic6aeLm7dpI+jEb9S19A/MIE9oGgn5PpvvcCAHGLCtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1657825849; a=rsa-sha256; cv=none; b=T51GppwAGd7e6JZOPOn9kWCCx1lduzR3FYt7IoGZf3bLs8nSB6hFmryRTlfKPS5Tqt+PNh Qs6rpd4uQfb2U+awT2Xr5bqHFdJKPdBXw7xx0S0fPWCuWau305Fq0LaWnkxZW5SOAxk4R7 HcdejJr1sBoRUyat+AGvXiAtLbTGBmoRgrmqm+wlzjXXo3KdCdVViAmm8X43mfxme0osAk xyFujdmbhUGtQdMyB3Kazzj0+B1heNF3NBYKsBrcSJ1ITwzRW3dYW0L17Ek+ipx7RuE6TC FIsyrNxNE/sKeZHCwzEbTKVBCKtIf75pv/rRhzj4M0TEdDYZi4Pz6EJKC1HXOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N On 7/14/22 11:33 AM, John Baldwin wrote: > On 5/24/22 5:18 PM, Mark Johnston wrote: >> The branch main has been updated by markj: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=c728c56c870abe230e45cee5c477f0d890ebacef >> >> commit c728c56c870abe230e45cee5c477f0d890ebacef >> Author: Mark Johnston >> AuthorDate: 2022-05-25 00:14:20 +0000 >> Commit: Mark Johnston >> CommitDate: 2022-05-25 00:14:20 +0000 >> >> kqueue tests: Add file and line info to some test failure output >> >> This brings us slightly closer to upstream and is useful when debugging >> test failures. >> >> MFC after: 2 weeks >> Sponsored by: The FreeBSD Foundation > > For some reason this has caused build errors with NO_CLEAN builds on pretty > much every host I've tried to upgrade such as: > > ld.lld: error: undefined symbol: test_no_kevents >>>> referenced by read.c:169 (/usr/home/john/work/cheri/git/cheribsd/tests/sys/kqueue/libkqueue/read.c:169) >>>> read.o:(test_evfilt_read) >>>> referenced by read.c:75 (/usr/home/john/work/cheri/git/cheribsd/tests/sys/kqueue/libkqueue/read.c:75) >>>> read.o:(test_evfilt_read) >>>> referenced by read.c:137 (/usr/home/john/work/cheri/git/cheribsd/tests/sys/kqueue/libkqueue/read.c:137) >>>> read.o:(test_evfilt_read) >>>> referenced 31 more times >>>> did you mean: _test_no_kevents >>>> defined in: main.o > ld.lld: error: undefined symbol: kevent_cmp >>>> referenced by read.c:72 (/usr/home/john/work/cheri/git/cheribsd/tests/sys/kqueue/libkqueue/read.c:72) >>>> read.o:(test_evfilt_read) >>>> referenced by read.c:145 (/usr/home/john/work/cheri/git/cheribsd/tests/sys/kqueue/libkqueue/read.c:145) >>>> read.o:(test_evfilt_read) >>>> referenced by read.c:193 (/usr/home/john/work/cheri/git/cheribsd/tests/sys/kqueue/libkqueue/read.c:193) >>>> read.o:(test_evfilt_read) >>>> referenced 14 more times >>>> did you mean: _kevent_cmp >>>> defined in: main.o > > It seems like read.o at least doesn't get rebuilt even though common.h > changed. I can see common.h listed in .depend.kqtest.read.o, but make > doesn't think it needs to be rebuilt based on the timestamps in the > object directory: > > -rw-r--r-- 1 john src 131 Jun 27 10:27 .depend.kqtest > -rw-r--r-- 1 john src 6201 Jun 27 16:28 .depend.kqtest.main.o > -rw-r--r-- 1 john src 6201 Jun 27 16:28 .depend.kqtest.proc.o > -rw-r--r-- 1 john src 6201 Jun 27 16:28 .depend.kqtest.read.o > -rw-r--r-- 1 john src 6205 Jun 27 16:28 .depend.kqtest.signal.o > -rw-r--r-- 1 john src 6203 Jun 27 16:28 .depend.kqtest.timer.o > -rw-r--r-- 1 john src 6201 Jun 27 16:28 .depend.kqtest.user.o > -rw-r--r-- 1 john src 6203 Jun 27 16:28 .depend.kqtest.vnode.o > -rw-r--r-- 1 john src 136 Jul 14 10:40 .depend.kqueue_test > -rw-r--r-- 1 john src 6201 Jul 14 10:40 .depend.kqueue_test.main.o > -rw-r--r-- 1 john src 6203 Jul 14 10:40 .depend.kqueue_test.timer.o > -rw-r--r-- 1 john src 117 Jun 27 10:27 Kyuafile > -rwxr-xr-x 1 john src 41256 Jul 6 10:42 kqtest > -rwxr-xr-x 1 john src 62248 Jul 6 10:42 kqtest.debug > -rwxr-xr-x 1 john src 63128 Jul 6 10:42 kqtest.full > -rwxr-xr-x 1 john src 36488 Jul 6 10:42 kqtest.stripped > -rwxr-xr-x 1 john src 386 Jun 27 10:27 kqueue_test > -rw-r--r-- 1 john src 28560 Jul 14 10:40 main.o > -rw-r--r-- 1 john src 17920 Jun 27 16:28 proc.o > -rw-r--r-- 1 john src 17872 Jun 27 16:28 read.o > -rw-r--r-- 1 john src 12568 Jun 27 16:28 signal.o > -rw-r--r-- 1 john src 29888 Jul 14 10:40 timer.o > -rw-r--r-- 1 john src 10784 Jun 27 16:28 user.o > -rw-r--r-- 1 john src 18984 Jun 27 16:28 vnode.o > > Oh, I think I see the problem. kqueue_test went from being a shell > script to being an executable in a later commit. I guess that is > a case that needs handling in depend-cleanup.sh. After more head scratching, the issue is that make thinks read.o is up to date because it is newer than read.c, and that when building for kqueue_test it looks for .depend.kqueue_test.read.o (which doesn't exist) and thus doesn't find the dependency on common.h which was previously recorded in .depend.kqtest.read.o. I have a patch for depend-cleanup.sh to deal with this at https://reviews.freebsd.org/D35820 It does use 'stat' since it is checking a glob (for which you can't use [ -e ]) but stat is available on both Linux and macOS so I think that's ok. -- John Baldwin