Created attachment 243648 [details] patch to unbreak net/dante net/dante is marked BROKEN after L_PIPETYPE() test ran away on the official package building machine. cf. https://lists.freebsd.org/archives/freebsd-pkg-fallout/2023-February/317284.html As this test is known to work on my machine (and some of others), the "pipeside" variable is known to be "recvbased". So, skip this test and set the result to "recvbased" should unbreak this port (theoretically).
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=2b81a5f3f73c8bcd910c246ff25bb1fc0135e7a9 commit 2b81a5f3f73c8bcd910c246ff25bb1fc0135e7a9 Author: Hiroo Ono <hiroo.ono+freebsd@gmail.com> AuthorDate: 2023-07-28 06:40:02 +0000 Commit: Fernando Apesteguía <fernape@FreeBSD.org> CommitDate: 2023-07-29 16:57:34 +0000 net/dante: unbreak Disable ran away test that works in local machines but for some reason fails in the official builders. PR: 272755 Reported by: hiroo.ono+freebsd@gmail.com net/dante/Makefile | 4 +- net/dante/files/patch-acinclude.m4 (new) | 276 +++++++++++++++++++++++++++++++ 2 files changed, 277 insertions(+), 3 deletions(-)
Committed, Thanks!
(In reply to Hiroo Ono from comment #0) > net/dante is marked BROKEN after L_PIPETYPE() test ran away on the official > package building machine. [...] > checking read/send-side pipe system... =>> Killing runaway build after 7200 > seconds with no output Interesting. I believe this bug was reported last year as bug #265087 and should have been fixed on 2022-12-14. Gleb, can you take another look at this? > So, skip this test and set the result to "recvbased" Masking the bug out is not the right approach, we must hunt it down and fix it for real.
Thank you for taking a look at this problem. From a comment in bug #269844, this problem seems to have appeared also in bug #192295 (11.0-CURRENT #0 r268969: Tue Jul 22 12:50:29 CEST 2014, dante 1.4.1) and bug #202197 (FreeBSD 9.3-RELEASE-p21, dante 1.4.1). There have been some fixes for each bug, but it occurred again. From the pkg-fallout in February 2023, net/dante 1.4.3 fails for the following environment: main-powerpc64: building for: FreeBSD main-powerpc64-default-job-10 14.0-CURRENT FreeBSD 14.0-CURRENT 1400078 powerpc https://lists.freebsd.org/archives/freebsd-pkg-fallout/2023-February/318200.html main-armv6: building for: FreeBSD main-armv6-default-job-03 14.0-CURRENT FreeBSD 14.0-CURRENT 1400078 arm https://lists.freebsd.org/archives/freebsd-pkg-fallout/2023-February/318024.html These are main but older than the fix in bug #265087? (commit 7a2c93b86ef75390a60a4b4d6e3911b36221dfbe) Other failures are on 13.1R https://lists.freebsd.org/archives/freebsd-pkg-fallout/2023-February/317934.html https://lists.freebsd.org/archives/freebsd-pkg-fallout/2023-February/317563.html and on 12.3R https://lists.freebsd.org/archives/freebsd-pkg-fallout/2023-February/317487.html If the fix in commit 7a2c93b86ef75390a60a4b4d6e3911b36221dfbe solves the problem, my patch to skip the test should be limited to the version before the commit above (and be eliminated in the future). Also, it is needed to check if the test in net/dante 1.4.1 and 1.4.3 are same or different.
(In reply to Hiroo Ono from comment #4) > Also, it is needed to check if the test in net/dante 1.4.1 and 1.4.3 are same or different. Checked the source of dante 1.4.1 and 1.4.3. It seems there were no change in L_PIPETYPE() test.
(In reply to Hiroo Ono from comment #4) > These are main but older than the fix in bug #265087? (commit 7a2c93b86ef75390a60a4b4d6e3911b36221dfbe) Sorry, FreeBSD_version 1400078 is between 2023-02-08 and 2023-02-14, so these are after the commit 7a2c93b86ef75390a60a4b4d6e3911b36221dfbe.
I second Alexey's opinion that a failing case shall not be disabled but taken care of. In my tree I reverted both commits to the port and failed to reproduce the failure. I isolated the failing test case into separate C file. Can you please try it on the cluster where the port failed?
Created attachment 243811 [details] isolated test case
(In reply to Gleb Smirnoff from comment #7) I do not have access to the FreeBSD package building machine. Do I have to contact portmgr@ to test?
(In reply to Hiroo Ono from comment #9) > Do I have to contact portmgr@ to test? No, you don't. :-) I'll try to reproduce it on the cluster and provide feedback.
^Triage: over to commenter for further evaluation.
(In reply to Hiroo Ono from comment #4) > main-powerpc64: building for: FreeBSD main-powerpc64-default-job-10 > 14.0-CURRENT FreeBSD 14.0-CURRENT 1400078 powerpc That 1400078 is the jail version, the host one is still 1400073. Remember, this is the kernel bug we're dealing with. :-) Let's review the history. The bug had been introduced in base 65572cade35 on Feb 14 2022. One regression, for send(2), was quickly fixed in base d2b3a0ed31e three days later, on Feb 17 2022. The second one, for write(2), took longer to discover (see bug #265087, filed on 2022-07-08) and fix, which finally happened in base 7a2c93b86ef on Dec 14 2022. This all (bug and two fixes) happened on main and were never merged to stable/13 or previous branches (stable/14 was created only on 2023-07-13). So how come `net/dante' had been failing on cluster across all FreeBSD releases, even 12.3, between February and April 2023, per those build logs, until the test disablement was merged to Q2 in May? Apparently, the answer is in these two lines which are common for broken build logs: Host OSVERSION: 1400073 Jail OSVERSION: 1203000 (for 12.3) __FreeBSD_version had been bumped to 1400073 in base 9c950139051, that's Oct 17 2022 (the bug is still there); next bump was with base e28932c643e on Dec 8 2022 (the bug is still there). So the cluster was running buggy kernel at the time of those early 2023 builds. Unless someone finds a flaw in this analysis, I'm going to remove the bogus patch (which should not have been committed in the first place) and restore the test.
This analysis looks correct to me. Thanks, Alexey!
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=1b25faa3f9e7604f59613b5d52bd562148f63c04 commit 1b25faa3f9e7604f59613b5d52bd562148f63c04 Author: Alexey Dokuchaev <danfe@FreeBSD.org> AuthorDate: 2024-02-05 10:44:44 +0000 Commit: Alexey Dokuchaev <danfe@FreeBSD.org> CommitDate: 2024-02-05 10:44:44 +0000 net/dante: restore read/send-side pipe system check during configure It was disabled (patched out) in July 2023 based on the pkg-fallout@ emails, nearly seven months after the last regression which could be causing it had been fixed. Evidently, the cluster was running buggy kernel for its port-building jails long enough to confuse people the problem was still somehow exhibiting itself. While here, assume maintainership, fix some DRY bugs in the Makefile, and install the manpages under $PREFIX/share/man per new world order. PR: 272755 Fixes: 2b81a5f3f73c net/dante/Makefile | 31 ++-- net/dante/files/patch-acinclude.m4 (gone) | 276 ------------------------------ net/dante/pkg-plist | 8 +- 3 files changed, 21 insertions(+), 294 deletions(-)