From nobody Mon Apr 29 01:06:54 2024 X-Original-To: freebsd-current@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 4VSQCR6H68z5HrgV; Mon, 29 Apr 2024 01:06:59 +0000 (UTC) (envelope-from philip@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 4VSQCR5lhDz4d57; Mon, 29 Apr 2024 01:06:59 +0000 (UTC) (envelope-from philip@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714352819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wsU3jyn375ScDZdNKKqx63kzplOOEmwSsVRJooD6JNY=; b=btPFf0LMRyeq2BvoMxLvXcT+efilpysmXjT+NhMkNHuPpU7MBpzX2ef8cpTOur0F+BEUk7 UCHlPdEVQg4W91il1aUtPFU7xzUpVvmr3TKsiHZ1K4jDoOHjrz4gKn084DcghmTUXncHdP 0s1HuIuDPkNf5UhcePfJVcipnXvU8wn2RXmKk8wY6f2+ZBwDypMwE80Iv7J6Sm+thwwkn2 8+wX5GsTc7EkEooPJpPTjDYIRECDIB5/YyYl60JRiNXvZxQ0DeACktI0HOZTu8fbz022lh OGWChLRBuFybyGzb8IflY2aZ8P4CcsxjaLVsQPmaaNpKopYSs8iabVpriIC+Yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1714352819; a=rsa-sha256; cv=none; b=lNWicSFZEXRsstwjTsVOvMryYZYDZx0Wnckgf00FaZFjLVeUS5DZYLyty3rcCgsMMyYc95 X3vhNwOz2TIoBN6uiLwEzcjK6EpcTLd+P6hTc3SDwtikTkSzRjvrf7hxh3fmrNQxclWCdx QVVtR5odYHf0EBcvqhR0SIvp67pI8a2tsNBb3YZuXLRGTvMwOFpVLl22LieKVZn+jezzXX LXKrhy8dZCAQ5wt5YJRDcv1GkIu/pIFmc5/EAr+0Y+2Njc5dw6FIGNJabS02W/GSFMXdXw 7TyYWuaJnNnuqeFqiWBTM6kAzrq2v56Sa8GVIdmxXhxS8OrcGOAfOi9nuvADSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714352819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wsU3jyn375ScDZdNKKqx63kzplOOEmwSsVRJooD6JNY=; b=n8Wyj2kLeErVOt2uxdB227P0INLGtY1lFv8pxa6lXseH0TRcgbM9UnUOcJgr31hFeNwYEF jmZVhbpak8W3fqSW6L6q/vDhTjh4xYzeBcMEj4D/LJa+XU7m1YJRcl21pBRs8TXtviB2Q8 cPRuODJtOql9AM2EGbtbFgs45BqmnEmsm8HJpYERm8/bV93Fm0IkPrRPJ2aTD7lHL30Hgw vI+GFy0GMV7YYe0AGCkApaCtO9zGDmoeUJiq1sMkesOIq1aU8B1oBoGbYSS5c+pJvQA1Yu b8MpK6XfmQWpLrpG01V3ezseiub/8lJasafnoUGmyzUPCxob4bUeFpuYATzvBQ== Received: from fauth2-smtp.messagingengine.com (fauth2-smtp.messagingengine.com [103.168.172.201]) (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 did not present a certificate) (Authenticated sender: philip/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4VSQCR4qTMzJmh; Mon, 29 Apr 2024 01:06:59 +0000 (UTC) (envelope-from philip@freebsd.org) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfauth.nyi.internal (Postfix) with ESMTP id C17571200032; Sun, 28 Apr 2024 21:06:58 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sun, 28 Apr 2024 21:06:58 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvddtjedgtdekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffokfgjfhggtgesthdtmhdtredttdenucfhrhhomheprfhhihhl ihhpucfrrggvphhsuceophhhihhlihhpsehfrhgvvggsshgurdhorhhgqeenucggtffrrg htthgvrhhnpefggfefieegtedtledtgfevtdfftdegvdehueeiteehteefieefveevtedv vdekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hphhhilhhiphdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqudduieeivdei vdegkedqvdefhedukedttdekqdhphhhilhhipheppehfrhgvvggsshgurdhorhhgsehtrh houhgslhgvrdhish X-ME-Proxy: Feedback-ID: ia691475d:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 28 Apr 2024 21:06:57 -0400 (EDT) From: Philip Paeps To: Mark Millard Cc: void , FreeBSD Mailing List , Current FreeBSD Subject: Re: pkg server for current/arm64 stopped ? [main-armv7 on ampere2, elapsed so far: 651:21:56] Date: Mon, 29 Apr 2024 09:06:54 +0800 X-Mailer: MailMate (1.14r6030) Message-ID: In-Reply-To: References: <03736C90-EE54-47B3-AEA7-ED1AC0343B4B@yahoo.com> List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; format=flowed On 2024-04-18 23:14:22 (+0800), Mark Millard wrote: > On Apr 18, 2024, at 08:02, Mark Millard wrote: >> void wrote on >> Date: Thu, 18 Apr 2024 14:08:36 UTC : >> >>> Not sure where to post this.. >>> >>> The last bulk build for arm64 appears to have happened around >>> mid-March on ampere2. Is it broken? >> >> main-armv7 building is broken and the last completed build >> was the one started on Mon, 19 Feb 2024 12:32:10 GMT. It >> gets stuck making no progress until manually forced to stop, >> which leads to huge elapsed times for the incomplete builds: >> >> [...] >> >> My guess is that FreeBSD has something that broken after bd45bbe440 >> that was broken as of f5f08e41aa and was still broken at 75464941dc . >> > > One thing of possible note: > > Failing . . . > > Host OSVERSION: 1500006 > Jail OSVERSION: 1500014 I have finished a package builder refresh this morning. All our builder hosts (except PowerPC - I don't touch those) are now on main-n269671-feabaf8d5389 (OSVERSION 1500018). ampere1 successfully finished its 140releng-armv7-quarterly build, so it looks like the problem with stuck builds was limited to ampere2 building main-armv7. I'll keep a close eye on this one when it starts its next build. Philip From nobody Mon Apr 29 21:27:14 2024 X-Original-To: freebsd-current@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 4VSxzp6F6vz5JvyM for ; Mon, 29 Apr 2024 21:58:46 +0000 (UTC) (envelope-from universite@ukr.net) Received: from frv186.fwdcdn.com (frv186.fwdcdn.com [212.42.77.186]) (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 (2048 bits) client-digest SHA256) (Client CN "*.ukr.net", Issuer "Thawte TLS RSA CA G1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VSxzp0RjNz4mWj for ; Mon, 29 Apr 2024 21:58:46 +0000 (UTC) (envelope-from universite@ukr.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ukr.net header.s=ffe header.b=rriz9Jl9; dmarc=pass (policy=none) header.from=ukr.net; spf=pass (mx1.freebsd.org: domain of universite@ukr.net designates 212.42.77.186 as permitted sender) smtp.mailfrom=universite@ukr.net Received: from frv198.fwdcdn.com ([212.42.77.198]) by frv186.fwdcdn.com with esmtp ID 1s1YgV-000BO9-Gs for freebsd-current@freebsd.org; Tue, 30 Apr 2024 00:37:15 +0300 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ukr.net; s=ffe; h=Content-Type:MIME-Version:Subject:Message-Id:To:From:Date:Sender: Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=h/uDLL/+AAM7scT/W+PumNMbIKSeXKVBFMMWUKVfzaU=; b=rriz9Jl93ptTckga1nF5pSMCua e8eDi9qM5dI2niRhpl2SCq+yppQ7MtP8DRzD3/roQ0FgukA1Iy7qDbhEB95ksPq3d9LMq3JQOdR/K W5GW6eNzE2lWFP7yiGQv9J8axFx5S9GiqmcZ+jOFTNoMgI2jfKMCcfdBCHwxHhLkTNbs=; Received: from [10.10.80.25] (helo=frv50.fwdcdn.com) by frv198.fwdcdn.com with smtp ID 1s1YWo-0006kV-Hp for freebsd-current@freebsd.org; Tue, 30 Apr 2024 00:27:14 +0300 Date: Tue, 30 Apr 2024 00:27:14 +0300 From: "Vladislav V. Prodan" To: freebsd-current@FreeBSD.org Received: from universite@ukr.net by frv50.fwdcdn.com; Tue, 30 Apr 2024 00:27:14 +0300 Message-Id: <1714425909.0591919000.uvshz1bx@frv50.fwdcdn.com> Subject: Request for non-GENERIC kernel diff X-Mailer: mail.ukr.net 5.0 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-THpRy+QnIywjSkrZnqR+" X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.20 / 15.00]; MIME_BASE64_TEXT_BOGUS(1.00)[]; DWL_DNSWL_LOW(-1.00)[ukr.net:dkim]; NEURAL_HAM_MEDIUM(-0.99)[-0.989]; NEURAL_HAM_LONG(-0.98)[-0.979]; DMARC_POLICY_ALLOW(-0.50)[ukr.net,none]; NEURAL_HAM_SHORT(-0.33)[-0.329]; R_DKIM_ALLOW(-0.20)[ukr.net:s=ffe]; R_SPF_ALLOW(-0.20)[+ip4:212.42.77.0/24]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; MIME_BASE64_TEXT(0.10)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCPT_COUNT_ONE(0.00)[1]; FREEMAIL_FROM(0.00)[ukr.net]; ASN(0.00)[asn:8856, ipnet:212.42.77.0/24, country:UA]; ARC_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[ukr.net]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; TO_DN_NONE(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[ukr.net:+] X-Rspamd-Queue-Id: 4VSxzp0RjNz4mWj --=-THpRy+QnIywjSkrZnqR+ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: binary Content-Length: 190 Hello! Who uses their own kernel config, please share the diff between the 14 and 13.x branches Thanks. -- Vladislav V. Prodan System & Network Administrator support.od.ua --=-THpRy+QnIywjSkrZnqR+ Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGh0bWw+PGJvZHk+PHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7IiBjbGFzcz0ieGZtXzQzMzQ4 MzQxIj48cHJlPkhlbGxvIQ0KDQpXaG8gdXNlcyB0aGVpciBvd24ga2VybmVsIGNvbmZpZywgcGxl YXNlIHNoYXJlIHRoZSBkaWZmIGJldHdlZW4gdGhlIDE0IGFuZCAxMy54IGJyYW5jaGVzDQoNClRo YW5rcy4NCg0KLS0NCiBWbGFkaXNsYXYgVi4gUHJvZGFuDQogU3lzdGVtICZhbXA7IE5ldHdvcmsg QWRtaW5pc3RyYXRvcg0KIHN1cHBvcnQub2QudWENCg0KPC9wcmU+PC9zcGFuPjwvYm9keT48L2h0 bWw+DQo= --=-THpRy+QnIywjSkrZnqR+-- From nobody Tue Apr 30 02:54:09 2024 X-Original-To: freebsd-current@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 4VT4Xx3gPPz5HxqN for ; Tue, 30 Apr 2024 02:54:25 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic306-21.consmr.mail.gq1.yahoo.com (sonic306-21.consmr.mail.gq1.yahoo.com [98.137.68.84]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4VT4Xw1qbZz4dfy for ; Tue, 30 Apr 2024 02:54:24 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=plvSZxSs; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.68.84 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714445662; bh=QkoW0rxJX+QAYJ1LoOEpm/VxtVvbcLN1dcadqsIf9W4=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=plvSZxSstsPw29Nhl8DM2vEuLAWB02iKjgqIH2cCGu8yTiNA0lxWnScHhosATt9l5ueY2YINaGWpJzQzHP/PumIe1FON+H7e3obm7pZWwt/oNkItxPr4Q3lHK82WNroMsyYCEQRjwIfOTVkt6PZUJXOfUkEsExIk/iOrZmAnTTbM5NAUmUDOtOlwWm62FLTnzAdTNodNs5bZpyNbxVrwoIy4WYiegVObK/fOzSKj9HQ3wEaH6RXp557iZ6EY4/sNwz7DTyW5rfNehLZszLNCgR77YyS69+Qd49a+dRxyXXwW/XIKcqh6rwLEK15nQllyFP8MtzMHWqcsMNPHMXQflw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714445662; bh=uAD57tKTAaQtu/dE9Uhf5vYwJ+X/jKLhIAAn9O0he8k=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=WZSGmw9dU3xvjUAV5Ciz8vbfpS1VjuOBNB1UPSAVB2IhQSZOwQcAXQyIQQfelfh8zYvwOS4dHf+7LwmdRnHaiMAoF0+NkqyPugF7e2cKMwmTwiXfjXRZzjaNQM2zGSVU5ktEZwKsrLCv6ymamiQIT7Hc24tLJfAioXCQ/PeJ1L0RkW7jbkcbHha+3DEA4B2RWnB+IZf54hrngON1nbmqELHaL31fRmGiqTEiDkgTUiLQPMoF1/DJYXrNN1MP23JJw9r1R4zORoxwsBQiap9grntdlZ+W4CIN1Fu5Db9E1jJABQw2ywZs/EhKQhgy/vBlZPEtWeQRmVVuJqBV3unwGA== X-YMail-OSG: kOjEkg0VM1l8BiXuNuY3sxCG8RXWailVphng9_xEJaQ8TkbGihF3gXwvrJtszPm e06WwCoNZLzWPGhKs97Bkp7aMBMXzS.SrP.fw_dtAfQUyfklc1oVQ4NOYSAvKPtSCv_0X1IoMMje Dd13hRiCH32h5cu2xMc06rSFYy5AsUlB8ZbN_WN.ifj1JJJLh4NHF_LChX5jDS3_FJyy8MK5rI7D GrU5lDzy3kvtqhfY_S81SQbWsNJeTRPPsxr_hBfYCYqC4SAnSt4qZ7SFpVSp3OLhTzjEAVe2.LsM du1oMIV3Jl8zFr.C_fYMZY3BHgo7FIbp0ngnASTUNnWOvGAcKOzArLgY1jfPRgBz3jiaLMLM6lAe Bc3rMsj1pBySfZzuN1ICIfVZWPlkDjI6OnzWQsVNSjVi1KB7Em_LqT7p4QQDmpD.8VpgEOIprrxQ VgoEQqsBF36SeCJzRswSkrbVvvhz9ZX4Q3DDHHomJYOv43Wa8RwR8dLgxUMTrMkmMDC8IgMIF0Oz bfYxr_MLG1Yu.JuijOYpMkszkjbLj_ScT2Kmw9JGnCBGfUTQ9mvEUbxlb6dkO05Tiv7V.VJbpZ.G eW4PCeic0Pv_6wfiqDfaLGZQru7ZAnSmRzs5qPWLtRX5GncbRWIU2NBHx7LK0ql2kRFAPx0BQH6i gYIli68HWtuhdm4G91PxZ3DvCYe3mQffBrqyYDt_yky9dxvS1AkAbYDGEYSJoPpoyzMBMK0S3hn1 f8w3uAhckojVoWoksinXA7196aGC4MaOcU4g5IO_IfBRtxDYc_75V3.08ATPg0GYnxW0mHZIvxzc x..93gU3lbuSttqMhHau5GlJRFqXz71tksRxUNIo9fae3fl.ZgYtCo4C7nWGplWZoURxLXKzQC51 xJiSPYjn2ub5bEMXJhC0B3_ZSwcPtsZWE9HnSVGM6Hrxki6zUlqHT4O7EjHpCfsDUmuf3e8hLjDe uTymM723L7nkDp2iQXuroPiifdA3KfN8utPj4YQPbmwQ0p2cAuPO70Bc03wD.awEDRu8qAJzrpKN jIZ3ixAZQ.hm.bhwwzrDc0VEJhtIFg667COWQ.r5wKZnx2EqvTBNxVYgGgnrX.KunoZKntLksGtw Z6WwH6kjRrdGMcYojIWVI76hNxEbpSkjAE102NnieRcBr0zYznQQi7.Al7LtPTXq3zmWCd18HSVf BtGUoL6FNbVTlp8QCG.i8vMwsTrWyqDONaIdVkuh3SvJWs5nYyOwuWYQJ_j6B9CcC8CEMtUnDBt6 lY3bcRjjgGz9FRDHw2vlTkTq4p5ZirfIXPVgRKKwrCxXNVizvHkq8V.r7IBgoGpqnmwGwc9GgNof 4i4Y3R.w072wLsxn4YM6ujIdaYaU_PXaAcx.SNkDiQQDb_QOR25FTK_jrrtZJ1rmrgKwYpKi7bjm _bZWPOfr1DfA6THAjOFBPO62rIuoTLz24YGbf9pli35_Mqhb2YA9W7u_LO1eKIST6K5Cew.wFMYL vtUYIaS3u1qCbZNPbDOYFPdnFlhXaq7dT2DncOvvri6hARVSvI7b7EJLQccImptVPKLVhO69kej4 l_wq1oiduX7cbheeEx3zNS8NfN8_H4F5mhC1eTZDEykFWwJbRCCHWKGGvxaUfrR9ZgUxqLFq1xy_ dFD37MG5GsN0Dnr83B601.xzG5PXs4gX.Y6F6Kprpteypcc435DCLEmT6DkMW_u0wa4sqOnQHUuQ __dwWOBB6OscopPR6jk0HRK6Gw2TuBjFCwDEjmKnlJ6MPUclyXuHGjkSSrA1QNk94fiJsQ6NQ5I_ 4RfHx1Jtacgrd8g0DRkuxRg3igJHVbm_45PtG1UcXOuikrIUhIR0QGrwjDjMFSSN7X98x.0DROEz HOq__rEVL3qWXAMLBlPIpO.n79hB29P6QFDgoYoTbZKeK3ynxvK4ETp.76Yt3uq0iDfQY6fbdrt3 dIVz3KEAxR1dFRzeq9YVduscWNBzTS4ObBrGctKJYt_tyQbshpyB_8i8FKq2duLLqlywB07oHYT5 FlDHflrwnpREcumIhiBYLcTJil71hXWuKMJYFIhWed9lUiLnPcek263LvslLly8vR1crz2M7C6FG HoRvubEJEFlrvqRaVmVC33F0i4AweLkpRQkSeg934OxqO.vOjcGj1A.JJ2LLCA3yYk7z4GzzKAuy lrIAA92a32owPq3GCcRZixvY.NuLZUUyz01MIYVHqAmpSqXp5iiZmz3u2PbBn58tj36q5wY2NUZ8 aivPk47BFoQZb6VtswlmkQm35aMlq8s1n.Uou2RSGbXh2TXgvDfPfrSxQVfPJFRZ6ULB3SUzboPk - X-Sonic-MF: X-Sonic-ID: a6ad577e-e0ee-488a-9641-d42f39df2e4d Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.gq1.yahoo.com with HTTP; Tue, 30 Apr 2024 02:54:22 +0000 Received: by hermes--production-gq1-59c575df44-cc288 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 706f4aa333a6b489b2acac8032e73f52; Tue, 30 Apr 2024 02:54:20 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: pkg server for current/arm64 stopped ? [main-armv7 on ampere2, elapsed so far: 651:21:56] From: Mark Millard In-Reply-To: Date: Mon, 29 Apr 2024 19:54:09 -0700 Cc: void , FreeBSD Mailing List , Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <046DE453-9F01-4D07-9E14-EF22E537A163@yahoo.com> References: <03736C90-EE54-47B3-AEA7-ED1AC0343B4B@yahoo.com> To: Philip Paeps X-Mailer: Apple Mail (2.3774.500.171.1.1) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.46 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.96)[-0.964]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_CC(0.00)[f-m.fm,freebsd.org]; TO_DN_ALL(0.00)[]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; DKIM_TRACE(0.00)[yahoo.com:+]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.84:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.84:from]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; SUBJECT_HAS_QUESTION(0.00)[] X-Rspamd-Queue-Id: 4VT4Xw1qbZz4dfy On Apr 28, 2024, at 18:06, Philip Paeps wrote: > On 2024-04-18 23:14:22 (+0800), Mark Millard wrote: >> On Apr 18, 2024, at 08:02, Mark Millard wrote: >>> void wrote on >>> Date: Thu, 18 Apr 2024 14:08:36 UTC : >>>=20 >>>> Not sure where to post this.. >>>>=20 >>>> The last bulk build for arm64 appears to have happened around >>>> mid-March on ampere2. Is it broken? >>>=20 >>> main-armv7 building is broken and the last completed build >>> was the one started on Mon, 19 Feb 2024 12:32:10 GMT. It >>> gets stuck making no progress until manually forced to stop, >>> which leads to huge elapsed times for the incomplete builds: >>>=20 >>> [...] >>>=20 >>> My guess is that FreeBSD has something that broken after bd45bbe440 >>> that was broken as of f5f08e41aa and was still broken at 75464941dc = . >>>=20 >>=20 >> One thing of possible note: >>=20 >> Failing . . . >>=20 >> Host OSVERSION: 1500006 >> Jail OSVERSION: 1500014 >=20 > I have finished a package builder refresh this morning. All our = builder hosts (except PowerPC - I don't touch those) are now on = main-n269671-feabaf8d5389 (OSVERSION 1500018). >=20 > ampere1 successfully finished its 140releng-armv7-quarterly build, so = it looks like the problem with stuck builds was limited to ampere2 = building main-armv7. I'll keep a close eye on this one when it starts = its next build. >=20 I see that main-armv7 started. It queued only 31935 instead of the prior 34528 (or more): it is doing = an incremental build instead of a full build. For example, pkg was not = built but instead the prior build is in use. Thus bad results from the prior build might be involved in this new build. I'd recommend forcing a full "poudriere bulk -c -a" that does a = from-scratch build for the purposes of the main-armv7 test. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Tue Apr 30 03:11:05 2024 X-Original-To: freebsd-current@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 4VT4wS6tbnz5Hyvd for ; Tue, 30 Apr 2024 03:11:20 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-21.consmr.mail.gq1.yahoo.com (sonic305-21.consmr.mail.gq1.yahoo.com [98.137.64.84]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4VT4wR63CSz4hs3 for ; Tue, 30 Apr 2024 03:11:19 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=BIYZgdCK; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.84 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714446677; bh=lbVtc8ZIUjzPoXTI36tOJIK1j4dhzg+A84rHoy32GTc=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=BIYZgdCK/EdPjzxf60x+Tpht9D0ypB8q3zuKdoQpjNzglfZAysMwYqpjIPG2ACt8h4pZIbL0BRuD+IWUanPxgYMDTWqcIi//K8LUC6mdZ1LOHxK6nqS5PWiZDTACh220OGP6v1loGRyjldod/RaWLo9VfLz+neKNGvQvvVQus/RKYdlVSG5E7fHrefXaDV11GuDO7kgYT8gfhhrRwLHoyZ7oGXGMJAOH1O8bPWuPnq18HbC6JaTX4zsenAX5++OW7U7eA2t102WxM7N5cY6oax+WIBv3U0hQ5vhTwOA+OyGrgkKmT+kTnK40yFYcYBMG3TwCg2ysJV4s/ZiT1N9uvA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714446677; bh=ae99BXd9D2RiFNFjRt045LMLHQ8jm7E1RhCMVhmxz6I=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=WaYIUHpf74nMw+IIN+iSSmRDA3UYG+HBnX2OLCxR0RdJgyxvZ5MpPnX78E5tWaGbYer5xz1NpDBMO0WJJ/T9HbNJs9pCkX7y4z2uCE6lLEgjznFYbdXHNq1hIZdPQEoNtzvtsSViDjV90ITO8sbzNHwLHaP5MT9Gctd9iw7YpbGfWuR+xs1g2G3/Un+oNfJLQWDg88ReD8RmPkvrjAP51rVScxnstGs4ntSmIpkHWJ9S5R3MjQjKCEeSeTXiAWDwa0imdk3FYwA1rPmNC9ae7e8DOniasdWvbmafCnLAq4NxMNKWPfdv4+w0JKc2lpFKw38lB247Ie8cG1hru1Kopw== X-YMail-OSG: crKN3xAVM1lTkBdoqpb.pRdhnZyteS8xSmCtkkyY2W86BEtdc_CMZm5OOEqayDX uTHKfcvXxsyw1XHUiliOS5csjS1unTYA7PfqVCk.MJnoV4_8vho59Xw.sbCOcrzMt3Gbv37q9PGl 13egu83D5ivVUCaOv1Gke3tUnjtqHfZgTWwHlHE44yiE9uDJsb4D7pgeyeO9X2wZHYV9J2OsFsSl TUUxvVaBdgzLoOZETyYgequPMW92BvAkQwuKAWXKkpuZZZVKoLhJJqMEPRznqfqXrKTAvaLZp4o3 y_eOqEqNiq1aOy4wGQ.tjV26rm5edneeQsH1Zh_55GhNaijeQOq809JYR..yd6_T6lx7wB5sOj0O 53pP1vMmY9gfAEPfnv4TWa5zWlOPpR3rFzK4HSl7J_wl12IKvpk5gJkn1ne12iG.RF.Sv5nUjZ11 RTGGSxdBsowpl2JvbJPpUaxtjRtuNs50oJZQVjsm5_MzpeGg4iI2Rsm9YI604iT5wYA.POmomIec cH5FHBIlmeGBdzGgmr50A32VYrMuJCEF7KRMX_jMvGtrwLb5sgw8rw44Oxt7maCTcCuMrG6tjU5j DCkiqbIRhzI3H8Hw.dUNpvL_Ztvqh0G0oWeKsI3D2wPzKljoLBCeFCPn6HepkRbe6rAABh6W5og5 vBW_UuLqhPAAVAF9.OWbrlynoVjMUUJN_KKI9n_7WuyoIFYBr.11pF5wbufAVB2xgpkH0GbWvsrL hX4n6HytBOsUPI77LChDWRCQNm.FR9tGQn.loeD9_vMKqwIiGY.gU5mL0r9cnjCo.._85ERcAL.r bhVwPQF9gQHfifOtnAEMy.S.54_OfKAVd0f_3WUfNZ1OdaqDZ.aMl7eqVpmKWOiXUthvY5TEWRjW 32XFDd6p4FrdkH3AiIsrTQppCzDqcavEvGLj_SIFYy63x9C17nxZoWJ_ocL8regwPNdSjqmw1Pa0 NIOw4.Uulf3jzTd3vJHSnV0ed0Cge5fQXa9drZyzBophLKvw_zIXJtYx8ihyGK9qUReTHffrPGm4 KQrJztdreQSU12WA5AVBzUdQWBkKywUczB2nxqGXFIz8XU8BXYJGSnCGd5NXkQt4GaqnhI9yBPFx L.4PKbMAbLdOM.MdeluHXeuDwMJ5z7cYL6lDl7DF1cWAWOubT3G31BatD7o_xUXEkr1TRgcGtjVd OvXtbp9RPOVHmDz2u9VLkHEmsa3RCv.eYjJyXNoSJXXFJAOvw9UVUN8RZO1d3_KFZF37EqBQmSXv Jtgh1jHWaLuwcJ2Pp6rvP_lUtfiOxBuDAyMUxkhcRj4untK2QR9pq5dEkp3P_PDBJnuSt5YhtsVf ho_GtBFevyBwfoCPrNHoymNBhhPKyAageFuys1siwcg207x6IasnzsGbK6vZyoQj9sLl7FTYsxY7 6ta5FbjuIstJkqDJS5jzcv4Cy4VV1aO7V7fL51KPxB.H4k2AfkTQhZyPgKswcftRupIhfO1DgyuZ 2lBVcfRlJ.3.fpYvaG1DHn.Lu1AjoEJmbHRhl02bsGXh3x1O0sozSf_vLDgPqTNDPCtzJZoXtQBo VCNLukKtIif6_NEo8VvTUjTAb0mSxp1tMkXg80u4JHidnP26ECBq2py4_Zcm7C9JbK5IdWQa0CN1 q.Gp37ax5nZmkVUWFEoBTlUBFJMF6VpcNiwdcUOkfH.mNufDLwuTsjEEWFwAPzisn0eN20NCuxaw vuUQTBIP_7xzNeRaVeRsbwgP8MsRGieIQhDpFwEVbYFtVuR5.IP_KuL9xaFzeWlfG7zj6vrapZgG xjLtqongUJxnSuQO7aWq_3vQ6hfJ5hLVIBtPub4mypk53Y8KF1Vk1vWKVQfpSUcs_6hXztI9s.bF b7p.QUFxrfxKU.lgdZcttTO0Xdx6TUl0sy2kJipMqGwlAOvyn0xYHYuZcRygmC7rwWnbZbqOo_FA JuWzX_LkFrqdwz7mDDmDbX3_G1gLsJzShFh9BeP5mMqC9VgwWYLsKdph2jK5611yLehkJFqtUpqP ILB26gLj7xpCasvfQ23xXLQJIEktHiE61OO88gTIH4yyQ9CJ9VCtVARfJbGzKAtYTD_OUSw5KApJ CWiZl9t4p67Se.PKVIJqYpoG0fFyJAcHsv5EvAvW1R6vgpcIlHDeTTSRfdCycXfMGsjOir2erRE5 1PeqR.C8qP.ZLMyH3QgjNE3MMzYNy9FGeD2C_3kR0aeHQHSaPqzRzoPYRr.oen.zstPc5IYdZpVo gYc5lK4Pw3EAXnAZv80frd_P5_mvl12pEIcxHAD_ebpTC8cTRcB8Og7Kt3oXuwjmm2.NnS9TrcQ- - X-Sonic-MF: X-Sonic-ID: f540ed51-663f-48b8-b0bf-c73a67bd40d3 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Tue, 30 Apr 2024 03:11:17 +0000 Received: by hermes--production-gq1-59c575df44-8sqjb (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 790068e2cbc60389ccfaa2a3015f745b; Tue, 30 Apr 2024 03:11:16 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: pkg server for current/arm64 stopped ? [main-armv7 on ampere2, elapsed so far: 651:21:56] From: Mark Millard In-Reply-To: <046DE453-9F01-4D07-9E14-EF22E537A163@yahoo.com> Date: Mon, 29 Apr 2024 20:11:05 -0700 Cc: void , FreeBSD Mailing List , Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <5243EC66-2A75-4C06-B2F7-E9E6E6C2840A@yahoo.com> References: <03736C90-EE54-47B3-AEA7-ED1AC0343B4B@yahoo.com> <046DE453-9F01-4D07-9E14-EF22E537A163@yahoo.com> To: Philip Paeps X-Mailer: Apple Mail (2.3774.500.171.1.1) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.46 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.96)[-0.965]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_CC(0.00)[f-m.fm,freebsd.org]; TO_DN_ALL(0.00)[]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; DKIM_TRACE(0.00)[yahoo.com:+]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.84:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.84:from]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; SUBJECT_HAS_QUESTION(0.00)[] X-Rspamd-Queue-Id: 4VT4wR63CSz4hs3 On Apr 29, 2024, at 19:54, Mark Millard wrote: > On Apr 28, 2024, at 18:06, Philip Paeps wrote: >=20 >> On 2024-04-18 23:14:22 (+0800), Mark Millard wrote: >>> On Apr 18, 2024, at 08:02, Mark Millard wrote: >>>> void wrote on >>>> Date: Thu, 18 Apr 2024 14:08:36 UTC : >>>>=20 >>>>> Not sure where to post this.. >>>>>=20 >>>>> The last bulk build for arm64 appears to have happened around >>>>> mid-March on ampere2. Is it broken? >>>>=20 >>>> main-armv7 building is broken and the last completed build >>>> was the one started on Mon, 19 Feb 2024 12:32:10 GMT. It >>>> gets stuck making no progress until manually forced to stop, >>>> which leads to huge elapsed times for the incomplete builds: >>>>=20 >>>> [...] >>>>=20 >>>> My guess is that FreeBSD has something that broken after bd45bbe440 >>>> that was broken as of f5f08e41aa and was still broken at 75464941dc = . >>>>=20 >>>=20 >>> One thing of possible note: >>>=20 >>> Failing . . . >>>=20 >>> Host OSVERSION: 1500006 >>> Jail OSVERSION: 1500014 >>=20 >> I have finished a package builder refresh this morning. All our = builder hosts (except PowerPC - I don't touch those) are now on = main-n269671-feabaf8d5389 (OSVERSION 1500018). >>=20 >> ampere1 successfully finished its 140releng-armv7-quarterly build, so = it looks like the problem with stuck builds was limited to ampere2 = building main-armv7. I'll keep a close eye on this one when it starts = its next build. >>=20 >=20 > I see that main-armv7 started. >=20 > It queued only 31935 instead of the prior 34528 (or more): it is doing = an > incremental build instead of a full build. For example, pkg was not = built > but instead the prior build is in use. Thus bad results from the prior > build might be involved in this new build. >=20 > I'd recommend forcing a full "poudriere bulk -c -a" that does a = from-scratch > build for the purposes of the main-armv7 test. Actually the test is not going to previde the information we are after as things are. giflib-5.2.2 failed to build, which leads to devel/doxygen being skipped. devel/doxygen was the first one to hang up in the prior 2 failing attempts, if I remember right. giflib-5.2.2 also causes graphics/graphviz to be skipped. graphics/graphviz was installed just before the hangup in all of the example hanups. So the context will not be replicated. We need graphics/giflib to build to actually do the test. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Tue Apr 30 03:16:16 2024 X-Original-To: freebsd-current@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 4VT52W2nnyz5J0MG for ; Tue, 30 Apr 2024 03:16:35 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic313-21.consmr.mail.gq1.yahoo.com (sonic313-21.consmr.mail.gq1.yahoo.com [98.137.65.84]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4VT52T5gjbz4kgg for ; Tue, 30 Apr 2024 03:16:33 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=ObTcWVPV; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.84 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714446992; bh=xKqXV1MaOR8pIMMWtD+2shSU3LwmxGQIsDR92Houc9I=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=ObTcWVPVMvUuhcQgUv9qQ4IGnO37+dcHMA7r3w3I6Xh9BpVNl3vM1JYWf4OO6yvTLWa2XBfjMfZrxq4szIC41YuiKITL973o0SrEgdeqlTq6huv/PuUlPCkn+ZNNENwGFiAOt2wQUzgaaEWg0kNYOXmezLmC0I88ofnmIJSZI5bqw46Vn2alpkGYNXCwuQva50EDOygcjL94x5XzB4LfbT86w3tvCMKUDl8Xx1gcBaiZVN78HcEtg6Ygc1D28EI+7CUqWm+CSdQTw0zR65IHM1pLKbSipt1q8DviiFat4mT3NQ1K7DWElkXSxd4Xx9Q4cYJXZosHzmoz+4hOnlhmaw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714446992; bh=OQ8is6XhF7YIYm9BLc3dlIZnj7ykfRB8KQrYtZ06GKJ=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=SOfw7pv4c/nBwlzsUVg/gzoxuqIUfKh3jawXTvrFcFecBhQ3MQOBpPDcLE2uZmLYE2+q68YwDUOB886vJg4/w532oe7g8n2pS0varpTYfYPcJPW4UsGxMEIJ9Mk+6Y+EK9JjBKnYtUjY4buL6aA05zGGQTKFx5Au8u64Z7uszDeVkvupzYCPRnfh03Uu65QPkh6aRtXUGBOEm1d2uI80gma03IV+VhvSZHiXy47k+CuqB86qs76U+WVh3Kl560FCSifKeYL8a5x9l1o8NM1sS4gxpXOEefUTsgb/HNiCKl3nFUl4z5/fMe/cJLQ25l+FLdikvhKa4xzLBRr9J8oYBw== X-YMail-OSG: qOQsTlkVM1nvU.lEF3EY0HqftxI_.cNity5BA0YlMvTNhie02ap665EruH1rWC0 TjQrBf4ghuxnWV97jztCyvPZEe1uss_O_PqlHZjPYrXSuZb4sohH3zR_tX_9DMIVaZWvRy5vmcUI 6qrXF3Oc4y_x9o.dHXAOAflBuKt.XeBjzLXJbEV1ToVSQevXaZMOwsw.K4KG3HKz4EE5KKn7kAvw 9NM1w21r6zlzh33fR_lJXAjyMNnSP6Ugg6sdvLGexGJi.nL8w8ojyLHAnDROuKWNX2vrcN4sX1Uy wzaaomLn82e4nyAFWJNb6JmbrOpau10XiAi54l4x9dA8vPbeeHcmPGeNFhZ8BdUpYTTfhP2e0yRc y_0cKcQCvXlQMz3N4l2b6Uy0wnCqHUKkYun2syb.3zSYaXNH6a2DyDIjd6Wv1LrqEGQfdzmgiIby Z1KWD66lcP8YNr.wJfK4_FrWzzNpHSyC7k1zJOmJnzV5FY6QfHOCJqRSxT.KEyWk8xwO7oyj7J7M TMH5yhsXyBVzOcPW4L9YcdaGxD3KVSf3eRalTZ_fyvsCmC9kI39PzWJ6Lj7l3BBZEf32Qz0Q_7uV KuWdPdpoU28UitGpY0Fm_wqI.aOzjxPJsyA4LZSokAXUJ4_eb_by7kZ1sr.TM3K0J7sRMs3ixXup WHi4harfjc7BYNjlGkT667Jks_bau6m5lyj2GEcK2FuUh9Sudw.7fru_j_1656DtLutaoXYN3AJl 8K4GtL9U7RQ.Z4Co6eC3iG0ipGqUt5h_rDnNdQn5uqQX95nCqgdC8aGDkrEw7zydf8KSCC8fV6p1 _0_j8DOaETkcZHe0rX6NvCPnfGLme7IAfWAoGkJBThk8MBJmn5L0lk8rzMfeif3a3Q1O8PJFB0aC T9PAIZxyKRANtdZmtTZG.B2Plo4d2uiO.TO2TL5MxH6lL6jNoYB5p1Qvscm6d0LgPddCk3bwWdTL Plclx008mNcXFzy61UKVdVF2GFKO3pBk6Rbj96SnAE8LSkbHuqx4WLV7vMVVpuckhS9hczo7wgnt vfeMGeh9WwrlaWtudTu.LnjtrKuB5RkMbQ9XjjLon0gExEU2.18NN4oX.LB_ddswHmBRloP1m8Pt gGyFyKTUbZR.98FsetbmWyMD7whZwQEtAXhB4qwjKj..DGu8.k.cygGy6USehaFEO6nqvQxS157t q_RCTUVaRNyXQTxV3VycswZVqFJyudhsxN_ArUrXLiJWQPUYVpeYjC9kU7r1GJfMbEf5i_5qz27N .thG2xWEfIsWK8CiN.CawgowNK2PFhxm2EluTLuVUuPdDloQlBfqRFkERt_6KO5C7Ktp3toSYNZH lM3NScxw5YLUD09keYfUR4o2Nhgqq.lRJrWWRR1EKMZjEmgzatlHix4MwNYz4mJj3i3DcMuE9QkV TpmP3_IZVucAy6qaf5nBWYxgRCqE_JHKaPqbVR5nLqFUrbAzg8z6A5w2A0kJAvtDjfkVen2RLwaO F7MonpTyFbiZJ3svaHIn3vg6fGjHD.uOgmdJfId3_8GjmI_qkWg3uh0rfj8TkbSyZsvGwUYTarKE W5aJJwv09qr8nzzzTtgh3.mBsFk1_7S.jlitfvIwyh3F8dXfEnLZuXODuONP0gbU9WILZdjAculT MvA0IsoVOJkqgt6b5G0vRygmdHfLXbuNS33bwhke5PQhzBd1GoUrPC4iVSMsE2VDOj_1fPF1kbOl CKikrE20XVOv3lZJNQtknaeiAS_M.DEumwlU_mw7na.C5kyifAiinlEaZ2h7jF0tpPCwR2TSzbRs yFRgBPc7e04TGXQmmGf0bIg4DBNY89aG9Kj0jdqtXbH9NmmUevAfgoyKM0BOfKe2sgI7J8cdGA7c aYTitXwCcfep5Upu0u7x2PNTplh6_XrLY2F0P28HMyglZ0wXwiyOvQ1bNCCPBzcgJSDGcvCPQmhj 2a93cUpbb5GuxaNspGrRUVRmSjaLrDYmCnYXfXgfabD7PUuApIXCtYhPjA1K58TuOHbI- X-Sonic-MF: X-Sonic-ID: cf850b8d-b6bb-4515-894d-70a0de8f6020 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.gq1.yahoo.com with HTTP; Tue, 30 Apr 2024 03:16:32 +0000 Received: by hermes--production-gq1-59c575df44-2njcf (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 534c252cc0da0ee83ac51a286ed6169a; Tue, 30 Apr 2024 03:16:27 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: pkg server for current/arm64 stopped ? [main-armv7 on ampere2, elapsed so far: 651:21:56] From: Mark Millard In-Reply-To: <5243EC66-2A75-4C06-B2F7-E9E6E6C2840A@yahoo.com> Date: Mon, 29 Apr 2024 20:16:16 -0700 Cc: void , FreeBSD Mailing List , Current FreeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <3CF25092-E285-43E2-9B7A-F5108E4E0A7A@yahoo.com> References: <03736C90-EE54-47B3-AEA7-ED1AC0343B4B@yahoo.com> <046DE453-9F01-4D07-9E14-EF22E537A163@yahoo.com> <5243EC66-2A75-4C06-B2F7-E9E6E6C2840A@yahoo.com> To: Philip Paeps X-Mailer: Apple Mail (2.3774.500.171.1.1) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.46 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.96)[-0.959]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; TO_DN_ALL(0.00)[]; FREEMAIL_CC(0.00)[f-m.fm,freebsd.org]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.84:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.84:from]; SUBJECT_HAS_QUESTION(0.00)[] X-Rspamd-Queue-Id: 4VT52T5gjbz4kgg On Apr 29, 2024, at 20:11, Mark Millard wrote: > On Apr 29, 2024, at 19:54, Mark Millard wrote: >=20 >> On Apr 28, 2024, at 18:06, Philip Paeps wrote: >>=20 >>> On 2024-04-18 23:14:22 (+0800), Mark Millard wrote: >>>> On Apr 18, 2024, at 08:02, Mark Millard wrote: >>>>> void wrote on >>>>> Date: Thu, 18 Apr 2024 14:08:36 UTC : >>>>>=20 >>>>>> Not sure where to post this.. >>>>>>=20 >>>>>> The last bulk build for arm64 appears to have happened around >>>>>> mid-March on ampere2. Is it broken? >>>>>=20 >>>>> main-armv7 building is broken and the last completed build >>>>> was the one started on Mon, 19 Feb 2024 12:32:10 GMT. It >>>>> gets stuck making no progress until manually forced to stop, >>>>> which leads to huge elapsed times for the incomplete builds: >>>>>=20 >>>>> [...] >>>>>=20 >>>>> My guess is that FreeBSD has something that broken after = bd45bbe440 >>>>> that was broken as of f5f08e41aa and was still broken at = 75464941dc . >>>>>=20 >>>>=20 >>>> One thing of possible note: >>>>=20 >>>> Failing . . . >>>>=20 >>>> Host OSVERSION: 1500006 >>>> Jail OSVERSION: 1500014 >>>=20 >>> I have finished a package builder refresh this morning. All our = builder hosts (except PowerPC - I don't touch those) are now on = main-n269671-feabaf8d5389 (OSVERSION 1500018). >>>=20 >>> ampere1 successfully finished its 140releng-armv7-quarterly build, = so it looks like the problem with stuck builds was limited to ampere2 = building main-armv7. I'll keep a close eye on this one when it starts = its next build. >>>=20 >>=20 >> I see that main-armv7 started. >>=20 >> It queued only 31935 instead of the prior 34528 (or more): it is = doing an >> incremental build instead of a full build. For example, pkg was not = built >> but instead the prior build is in use. Thus bad results from the = prior >> build might be involved in this new build. >>=20 >> I'd recommend forcing a full "poudriere bulk -c -a" that does a = from-scratch >> build for the purposes of the main-armv7 test. >=20 > Actually the test is not going to previde the information we are > after as things are. >=20 > giflib-5.2.2 failed to build, which leads to devel/doxygen being > skipped. devel/doxygen was the first one to hang up in the prior > 2 failing attempts, if I remember right. >=20 > giflib-5.2.2 also causes graphics/graphviz to be skipped. > graphics/graphviz was installed just before the hangup in all of > the example hanups. So the context will not be replicated. >=20 > We need graphics/giflib to build to actually do the test. Looks like: = https://cgit.freebsd.org/ports/commit/graphics/giflib?id=3D5007109903fc271= e3ef0ba01d78781c1fed99f3f is the fix for the graphic/giflib build failure. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Tue Apr 30 12:26:08 2024 X-Original-To: freebsd-current@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 4VTKDr4Hw8z5J7tf for ; Tue, 30 Apr 2024 12:26:20 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 4VTKDr1m6Mz4TR1 for ; Tue, 30 Apr 2024 12:26:20 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714479980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=vJV7KeuYkIr6FK7OwwtGOnxI78epElqXKDd+3JWqW2A=; b=MLzK+iuaGaeNVU03CmD9r6F5YdOUrkXYFPpCX7uCioFmYAhnfCYZG1X4ap6NYJg6hrQ/Cj g4b5FlyZCxVazvr6IIV2bzDay3I/+UPr+Sv6Z0LscovIugUdGVqDMg9+Nfo9YSc4g0KpGZ AUjHA4/zvy3ornKRcOCh5460PF2TP/eOvVC3bGCr8VzJ3wc+8+YV9ycR3E2SfsgcvtHSXZ cW6byO8WRH1lnfHtGg4DBl4ej+Xg124pc1bj3oFYEofL7NECLTELHbNc5BMFT7O6AetRFW pVmHFBZ9OQ3Bx1K2BcnYEK2FfWtKah7wQp84c8UmBm/oToMHlj08xW4WAjh63w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1714479980; a=rsa-sha256; cv=none; b=uks7Jw9JbPtTcC9ch9affyLpwgXcuapYDuAcbmiJxdnGC+h0KVC5oTbKECk6Q5aT+6DpUU 9DeTonvzUma+3IVIYVIQ3bxHCR/gsMFKxvmYTNYHHHavN+t2nNbVlGQfOXeEDXJhVyDhMJ v5EepCqCZxsX/NZff6jT4dNk4t9ladmxsPN0f4XmpM9jUna5/BZPrsNuJ8+bRwT0HYl3EQ K4XJ9UA2Yxiv+r7Ybbj9+olFtRJwv1M1TJc3SU4OYU/uvHWZcnzGKWI/cleoiAlQzNz1en gbuAXnOZ20Y54tHZyDi9n81K/9p0mbtV9oh8/5stgdxAFrpoMMbJEzlpl5O1wg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714479980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=vJV7KeuYkIr6FK7OwwtGOnxI78epElqXKDd+3JWqW2A=; b=fHNtq7Sy97H8XmNELC1EuPpMz10FjypdV/l/hKUfbPfMgqFzLJhNucxJ/Wsuycluaz7W/B ApNazs+wncNh7gcbinVpsyZNJ26yFlAA8oc5x+t3EGLnINIlq1w3IlaA14olehg068bpev Dym1RJVd0/VR54EzouDR6lUhTDV2QjZgD4KDteAQAuZQvR6Z1tzoFuNDZ47FcPm6KEYeiM UHOmWXx67zCvtKCLXU2qTOzggMC122mk5tvm/7NQoaoRs4oyYYEFxLzykfbZe9OJhsS3m+ fEhKBpKjwL+yanOiu+HlrX2U6mCVfhmd93Cel23hoewAV67YAi5S89bvWurSHg== Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4VTKDr17rCz1D6V for ; Tue, 30 Apr 2024 12:26:20 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qt1-f182.google.com with SMTP id d75a77b69052e-434c3d21450so29085251cf.0 for ; Tue, 30 Apr 2024 05:26:20 -0700 (PDT) X-Gm-Message-State: AOJu0YyNLBL5OW+Mci++DNdS2ehCT/7S5bw3JpEotoNLkVenVut1WSIi a+yuwqSuM53zMjl+O9zpLApnm2dHtQaESN5JIAD9BCwu1JtNskNPA4K2nZcqXu+WNZDLJ7OUQEs 3hj7JMLEobJwU5LL0FLojvpUfebs= X-Google-Smtp-Source: AGHT+IGFBYrjyUZsg8+ylrDX5nok/d6vguRUZjcsf81tEQ7bpkCNs6gFo62uYTNAZGKzvooaqT2nMXZsBZ5nSK0XtBI= X-Received: by 2002:a05:622a:246:b0:436:f25c:f14d with SMTP id c6-20020a05622a024600b00436f25cf14dmr15258999qtx.19.1714479979200; Tue, 30 Apr 2024 05:26:19 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 From: Nuno Teixeira Date: Tue, 30 Apr 2024 13:26:08 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: build failure affecting port: "error: reference to 'filesystem' is ambiguous" To: FreeBSD CURRENT Content-Type: multipart/alternative; boundary="00000000000022926f06174f7a40" --00000000000022926f06174f7a40 Content-Type: text/plain; charset="UTF-8" Hello all, I'm lost on build failure of audio/amsynth (updated to version 1.13.3) on recent main. Thre strange thing is if I use llvm from ports, USES+=llvm, it fails with same error so I suspect that something related to main. Any help is welcome and I didn't openned an upstream PR yet. Thanks, --- src/Configuration.cpp:35:20: error: reference to 'filesystem' is ambiguous 35 | amsynthrc_fname = filesystem::get().config; | ^ src/filesystem.h:27:7: note: candidate found by name lookup is 'filesystem' 27 | class filesystem | ^ /usr/include/c++/v1/__chrono/file_clock.h:49:1: note: candidate found by name lookup is 'std::filesystem' 49 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM | ^ /usr/include/c++/v1/__config:892:80: note: expanded from macro '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM' 892 | inline namespace __fs { namespace filesystem { | ^ src/Configuration.cpp:60:22: error: reference to 'filesystem' is ambiguous 60 | current_bank_file = filesystem::get().default_bank; | ^ src/filesystem.h:27:7: note: candidate found by name lookup is 'filesystem' 27 | class filesystem | ^ /usr/include/c++/v1/__chrono/file_clock.h:49:1: note: candidate found by name lookup is 'std::filesystem' 49 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM | ^ /usr/include/c++/v1/__config:892:80: note: expanded from macro '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM' 892 | inline namespace __fs { namespace filesystem { | ^ 2 errors generated. gmake[2]: *** [Makefile:3376: src/amsynth_dssi_gtk-Configuration.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... src/PresetController.cpp:474:9: error: reference to 'filesystem' is ambiguous 474 | return filesystem::get().user_banks; | ^ src/filesystem.h:27:7: note: candidate found by name lookup is 'filesystem' 27 | class filesystem | ^ /usr/include/c++/v1/__chrono/file_clock.h:49:1: note: candidate found by name lookup is 'std::filesystem' 49 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM | ^ /usr/include/c++/v1/__config:892:80: note: expanded from macro '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM' 892 | inline namespace __fs { namespace filesystem { | ^ mv -f src/.deps/amsynth-AudioOutput.Tpo src/.deps/amsynth-AudioOutput.Po 1 error generated. --- -- Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --00000000000022926f06174f7a40 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello all,

I'm lost on b= uild failure of audio/amsynth (updated to version 1.13.3) on recent main.
Thre strange thing is if I use llvm from ports, USES+=3Dllvm, it f= ails with same error so I suspect that something related to main.

Any help is welcome and I didn't openned an upstream PR= yet.

Thanks,

---
src/Configuration.cpp:35:20: error: reference to 'filesystem'= ; is ambiguous
=C2=A0 =C2=A035 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 amsynthrc_f= name =3D filesystem::get().config;
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 ^
src/filesystem.h:27:7: note: candidate found by name lookup is = 9;filesystem'
=C2=A0 =C2=A027 | class filesystem
=C2=A0 =C2=A0 = =C2=A0 | =C2=A0 =C2=A0 =C2=A0 ^
/usr/include/c++/v1/__chrono/file_clock.= h:49:1: note: candidate found by name lookup is 'std::filesystem'=C2=A0 =C2=A049 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
=C2=A0 =C2=A0 =C2= =A0 | ^
/usr/include/c++/v1/__config:892:80: note: expanded from macro &= #39;_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM'
=C2=A0 892 | =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0in= line namespace __fs { namespace filesystem {
=C2=A0 =C2=A0 =C2=A0 | =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
src/Configurati= on.cpp:60:22: error: reference to 'filesystem' is ambiguous
=C2= =A0 =C2=A060 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 current_bank_file =3D filesystem= ::get().default_bank;
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^src/filesystem.h:27:7: note: candidate found by name lookup is 'filesy= stem'
=C2=A0 =C2=A027 | class filesystem
=C2=A0 =C2=A0 =C2=A0 | = =C2=A0 =C2=A0 =C2=A0 ^
/usr/include/c++/v1/__chrono/file_clock.h:49:1: n= ote: candidate found by name lookup is 'std::filesystem'
=C2=A0 = =C2=A049 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
=C2=A0 =C2=A0 =C2=A0 | ^/usr/include/c++/v1/__config:892:80: note: expanded from macro '_LIBC= PP_BEGIN_NAMESPACE_FILESYSTEM'
=C2=A0 892 | =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0inline namesp= ace __fs { namespace filesystem {
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
2 errors generated.
gm= ake[2]: *** [Makefile:3376: src/amsynth_dssi_gtk-Configuration.o] Error 1gmake[2]: *** Waiting for unfinished jobs....
src/PresetController.cpp= :474:9: error: reference to 'filesystem' is ambiguous
=C2=A0 474= | =C2=A0 =C2=A0 =C2=A0 =C2=A0 return filesystem::get().user_banks;
=C2= =A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= ^
src/filesystem.h:27:7: note: candidate found by name lookup is 'fi= lesystem'
=C2=A0 =C2=A027 | class filesystem
=C2=A0 =C2=A0 =C2=A0= | =C2=A0 =C2=A0 =C2=A0 ^
/usr/include/c++/v1/__chrono/file_clock.h:49:1= : note: candidate found by name lookup is 'std::filesystem'
=C2= =A0 =C2=A049 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
=C2=A0 =C2=A0 =C2=A0 |= ^
/usr/include/c++/v1/__config:892:80: note: expanded from macro '_= LIBCPP_BEGIN_NAMESPACE_FILESYSTEM'
=C2=A0 892 | =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0inline na= mespace __fs { namespace filesystem {
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
mv -f src/.deps/amsynt= h-AudioOutput.Tpo src/.deps/amsynth-AudioOutput.Po
1 error generated.
---

--
Nuno Teixeira
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--00000000000022926f06174f7a40-- From nobody Tue Apr 30 17:45:45 2024 X-Original-To: freebsd-current@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 4VTSKR5Xyqz5Jd98 for ; Tue, 30 Apr 2024 17:45:47 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 4VTSKR51vdz41KQ; Tue, 30 Apr 2024 17:45:47 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714499147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6bjySrDN+yVHr93yq/8DHG/G4LqMxsBdbSTlyFqs4lY=; b=KoVE86V40+vRrQ8Pi0I0uObwTxrr0J1vl054nzIsZNnuzs2s5j1W/wMzTlLnrcpYKG7wK7 aWsjiQ3L/dPH9uslXVzH5GSMNofN8KzSmjYLXLLmMGn0asgJu6PHHvsfoe31uUhtuGBA09 iFieYpP+x5u4Cg9mpwlHHCJH4rtKC2kiQ2x/zRCsAR9rQ6PZf93QkMiCseM4VO8sQP17Y0 XqpDfhIrFxE6zsgxBeO16rRJNmT8+CLDSGiaGuHDXDamFcmLpmW8telbNvXIo39MscjzGc qchoXdZ97URa03ReanSRzi02b9ey1fzSnVFIDXNwc12V7G2/dLi87a8YMTYWoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1714499147; a=rsa-sha256; cv=none; b=WEjmIWQTCs/1Fyt1wUmZOd+60QTOpCrigNvDtor7s/A8OCf668UAq+wZUnA1SKSB7QO2na 7q/QBXBmUQSpM3/0FU9k4lpdj0v6GPxao21qc1K3FkQD+tsM7S/TOANeSP04odPxBSod7g y8ErAAruo7Umr8z7bYJKu/YyubSAbIJN6qTLiJ3D4LjKvFDxGZHHLuYB/xhOr7EvUj8yqs XQmEH9dyXhwPsProAJX3oFMQYhP5KU+lKa4nzljFYslLnN0vpT5cF2Z+4KRGeP0Hx9hlGq oyb1QYqIqB/QINMRk0cW0rDNMQrFDpJlBctb54LkOlH1xw1YD3ZTtsRyA/D7Mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714499147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6bjySrDN+yVHr93yq/8DHG/G4LqMxsBdbSTlyFqs4lY=; b=vpujRQHRXWLMq4b9ioLZsX1tNcOQz0cLxrpcN8/Lt6fmh4ubnIj0j4SOpMgMLnnyq4+mbg Vxs4Temk881+ieB1+d2dg1ca935w//O5ZnahaTMI+eNvyqYOXTi3LSJ0JUl8yDo+CvPrTZ RnV/b3tUwr3W2EvRK2AMi6T41TH1ISr7VX+L7+exMq08AdPnnat9Ab8ipYdEkp98eMhFY3 Xf+APxAOSjO80dm71lhTvvcVNjR7xoWtCRl7OFO+nrmDDMxUBo5cU+zbvGeBjIMVgJQItd xn6/mr6hCt8OvcRwDz3Kn+2pBjHQZQFtZuN4fe/2J9VZrCEwOKEnXRTv2gh0pw== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (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 (2048 bits) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "R3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4VTSKR3wphz1L7t; Tue, 30 Apr 2024 17:45:47 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id B31D55E662; Tue, 30 Apr 2024 19:45:45 +0200 (CEST) Content-Type: text/plain; charset=us-ascii List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6.1.1\)) Subject: Re: build failure affecting port: "error: reference to 'filesystem' is ambiguous" From: Dimitry Andric In-Reply-To: Date: Tue, 30 Apr 2024 19:45:45 +0200 Cc: FreeBSD CURRENT Content-Transfer-Encoding: quoted-printable Message-Id: <8A27C44B-FBB9-479B-866A-13E06AB8266A@FreeBSD.org> References: To: Nuno Teixeira X-Mailer: Apple Mail (2.3731.700.6.1.1) On 30 Apr 2024, at 14:26, Nuno Teixeira wrote: >=20 > I'm lost on build failure of audio/amsynth (updated to version 1.13.3) = on recent main. > Thre strange thing is if I use llvm from ports, USES+=3Dllvm, it fails = with same error so I suspect that something related to main. >=20 > Any help is welcome and I didn't openned an upstream PR yet. >=20 > Thanks, >=20 > --- > src/Configuration.cpp:35:20: error: reference to 'filesystem' is = ambiguous > 35 | amsynthrc_fname =3D filesystem::get().config; > | ^ > src/filesystem.h:27:7: note: candidate found by name lookup is = 'filesystem' > 27 | class filesystem > | ^ > /usr/include/c++/v1/__chrono/file_clock.h:49:1: note: candidate found = by name lookup is 'std::filesystem' > 49 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM > | ^ > /usr/include/c++/v1/__config:892:80: note: expanded from macro = '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM' > 892 | inline namespace = __fs { namespace filesystem { > | = ^ It looks like the program defines its own "filesystem" class, and also has "using namespace std;".=20 Usually the easiest fix is to use "::filesystem" for the call sites that want to use the program's own definition. Alternatively, rename the 'local' definition to something else, like "my_filesystem". -Dimitry From nobody Thu May 2 08:35:21 2024 X-Original-To: freebsd-current@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 4VVS1Y0Z2hz5JbGr for ; Thu, 2 May 2024 08:35:29 +0000 (UTC) (envelope-from cglogic@protonmail.com) Received: from mail-4318.protonmail.ch (mail-4318.protonmail.ch [185.70.43.18]) (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 "protonmail.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VVS1W75LPz4dqZ for ; Thu, 2 May 2024 08:35:27 +0000 (UTC) (envelope-from cglogic@protonmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=protonmail.com header.s=protonmail3 header.b=V95C4he5; dmarc=pass (policy=quarantine) header.from=protonmail.com; spf=pass (mx1.freebsd.org: domain of cglogic@protonmail.com designates 185.70.43.18 as permitted sender) smtp.mailfrom=cglogic@protonmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1714638925; x=1714898125; bh=7gu11WQj6TspTbrYuIsv38GDODEHGJlIR+i03BWFt+E=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=V95C4he5Bhkb/ZS4yb7Jpl1sFDF6E2cWP51UAHXoaDvV6XLCLvswBu/NqXTbuBF8r t43HykgFmBgdLEiafU7y3jM+d9/viLBU0ddwLa69MZkvPRkF2N47/j+D+wVw/TrWt9 6VP0DAh82ppi/MkbMi7hfB7Ixt8Xx6M261fhAwgSnN4akt3obb5CTqC8jjJL5A5sEo +g/X4vKK4wnIRdzQ+Iy1U7zwFAhawsgfz5GxNrjuG9YJsxFzfhJsOf0Opit8yEfLpQ q5Eeu8sR4tenmE5glXF3R2EuiT0lyqJ3CZPb60fMZ7BQFCfmdAZTx3+6EttOtJ+B09 MQoiNvU9x93XA== Date: Thu, 02 May 2024 08:35:21 +0000 To: FreeBSD CURRENT From: cglogic Subject: 14.1-PRERELEASE boot stuck on feeding entropy Message-ID: Feedback-ID: 25313618:user:proton X-Pm-Message-ID: a4b29eec6694da78136b461a164f05d35a4529d5 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_cjBA4XA7W5Ty8eeYZXN8774bedJpggbREM0M2ZtRJI" X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.32 / 15.00]; MIME_BASE64_TEXT_BOGUS(1.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999]; NEURAL_HAM_SHORT(-0.99)[-0.992]; DMARC_POLICY_ALLOW(-0.50)[protonmail.com,quarantine]; NEURAL_HAM_MEDIUM(-0.22)[-0.224]; RWL_MAILSPIKE_VERYGOOD(-0.20)[185.70.43.18:from]; R_SPF_ALLOW(-0.20)[+ip4:185.70.43.0/24]; R_DKIM_ALLOW(-0.20)[protonmail.com:s=protonmail3]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; TO_DN_ALL(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; HAS_PHPMAILER_SIG(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_FROM(0.00)[protonmail.com]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[protonmail.com:+]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:62371, ipnet:185.70.43.0/24, country:CH]; RCVD_COUNT_ZERO(0.00)[0]; MISSING_XM_UA(0.00)[]; FREEMAIL_ENVFROM(0.00)[protonmail.com] X-Rspamd-Queue-Id: 4VVS1W75LPz4dqZ This is a multi-part message in MIME format. --b1_cjBA4XA7W5Ty8eeYZXN8774bedJpggbREM0M2ZtRJI Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGVsbG8sCgpBZnRlciB1cGdyYWRpbmcgZnJvbSBGZWJydWFyeSdzIDE0LXN0YWJsZSBhbWQ2NCB0 byAxNC4xLVBSRVJFTEVBU0UgYW1kNjQgb25lIG9mIG15IHN5c3RlbXMgY2FuJ3QgYm9vdCBhbnlt b3JlLiBCb290bG9hZGVyIHdhcywgb2YgY291cnNlLCB1cGRhdGVkLgpJdCdzIGZyZWV6ZXMgb24g IkZlZWRpbmcgZW50cm9weSAuIiBtZXNzYWdlLgpUaGUgc3lzdGVtIGluc3RhbGxlZCBvbiBwcmV0 dHkgb2xkIFN1cGVybWljcm8gc2VydmVyIHdpdGggZHVhbCBJbnRlbCBYZW9uIEU1NjIwIENQVSwg dXNlcyBCSU9TIGJvb3QgbWV0aG9kIGFuZCBoYXMgcm9vdCBvbiBaRlMuClRoaXMgQ1BVIGhhcyBu byBpbnRlZ3JhdGVkIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLCBpZiBJIHJlY2FsbCBjb3JyZWN0 bHkuCgpXaGVuIEkgbWFuYWdlZCB0byBib290IHRoaXMgbWFjaGluZSBmcm9tIHJlY2VudCAxNC4x LVBSRVJFTEVBU0UgaW5zdGFsbGF0aW9uIG1lZGlhLCBtb3VudGVkIHpyb290IHRvIHRlbXBvcmFy eSBkaXIsIHJlbW92ZWQgL2Jvb3QvZW50cm9weSBmaWxlIGFuZCByZWJvb3RlZCBpdCwgdGhlIHN5 c3RlbSBib290ZWQuCkhvd2V2ZXIgbmV4dCByZWJvb3QgaXQgY2FuJ3QgYm9vdCBhZ2Fpbiwgd2l0 aCB0aGUgc2FtZSAiRmVlZGluZyBlbnRyb3B5IC4iIGxhc3QgbWVzc2FnZS4KCk1vcmUgbW9kZXJu IGhhcmR3YXJlIG5vdCBhZmZlY3RlZCBieSB0aGlzIGlzc3VlLgoKVGhhbmtzLg== --b1_cjBA4XA7W5Ty8eeYZXN8774bedJpggbREM0M2ZtRJI Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5IZWxsbyw8L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPkFmdGVyIHVwZ3JhZGluZyBmcm9t IEZlYnJ1YXJ5J3MgMTQtc3RhYmxlIGFtZDY0IHRvIDE0LjEtUFJFUkVMRUFTRSBhbWQ2NCBvbmUg b2YgbXkgc3lzdGVtcyBjYW4ndCBib290IGFueW1vcmUuIEJvb3Rsb2FkZXIgd2FzLCBvZiBjb3Vy c2UsIHVwZGF0ZWQuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNl cmlmOyBmb250LXNpemU6IDE0cHg7Ij5JdCdzIGZyZWV6ZXMgb24gIkZlZWRpbmcgZW50cm9weSAu IiBtZXNzYWdlLjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJp ZjsgZm9udC1zaXplOiAxNHB4OyI+VGhlIHN5c3RlbSBpbnN0YWxsZWQgb24gcHJldHR5IG9sZCBT dXBlcm1pY3JvIHNlcnZlciB3aXRoIGR1YWwmbmJzcDs8c3Bhbj5JbnRlbCBYZW9uIEU1NjIwIENQ VSwgdXNlcyBCSU9TIGJvb3QgbWV0aG9kIGFuZCBoYXMgcm9vdCBvbiBaRlMuPC9zcGFuPjwvZGl2 PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx NHB4OyI+PHNwYW4+VGhpcyBDUFUgaGFzIG5vIGludGVncmF0ZWQgcmFuZG9tIG51bWJlciBnZW5l cmF0b3IsIGlmIEkgcmVjYWxsIGNvcnJlY3RseS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj48YnI+ PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxNHB4OyI+PHNwYW4+V2hlbiBJIG1hbmFnZWQgdG8gYm9vdCB0aGlzIG1hY2hp bmUgZnJvbSByZWNlbnQgMTQuMS1QUkVSRUxFQVNFIGluc3RhbGxhdGlvbiBtZWRpYSwgbW91bnRl ZCB6cm9vdCB0byB0ZW1wb3JhcnkgZGlyLCByZW1vdmVkIC9ib290L2VudHJvcHkgZmlsZSBhbmQg cmVib290ZWQgaXQsIHRoZSBzeXN0ZW0gYm9vdGVkLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJm b250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxzcGFuPkhv d2V2ZXIgbmV4dCByZWJvb3QgaXQgY2FuJ3QgYm9vdCBhZ2Fpbiwgd2l0aCB0aGUgc2FtZSZuYnNw OzxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xv cjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+IkZlZWRpbmcgZW50cm9weSAuIiBsYXN0IG1lc3NhZ2Uu PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxzcGFuPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxp bmUgIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+PGJy Pjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5z LXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5Nb3JlIG1vZGVybiBoYXJkd2FyZSBub3QgYWZmZWN0 ZWQgYnkgdGhpcyBpc3N1ZS48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNh bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxzcGFuPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBp bmxpbmUgIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+ PGJyPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5UaGFua3MuPC9kaXY+PGRpdiBjbGFzcz0icHJv dG9ubWFpbF9zaWduYXR1cmVfYmxvY2siIHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPg0KPC9kaXY+DQo= --b1_cjBA4XA7W5Ty8eeYZXN8774bedJpggbREM0M2ZtRJI-- From nobody Thu May 2 09:57:19 2024 X-Original-To: freebsd-current@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 4VVTrC3Nqkz5Jjff for ; Thu, 2 May 2024 09:57:31 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 4VVTrC2mQhz4p96; Thu, 2 May 2024 09:57:31 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714643851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=e3i0ldPNPbIa5kMAshsxxRRmoKhC4ZzHDq+tBxKLzjM=; b=PY46dVJOhlgMq2Ug0biLmD1vw8gGZrhg1UdL8IofzYKwRbpoegwivj465n5FyPY+qlXdAt KtYo0viXt2Qgffry1dO1cF0PXxLWeagLf7jgApNvh+Af8T9EzIV5ng/Nqb12G7nnpAuThL SzFMSEnyaIjInOi/4esdYgwH1iQ7F4bK5QNKwrjCU7uZmDfgnYz539AZCXxHjEB/g4yoqK EO/b2zJ6g8iTcB3n2l6xflcGe9/oGUY5NcnppbnOldhFMeSnXcwo/SPhOhuAfQVn03LVT/ OqbgGQH8z12/ERS/xUERYx0qdDX4Slupi4518bwdcq+tmgmr+VqSALL0Vu0ZqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1714643851; a=rsa-sha256; cv=none; b=ZXHC92X2IeqZ0r9u78JErI0+/MgfBIc8Z601gGLVbrh4IXOsxzBqH+1jOd9g6JsX/l8b4+ BiOkoKhksrf/33Qrv/mwOmzlxjNs3Cu1LzZa4nq1HUZ9bb7Roevo5Pc/e+xk9gAPpmcQFW Yuwxc09e/q0jMWoqM1B0m25YCUg1l8LhSmC2CdPa+N4wGKhoyY/X3L2bmtq4fV9WpbSliq FLFD+tv/c7d9/XwX2/qLrhO14/PFw342NTLghB+zlnvG+G29NB/b+keiFwr+j5KhJsc174 osQZhEsacM0KXya53WXvRAU2jUCXNSdcIsveE9gBioBU1YEO8Vv75zneyp9mEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714643851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=e3i0ldPNPbIa5kMAshsxxRRmoKhC4ZzHDq+tBxKLzjM=; b=hbyzDyQcJXnHx/ls6L2i9QhYqr3b8Z9VvUIOxP/8h7XLGecaqc8gq86pSPXrQhuVeQdjac QjNWiSpMBi98qNB4rDdZ0tMWMqDIbCvRRGIhVrv4mrnEglmfGXs1Wv88yoQb9GuQEzB3dY JMLL/8UqHS6YSKfWajXPF0eEcEP6cjOcVXor/Mrt8G24Emb2rZ7NJ7c+qVNlG4M+d75gEf RT+fvUe+TrBGjP4Eig6eJAGNWSj3EOAaaVCacYR4qqM4dscQ+8zLNxciXyCTgbD7Oxbk4A eZAHswrtM+vkmAzZ+owguCUbxLb6AzzCNRERx/gM68ks7Rr/PfF03yRhV2/B/g== Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4VVTrC28xzz190y; Thu, 2 May 2024 09:57:31 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qt1-f182.google.com with SMTP id d75a77b69052e-43ad4097aefso19975981cf.2; Thu, 02 May 2024 02:57:31 -0700 (PDT) X-Gm-Message-State: AOJu0YwQReNKlPCGJO/x/DRcoUQXCbz+D8gTX3Kz54AC20/Q7fn4p7WT pEmWKV3F09HvYOCoKzT4+P98aKX5YNmG51QytO138CE+8BMKTXjOkpG28slql6b3adQJ+TyRdnh qXZ2yO/8YJucGY1Qal5KEEe6utWk= X-Google-Smtp-Source: AGHT+IGS81sSL1NqQF91knQIkf5oXa4LUI3vuasu8QBGLgl6oDnbh2rBeIcwZFTad0T4h2SX78/yT35OatVAGqUd554= X-Received: by 2002:a05:622a:d5:b0:43a:ed55:f5c4 with SMTP id p21-20020a05622a00d500b0043aed55f5c4mr1618944qtw.6.1714643850306; Thu, 02 May 2024 02:57:30 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 References: <8A27C44B-FBB9-479B-866A-13E06AB8266A@FreeBSD.org> In-Reply-To: <8A27C44B-FBB9-479B-866A-13E06AB8266A@FreeBSD.org> From: Nuno Teixeira Date: Thu, 2 May 2024 10:57:19 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: build failure affecting port: "error: reference to 'filesystem' is ambiguous" To: Dimitry Andric Cc: FreeBSD CURRENT Content-Type: multipart/alternative; boundary="0000000000009d38b6061775a19d" --0000000000009d38b6061775a19d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Dimitry, I've quoted your words in upstream PR and it solved with: Stop using namespace std https://github.com/amsynth/amsynth/commit/6fb79100a6254220e5adc69a142857253= 9ecc377 I'm using patch globally that unbreak main and rest of supported releases don't complaint about it. Thanks! Dimitry Andric escreveu (ter=C3=A7a, 30/04/2024 =C3=A0(s)= 18:45): > On 30 Apr 2024, at 14:26, Nuno Teixeira wrote: > > > > I'm lost on build failure of audio/amsynth (updated to version 1.13.3) > on recent main. > > Thre strange thing is if I use llvm from ports, USES+=3Dllvm, it fails > with same error so I suspect that something related to main. > > > > Any help is welcome and I didn't openned an upstream PR yet. > > > > Thanks, > > > > --- > > src/Configuration.cpp:35:20: error: reference to 'filesystem' is > ambiguous > > 35 | amsynthrc_fname =3D filesystem::get().config; > > | ^ > > src/filesystem.h:27:7: note: candidate found by name lookup is > 'filesystem' > > 27 | class filesystem > > | ^ > > /usr/include/c++/v1/__chrono/file_clock.h:49:1: note: candidate found b= y > name lookup is 'std::filesystem' > > 49 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM > > | ^ > > /usr/include/c++/v1/__config:892:80: note: expanded from macro > '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM' > > 892 | inline namespace > __fs { namespace filesystem { > > | > ^ > > It looks like the program defines its own "filesystem" class, and also > has "using namespace std;". > > Usually the easiest fix is to use "::filesystem" for the call sites that > want to use the program's own definition. > > Alternatively, rename the 'local' definition to something else, like > "my_filesystem". > > -Dimitry > > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --0000000000009d38b6061775a19d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Dimitry,

I've quot= ed your words in upstream PR and it solved with:

S= top using namespace std

I'm using patch globally that unbreak main and rest of = supported releases don't complaint about it.

Thanks!<= br>

Dimitry Andric <dim@freebsd.= org> escreveu (ter=C3=A7a, 30/04/2024 =C3=A0(s) 18:45):
On 30 Apr 2024, at 14:26, Nu= no Teixeira <ed= uardo@freebsd.org> wrote:
>
> I'm lost on build failure of audio/amsynth (updated to version 1.1= 3.3) on recent main.
> Thre strange thing is if I use llvm from ports, USES+=3Dllvm, it fails= with same error so I suspect that something related to main.
>
> Any help is welcome and I didn't openned an upstream PR yet.
>
> Thanks,
>
> ---
> src/Configuration.cpp:35:20: error: reference to 'filesystem' = is ambiguous
>=C2=A0 =C2=A0 35 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0amsynthrc_fname =3D= filesystem::get().config;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
> src/filesystem.h:27:7: note: candidate found by name lookup is 'fi= lesystem'
>=C2=A0 =C2=A0 27 | class filesystem
>=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0^
> /usr/include/c++/v1/__chrono/file_clock.h:49:1: note: candidate found = by name lookup is 'std::filesystem'
>=C2=A0 =C2=A0 49 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
>=C2=A0 =C2=A0 =C2=A0 =C2=A0| ^
> /usr/include/c++/v1/__config:892:80: note: expanded from macro '_L= IBCPP_BEGIN_NAMESPACE_FILESYSTEM'
>=C2=A0 =C2=A0892 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 inline namespace __fs { namespace filesy= stem {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 ^

It looks like the program defines its own "filesystem" class, and= also
has "using namespace std;".

Usually the easiest fix is to use "::filesystem" for the call sit= es that
want to use the program's own definition.

Alternatively, rename the 'local' definition to something else, lik= e
"my_filesystem".

-Dimitry



--
Nuno Teixeira
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--0000000000009d38b6061775a19d-- From nobody Thu May 2 12:03:12 2024 X-Original-To: freebsd-current@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 4VVXdG4gXLz5JvZN for ; Thu, 2 May 2024 12:03:14 +0000 (UTC) (envelope-from dim@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 4VVXdG3tGcz41jf; Thu, 2 May 2024 12:03:14 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714651394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WklXHeER4sV+xauCMZNNwdypO3puQ2EiniQ6pNxgat8=; b=GBM2grF1t9RiqyaTiiW50Wn2hL2tupkY6cax9XXjWah/XW+AK/WKvw5fCvSyn8wKP32ClD Ggu8141UYdorusqx2zZwbFGzQ4C/c+m7qczVFfg0Jl1xg6gHe491lw6xmxMZrNbuvFzjE0 5VqAjlz266RxknuEHZW0kT1fjTwGxRm7y7W1CV/claJBHx/HezJzr/3cE8K2vhOIus/sRH RAQs+8tXGFy+BD0Jn2wncgmbztth5JnIu/OruxEkov0Qowa2Tyz8P4MDTnGjPfVAyLyBjj wybR/R/6yBgg1UQnabRSqcurE6pRLH/7C6uLthP2fi8jRdaMTBMQFHoPUmvC/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1714651394; a=rsa-sha256; cv=none; b=M2uJopU0yrkYcKuGrpHjibJHXT2VhlSmeMmEYJ+x1TXQ+972jiYD4QKLhXVFG/TDimHb/Y LKuUNNNfmkUG2QGKpAxy/2sdDAUtiMnI119RbUW4tcV5ZaWXRDrml/+cy92kf7EXUpXYVO J0FI8m99UFgg/mjZUYbjFvT13r1QNMCBV5MuRABUz4Nx9g/r2UkPk2r3g2DMAIjw9uQERa thmBq5nQLYDokY6IMIKfL+m0QuYvarSocHEvj150hGCZM9lXIcjXXLRt43f8UqsMwQebtJ X12pb47ZKUinBoh4RxKnXT3lPxeOmtoRg3iSqIN6MgtcJFupR6Fyy+xqBqfA8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714651394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WklXHeER4sV+xauCMZNNwdypO3puQ2EiniQ6pNxgat8=; b=RMLW3x2B9RsFxs1cTdtV6rR8gfzdO25nXHRXbuO+kCsOVVj5pcLhMCcOvzTNArF/TjwzKV qh61VA2DXJq0KUZXm+ZQbN2R/h0Jys5/RrYUHtGdBELgnUyLNo7rOpyHKAvl6YO3tW1JAh xWjumHQnSaQUJlXdYH6mqarHw3BMbDXklCqZXnfq9WLL6T5g6TYNt5eFjINM5qmGDydmwx dR7Xf/vhwacJsR8r7IabjmGBQyN70nZmceuOEHDpa7UhirzFQGN5SZMCH5J5FfcXEQtxcp BZBFCcMcNiZdJkN6cIIX9Uh9NbvuB+ES/d5pRWTzpeeA+uD9ev0xchtilGI2CA== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (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 (2048 bits) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "R3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4VVXdG2lVkz1Clw; Thu, 2 May 2024 12:03:14 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 6EF4C63BB9; Thu, 02 May 2024 14:03:12 +0200 (CEST) Content-Type: text/plain; charset=utf-8 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6.1.1\)) Subject: Re: build failure affecting port: "error: reference to 'filesystem' is ambiguous" From: Dimitry Andric In-Reply-To: Date: Thu, 2 May 2024 14:03:12 +0200 Cc: FreeBSD CURRENT Content-Transfer-Encoding: quoted-printable Message-Id: <9B56E755-1A91-4B69-B858-5A814BF85E7C@FreeBSD.org> References: <8A27C44B-FBB9-479B-866A-13E06AB8266A@FreeBSD.org> To: Nuno Teixeira X-Mailer: Apple Mail (2.3731.700.6.1.1) Nice to see that upstream chose the more correct solution. :) -Dimitry > On 2 May 2024, at 11:57, Nuno Teixeira wrote: >=20 > Hello Dimitry, >=20 > I've quoted your words in upstream PR and it solved with: >=20 > Stop using namespace std > = https://github.com/amsynth/amsynth/commit/6fb79100a6254220e5adc69a14285725= 39ecc377 >=20 > I'm using patch globally that unbreak main and rest of supported = releases don't complaint about it. >=20 > Thanks! >=20 > Dimitry Andric escreveu (ter=C3=A7a, 30/04/2024 = =C3=A0(s) 18:45): > On 30 Apr 2024, at 14:26, Nuno Teixeira wrote: > >=20 > > I'm lost on build failure of audio/amsynth (updated to version = 1.13.3) on recent main. > > Thre strange thing is if I use llvm from ports, USES+=3Dllvm, it = fails with same error so I suspect that something related to main. > >=20 > > Any help is welcome and I didn't openned an upstream PR yet. > >=20 > > Thanks, > >=20 > > --- > > src/Configuration.cpp:35:20: error: reference to 'filesystem' is = ambiguous > > 35 | amsynthrc_fname =3D filesystem::get().config; > > | ^ > > src/filesystem.h:27:7: note: candidate found by name lookup is = 'filesystem' > > 27 | class filesystem > > | ^ > > /usr/include/c++/v1/__chrono/file_clock.h:49:1: note: candidate = found by name lookup is 'std::filesystem' > > 49 | _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM > > | ^ > > /usr/include/c++/v1/__config:892:80: note: expanded from macro = '_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM' > > 892 | inline = namespace __fs { namespace filesystem { > > | = ^ >=20 > It looks like the program defines its own "filesystem" class, and also > has "using namespace std;".=20 >=20 > Usually the easiest fix is to use "::filesystem" for the call sites = that > want to use the program's own definition. >=20 > Alternatively, rename the 'local' definition to something else, like > "my_filesystem". >=20 > -Dimitry >=20 >=20 >=20 > --=20 > Nuno Teixeira > FreeBSD UNIX: Web: https://FreeBSD.org From nobody Sat May 4 16:59:15 2024 X-Original-To: freebsd-current@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 4VWv6B3zWBz5JB6M for ; Sat, 4 May 2024 16:59:30 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-24.consmr.mail.gq1.yahoo.com (sonic303-24.consmr.mail.gq1.yahoo.com [98.137.64.205]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4VWv6943RCz4ks9 for ; Sat, 4 May 2024 16:59:29 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=MmwS5POU; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.205 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714841967; bh=YyX3KwaFJOpg6/KX3ywEVAS/a977l2tW5fWoUEnBoJc=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=MmwS5POUfJBNMmlCA/eDxUUAn+oQiYUUDanWBQQTtppYRPIAeEmhYFcU09V8j87Q0KypOm9tvjd/CtIoqXl1XjUR5Yr/WZsozPEdnN0dso/3jltDHwwVvRi9OhuOnbSDhwS/aB6UIiT/OLkJ0YiOMr9dhomEyx0soIp8MvyzWihgdNZqqYLcpFX8GsoL37LUnKfuAqjXONRx3y9DG8U9A9bvpMp1nHwS3LKheO+hEA6R90pUUAzT19pPGs6f5z6T+ZMJaoTo5cQr9CPYBuA9sBz8QsduokJt23H1zoI5/5tIfXfBb38ffj7HD0UBX3iJMpk7jBZOLBZ+66i4gq93FA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714841967; bh=10jnSm7EO6X+HMaYa1l0hbzS5I4qgDRhJmGhmTxXnUn=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=bTBoRUwv7fNqMuLoy+8fgjuwoG5WPuY2FUXUnPOTqvKtD58WQO5DynDeIW1YN4Cc4AYFlSJdcGDM/ooFo0J3hlGtvQAlLwjqPYUNT/CRIPAHfzvuk1xZOm3vL+YlhcTdsPIrRRAZEQaeZe7Q1U7qvDveAu0ce9S+sWIbUlSkU1lzN8ou8bNbMa2qwGaIQz/Ejbjw5i09ucGcsUe09b6n3MyHqyTS3wXDvZSUGIirwxdcyQapxmXEZE3TD1UFF1c+xJIP1H4J9FO/NqhBC64E6vOfTY+Wn1/IK5t08fNDdve/S+owQ5a9uk6L54Ebpbufb1hAA+mLJZ+JKQG00/DpaA== X-YMail-OSG: rr0fZnMVM1luw9juQUxViQD2Y2313dY9Y74Q9DlGOXfgSvM9GJ991mZL_Ozd8cz MzlHA38W349STqfAxd1yz47jBHR7QjEwdO9pVFCr6heyhBxNfcGWosi.VI_Xt.yZjLF7vFb.X_ci L0NZVy9sQcLtnsKAxjwTunSIbf6euMLchuNZHJm5TBpphwjpXWbrxuHi.IKBSycn7n0fHOvyRHN5 ixCxBpwWO50StpE7882f63vaPe6UOYB0WwXLDAxRf27AjBInuOfN8pt5TvLuVznM8hr0TvC6Ic3I 2L8OeUD.C1WuCbL_S29w7enpOIgW2snSO2XfpZ0MEADnP2H7qmHr7kC5U6KofvSpBhXNDgtC5pR2 uhqpT5XvF63iQaDnoF_xcntl73LmIfQ9zH5g_WgGKmuxJmi90UdFD2IxShW.kLfAISC7B6GCm3.S XarKhGg.cigFTk.eorXRLvVPCauV8EtdtMmCLC0862VYctMNkX_ga3Su.pama5B2O_TDZOWon9Lv YPbWoj7L2CUin_sZVdS3NCrAzbZj6IoqSgQMHkZ1v1QRSHvIqroKPT9Nk1dDUkIZoJxv3DdqjZes pkgVCNzmPqSE7qqxGBQnbEbqiCV2vSe_E6Mzg1j0WyssPIJeGosjs3GIyH5CgIIVVLhNhHdxEo9p ndJACdEps4OAg6nFgX.PaKrm1lRJYrvvWJuA82EkEu5M6lE.21DZRdBDnS59uKKrYQ.jec3pSS3J mudgn8r_0I7UTZqR7RuuHn7csDrtbpddnNOrNzBihCnIGbbOO0f4HNE7kFvoclUgYRsgarV5UCXS xrYnZk8wvI0aTGKBa032ghjyqh4qlk6A6IkVAfKTJlS4CSI83WVA4r909_cjWQzTBeYd0tlQB6Pf hqld_8ynPRuspvSYvTEXegdHtAPkE9BcuL.4lSDSW3BLkZ_HVLmMpktX4cBDrKYMHLDlCumiTbHP tohStXgbTuptJ4BP6QQor7dPeXpsz3rOHB4SZ6UKF.rKw5.W2STFymKSGfO8CIli.RKSS18Km3El 30T50gkCQpAbl1Di1Ge28a1MYtPi_SBLL5OB51eleOIPjEdT_fmKsPDrsoZ.HVinfoV7P7dEHzx4 v9QYQ2HHurc8KzEf2TtGE86W2.cq1sUlDKTHEMuYXFKpfL9XVx_Vlj_JXKWQ4gEac6591Vph.xXO Rc7YMswu5AsajDpDmHGIOOSJnwjO1vMxiyhK9uWdubFepD5OHVkRv6TzX48pl0JF8f5xWoqN4U2u u2pIHR8jn9QaB7KEzDztwX6SX..YGGrLrlxXVD9sMOUkcvp5AHtN.JZ5yFB74_pxBI.39VSiBkE1 8gAnmyO0KqVcvw2ydik6ssKJq6Txna90b2MYCXgoAIPr2GNsPvw6qi8k1QEtAMoNmNatA1ROY0SM XZIYtAFMaoNIaSwgW02.r5l47MLOC1zFKY1jjEJDXpc2W4FBMBhBdTohlowMN0ATf7q0eY1GZrew R1fHnKDAteNiOkKocsOTthy0.sqNHdpKHqzR.JKzdvzcNr9r3CGsj9At5K_kFl1r36i9Wo88AqnK .N4TVeIHOUnl39TJzepWrVxQVnXCtcxb6lFmMqI15pllJ4okGDYcH6ijYBYZNWU.oyByhL8kmk._ Zxclv0pFPOhA.VRj24qIrmn6_KPo76KlSD4DHx19NJlsYP2dxe1BVnEXi5tvhVTStIsfLlX0AEe3 Yt6naXRdojYISkRhwOqjLnODWvZcTcBTgMzoi6DqZRfMAgxLIIdaiYZCbieUBTODMPBPDw5WtExs i_9QZVYbjlarkGz60blLvgAkwvH4SVHoObPGQ7Zf7c_HTgksmFD7uT1..OsVAGhzJzDrbBBdW_TC Uifx.UsTtxQKWIiWjeOKsg5MU8CfuXuwD55rqWVM5MiW1.Cs7.lv5bXH2s2BFRqgi8aDlpLPDECd OvUw8OkPyAwj46RwmsCYvrEHvM_VqYUNJGhpjDiXdsSdFh6Qq2PhxaDwZ1gxOtZJc7uQlIELlx3e f2uS5uhOQ7DGcW5ltIDkcX3swZx7pcWpjoFHm6bEihX5liIToUhKDLcKSj3tUGkpk.pu15r0wA3U MQbdA2PLIQ8zTrQqFtwVqtCWhJDGHqFHWEHZIGReGUZDp2Zb.YHAoHIfFM709IvGBjEshFu0rEBh 8DrWt2SIItOewH6QWWWtScvbJtFGbwroJ3IwkAqErIqySC9jNQumcw2vatxoSq0XTETzJT.pUrKy 31EXu8rF2OKajG14Z3Ju55cFaIYj0o8_AnvLsvBHztBGzfp0RvFqrcqcdNTbiaKLGxnfJNDKEWjQ k X-Sonic-MF: X-Sonic-ID: ddb9d4b9-9a82-4b5f-bf15-cae0edcb45c5 Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.gq1.yahoo.com with HTTP; Sat, 4 May 2024 16:59:27 +0000 Received: by hermes--production-gq1-59c575df44-xmm9l (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID e5e94488eac63e976f26cf8139fe1cee; Sat, 04 May 2024 16:59:26 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: main [so: 15] amd64: Rare poudriere bulk builder "stuck in umtxq_sleep" condition (race failure?) during high-load-average "poudriere bulk -c -a" runs Message-Id: Date: Sat, 4 May 2024 09:59:15 -0700 To: Current FreeBSD , freebsd-amd64@freebsd.org X-Mailer: Apple Mail (2.3774.500.171.1.1) References: X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; MV_CASE(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_TLS_LAST(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_FROM(0.00)[yahoo.com]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.205:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.205:from]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; SUBJECT_HAS_QUESTION(0.00)[] X-Rspamd-Queue-Id: 4VWv6943RCz4ks9 I recently did some of my rare "poudriere bulk -c -a" high-load-average style experiments, here on a 7950X3D (amd64) system and I ended up with a couple of stuck builders (one per bulk run of 2 runs). Contexts: # uname -apKU FreeBSD 7950X3D-UFS 15.0-CURRENT FreeBSD 15.0-CURRENT #142 = main-n269589-9dcf39575efb-dirty: Sun Apr 21 07:28:55 UTC 2024 = root@7950X3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64= .amd64/sys/GENERIC-NODBG amd64 amd64 1500018 1500018 # uname -apKU FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #142 = main-n269589-9dcf39575efb-dirty: Sun Apr 21 07:28:55 UTC 2024 = root@7950X3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64= .amd64/sys/GENERIC-NODBG amd64 amd64 1500018 1500018 So: One was in a ZFS context and the other was in a UFS context. 32 hardware threads, 32 builders, ALLOW_MAKE_JOBS=3Dyes in use (no use of MAKE_JOBS_NUMBER_LIMIT or the like), USE_TMPFS=3Dall in use, TMPFS_BLACKLIST in use, 192 GiBytes of RAM, 512 GiByte Swap partition in use, so SystemRAM+SystemSWAP being 704 GiBytes. I'll start with notes about the more recent UFS context experiment . . . graphics/pinta in the UFS experiment had gotten stuck in threads of /usr/local/bin/mono (mono-sgen): [05] 15:31:47 graphics/pinta | pinta-1.7.1_4 = stage 15:28:31 2.30 GiB 0% 0% # procstat -k -k 93415 PID TID COMM TDNAME KSTACK = =20 93415 671706 mono-sgen - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_lock_umutex+0x6a6 __umtx_op_wait_umutex+0x49 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8=20 93415 678651 mono-sgen SGen worker mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_wait+0x244 __umtx_op_wait_uint_private+0x54 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8=20 93415 678652 mono-sgen Finalizer mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd __umtx_op_sem2_wait+0x49a sys__umtx_op+0x7e = amd64_syscall+0x115 fast_syscall_common+0xf8=20 93415 678655 mono-sgen - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_wait+0x244 __umtx_op_wait_uint_private+0x54 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8=20 93415 678660 mono-sgen Thread Pool Wor mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_lock_umutex+0x6a6 __umtx_op_wait_umutex+0x49 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8 So I did a kill -9 93415 to let the bulk run complete. I then removed my ADDITION of BROKEN to print/miktex that had gotten stuck in the ZFS experiment and tried in the now tiny-load-average UFS context: bulk print/miktex graphics/pinta They both worked just fine, not getting stuck (UFS context): [00:00:50] [02] [00:00:25] Finished graphics/pinta | pinta-1.7.1_4: = Success ending TMPFS: 2.30 GiB [00:14:11] [01] [00:13:47] Finished print/miktex | miktex-23.9_3: = Success ending TMPFS: 3.21 GiB I'll note that the "procstat -k -k" for the stuck print/miketex in the ZFS context had looked like: # procstat -k -k 70121 PID TID COMM TDNAME KSTACK = =20 70121 409420 miktex-ctangle - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_wait+0x244 __umtx_op_wait+0x53 sys__umtx_op+0x7e = amd64_syscall+0x115 fast_syscall_common+0xf8=20 70121 646547 miktex-ctangle - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = kqueue_scan+0x9f1 kqueue_kevent+0x13b kern_kevent_fp+0x4b = kern_kevent_generic+0xd6 sys_kevent+0x61 amd64_syscall+0x115 = fast_syscall_common+0xf8=20 70121 646548 miktex-ctangle - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_wait+0x244 __umtx_op_wait_uint_private+0x54 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8 Note that, unlike the UFS context, the above also involves: kqueue_scan It looks like there is some form of failing race(?) condition that can occur on amd64 --and does rarely occur in high load average contexts. I've no clue how to reduce this to a simple, repeatable context. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sat May 4 19:08:00 2024 X-Original-To: freebsd-current@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 4VWxym1cPPz5JPth for ; Sat, 4 May 2024 19:08:16 +0000 (UTC) (envelope-from bakul@iitbombay.org) Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VWxyl0n1tz45hH for ; Sat, 4 May 2024 19:08:15 +0000 (UTC) (envelope-from bakul@iitbombay.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=iitbombay-org.20230601.gappssmtp.com header.s=20230601 header.b=0ZC8jjrC; dmarc=pass (policy=quarantine) header.from=iitbombay.org; spf=pass (mx1.freebsd.org: domain of bakul@iitbombay.org designates 2607:f8b0:4864:20::42b as permitted sender) smtp.mailfrom=bakul@iitbombay.org Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-6f4472561f1so701142b3a.0 for ; Sat, 04 May 2024 12:08:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iitbombay-org.20230601.gappssmtp.com; s=20230601; t=1714849692; x=1715454492; darn=freebsd.org; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=WBCepINR+NouYBfDVeToWQazZaJTBKql6OTqbD9Scbs=; b=0ZC8jjrCfhicpVEEu9fMANg43rh2skLF82aE5Arneqgq+uoxerC42fHDTTFPmxK2ly xfkb2D80xY3XCkPLSqJ/uhKhCaim+Bz98r79Tv22ArsZ3jU7ddz6OxdHKbDVlokT+lgm egVm4i5Q6Tk74u1B0+yXlFuJe6EbzONo5vIGdi7xGgZ7Pz/cbJ4rZuo6EGykTiSCowmL nU4QwlhKmDXiA9m+KrwmKzezhRtrPZChsz2AbutMQAEwjiOtd3fuXJIhvokucfcbHOXN 4Xk+VJUMCJBJVWaon0Pe4L5iPl7D+WRpf5BrtgWbZiXTKTLUvMelhFHna1wyByDlUmr8 uoiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714849692; x=1715454492; h=to:date:message-id:subject:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=WBCepINR+NouYBfDVeToWQazZaJTBKql6OTqbD9Scbs=; b=vQhBIE3TBT/lxYjgJXoYLIjw1TRj/oeSoTm/xw0trT8G2MBGNPm/KM2mOLGRuruwDu zaDuTVrKRxsH+zBejNfWSbJ1JfMPsk4SgogzVDkQ7kUaScPDcZ+gZwofRvzX2cVa0YOh etKMcH9s9OQE2UUIbfRvYKPri2+/amT+t7aosKMWl40EHYQiKYcs/hO5fj2sFof6XKia wZ59+bchCMpnbqEnJvTXFo0DTFrBzIbrAnSbEHx/EuKO0i3qP+3iZEiDyXkUjGJGckUI gnlXO6OL1LVzesqe8xMElTOdexyEPF1ElQ92FsShGmBm0y4o1F35kWrij6Bqy9vzxKBX NByA== X-Gm-Message-State: AOJu0Ywbx2ehbp1qDv0eUvKuFoWeJNKU4PUa3cS5Z9HtNe3qkryjKQXj DeONeWW98kcNpvfXM7ncA5ky+ti/vfkMvYNQP/BobcRkdukpq31g54EGwnI3cPqznfvoZNjGnec = X-Google-Smtp-Source: AGHT+IEF7bqzeFPocJIAKwd1rFelnNckC7XxGk7GlnjvjcUQ7eIPQH3g3YmZAOcjVcQxPtql2T7DSw== X-Received: by 2002:a05:6a21:3395:b0:1a7:5780:1f4b with SMTP id yy21-20020a056a21339500b001a757801f4bmr8501267pzb.24.1714849692378; Sat, 04 May 2024 12:08:12 -0700 (PDT) Received: from smtpclient.apple (107-215-223-229.lightspeed.sntcca.sbcglobal.net. [107.215.223.229]) by smtp.gmail.com with ESMTPSA id gp9-20020a056a003b8900b006ea8cc9250bsm5038261pfb.44.2024.05.04.12.08.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 04 May 2024 12:08:11 -0700 (PDT) From: Bakul Shah Content-Type: multipart/alternative; boundary="Apple-Mail=_A3905398-73A7-4D7D-B71B-DDF0C5B69CCD" List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Kenny Wayne Shepherd - Voodoo Child (Slight Return) Message-Id: <96F2DCDA-113E-49DD-93CF-24CBA6E12584@iitbombay.org> Date: Sat, 4 May 2024 12:08:00 -0700 To: FreeBSD Current X-Mailer: Apple Mail (2.3774.500.171.1.1) X-Spamd-Bar: - X-Spamd-Result: default: False [-1.50 / 15.00]; HTML_SHORT_LINK_IMG_1(2.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; DMARC_POLICY_ALLOW(-0.50)[iitbombay.org,quarantine]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[iitbombay-org.20230601.gappssmtp.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[multipart/alternative,text/plain,multipart/related]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; DKIM_TRACE(0.00)[iitbombay-org.20230601.gappssmtp.com:+]; TO_DN_ALL(0.00)[]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEFALL_USER(0.00)[bakul]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::42b:from] X-Rspamd-Queue-Id: 4VWxyl0n1tz45hH --Apple-Mail=_A3905398-73A7-4D7D-B71B-DDF0C5B69CCD Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 https://www.youtube.com/watch?v=3DoHO5a4l_8zY=EF=BF=BC Kenny Wayne Shepherd - Voodoo Child (Slight Return) - KTBA Cruise 2019 youtube.com --Apple-Mail=_A3905398-73A7-4D7D-B71B-DDF0C5B69CCD Content-Type: multipart/related; type="text/html"; boundary="Apple-Mail=_0A77F3D9-FBD3-410A-85B3-EF4E543EC308" --Apple-Mail=_0A77F3D9-FBD3-410A-85B3-EF4E543EC308 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii


= --Apple-Mail=_0A77F3D9-FBD3-410A-85B3-EF4E543EC308 Content-Transfer-Encoding: base64 Content-Disposition: inline; filename=maxresdefault.jpg Content-Type: image/jpeg; x-unix-mode=0666; name="maxresdefault.jpg" Content-Id: <544E2C5A-BB0F-45D1-84D7-84AD76E9F752> /9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAA A6ABAAMAAAABAAEAAKACAAQAAAABAAAEAKADAAQAAAABAAACQAAAAAD/wAARCAJABAADASIAAhEB AxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9 AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEB AQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJB UQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RV VldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6 wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sAQwACAgICAgIDAgIDBQMDAwUG BQUFBQYIBgYGBgYICggICAgICAoKCgoKCgoKDAwMDAwMDg4ODg4PDw8PDw8PDw8P/9sAQwECAgIE BAQHBAQHEAsJCxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ EBAQ/90ABABA/9oADAMBAAIRAxEAPwD8RIpnY53VtwN0z1rkRKQeOKtRX7xEE849a+ow+Kjsz0pU pJbHoMFm8ijaetXW0khC0zYUDpXBjxTewriFVUj1FZ154i1W+XZPKQvovFelHGYSCu7tnnRo1Wz1 a0u9Htowsl4I8eppk2ueGyT5l4ZB7dPyrxIzEtl+frTw69hiiPEEIr3KZpHLG/ikei3XiPSsslrC zkcAkcVyF/fG5IJ4FY5YqeDUUre9eNiMY6m6sdVPCqn1LDPk4NMBAHFUSzetOVs8E1xo16mlDJh6 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 hFn/2Q== --Apple-Mail=_0A77F3D9-FBD3-410A-85B3-EF4E543EC308-- --Apple-Mail=_A3905398-73A7-4D7D-B71B-DDF0C5B69CCD-- From nobody Sat May 4 22:09:20 2024 X-Original-To: freebsd-current@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 4VX2032bvRz5Jhjk for ; Sat, 4 May 2024 22:09:39 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic301-22.consmr.mail.gq1.yahoo.com (sonic301-22.consmr.mail.gq1.yahoo.com [98.137.64.148]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4VX2021Vgvz4VrH for ; Sat, 4 May 2024 22:09:38 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=PhkOCUdi; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.148 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714860575; bh=/O6jY/e4VZmAE+Rhqq0DfFICqCgPxo5IW8vIqpv7m8Q=; h=From:Subject:Date:References:To:In-Reply-To:From:Subject:Reply-To; b=PhkOCUdiQhjOWbgE69GLh73ncDKcHnjF2lLtlIdc4p/2ng0qmrcCZIhp0syOZ8dKAF7SEMzhZHI7s+Vnxj1bTxTUQ261r8bUNCCCpoPceGA0OCK6q/FJbng6mn5qOdMglK15QId+DnqnKfx6jfNDAyrWbn3m8mQAMdO9Ri67khmD+H/U/nr6/Cp0t8JocQGa9aiN1BAEdTOhH5TPu4zCnX7t3lw/cjwJl3BhwdEZXGpXk7glE3rqrSDcWw6bUC93LZR/mtor9MjrF89wVdkBg+Oad+RaHT94w8zfx99A0onf9uEo6TY4++AL35Mlxmrg4H8EfUOAIft91fjb4jgPqg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1714860575; bh=Lc6MLp8vviYyLGRAe47d/1xOKoQh4antVnCTczpxwVZ=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=hiu4Q//Yr7/z8+2RClp6o8g0DAxlAj/CFX8PqH/4ZQTf28bE1r5bQU5i8HnF7c7doiM6JC2qGZ/H2kzFlPKMPbF92pLnCilqtpskC7iufkJif7XswxfzWiS5wbALlsuI9TuOAvfAX/zpNXaolF+2HDx+JpGNukC74PSBVoE5jPlPcLphndCkJaRthL1k20hmrGUyPaKWerWT7x6jMWCyZkmoONqO4HrkrMD52utrZOuYJ8W9iI1DyP7w0YngwHsObrrgabKRs3xhSgPzfQNm6dBWsxpx0HguZHu2jOGck092qFG03sBb+qbarswE111batSHFCIxQgAKuGj+Y6GDaQ== X-YMail-OSG: u4cz2IIVM1nIUV6.JOe.xCREZglYo6lAwmxchXscVZorD5rGf_fY4DYS5o2ftby lkIbiScYcxMOcJS_UqdOuGAaphCkqrdB.AJOdSQtVmI81PtEHYKqQKU4yOrFMUpscpzyhitEfy4o TRy9.XLmSkWUXeEjXXfAIBgkTpA39LnPNBrnEP8nnVtRnxo2eHQrRgPyhcopvOz4t90nwEgqpIa5 3D44A2wQ52XVOnn7fPOcj8E8mF2QhZ8o4lDC1Lvs1BR62GcjFXJ_qkC8vEF8NzOHPoZoTn_aFR3E LKxw_sf4Z6u3JdooSFswxi31KAYU4qAbVLs.BpTtK.hu7.Tjlk5JZeLBVntJz_a6C80UxZLJF0YA t2iIguXsB.JoI58mxIFyT3PvMumo2r3F4ckWvnqmaFsWECHipUGk7_PxYSXXVOJVs8zajg70it5T ujasy9AnWROdw32CqjI1eZFSBcEqsajaB7RV09mgwgp7BQbxqXotz9CS_SJMLMJE9SIddAQMYlx5 WwC._fBiyoj56O7LF1IgrN2IwN2geahh2fLAzXYsvY2ADVOAzmlUz1xwosv22hpyi89oK2U.CJzu PNQpYZhuhexDFy0F9HonDaiefSP9qQS.0MlyOBgkkIcv.v15zjwo85Md5LPeQHN9i2O.2x2klwSA ecyoJ8BC5HHiqldlbl.A4yXqy_0Hx4pxS3u6VVN.Y7XwIf7Qi7rCv7_KGtt_xtRRlae9TrVf69ch kuYI0zFP.ePMblOLjbc6SRK.bt5gxtDT0CEfgmLJ_rTwIApoBSz0afxolMqStJq8n1F5EaAJynof d546QTuM3VcUGt7V9cvuZyBYODYmD_U2iazfbcGBgt.wR7UsB8W2adIbxspJrbrXVd7n.cV5HwWB lenl23_6m4dGTyzUmMrstdFRMkDi3hfHRSiNtpK.OsG7E_LtgA8wpPL8SjJyaHIid1cAogA1w_lw FZfHgj_jP2f.LqBP9BBJgVT1tSlvYa7QCrPPTl51DfJ1ObyoF2Vq4rL1SLybcXMz4p4MPIOOaFeT 3DZTG1GPegOHwOJ9a6ioj5EhamSla.FB7Q4cRTihy0NNQUCpFKgIjSCz.lPZyjnL27GHebGWREm9 kSv5b23nXX.lrq7TpB0Tb2l6k5DpuIpZO9qX9F0j9h8CUVM6CJYv1pfo0iGlWY8nrnvfCco37Of8 IW0aXWx0bp1hO8kkqvK9LLRsPUKFeDWcm60Xy1ROthzZwglwprjNVWvdwTXhAYZzkrCWCuytpnYB Mz3GVIgeNwN6wZY9NwzzTOhER2B_jqObMWTTWG1VDFSg3ZBennODiTW48noGJeOj715TDxW7QqeD qkmzghcYWIb2qYFui3k_Jxiw1VqgXJfyGzPPihXV37U1ufp.4nZCVB7v1cgCW2kSg6YNOLibLeI4 M2HLXAKrHTlCl7OiXrrZ2aQ_4QyLSNpiTSqwGUP5017OEu2t._sylhPSj7DD3hG3zEthfRFyIpBk sJh7fPqS5Krp0v1g.BRG_R8yC7YIOtZ9mg8kyQwksaonZxvO0pV8PqDxB7wQY3HawJo3n02G5bYt WTMv4zmj_tAAq_EJ8llKamPd6niHseA9AJaW12QCBvBBNqw7ax3u1pR4E0DO7uYLv_smqsk9dWqV ztJfucVHOikm_rGM2hriehHR8dXOJyk5SK9qvU9NJ5KxAloI86TZ.FhQmwoUy2xW.GWkoeHtvaUG HE_fsPmUkBdNM.FpBq6NdTU2v8Bnez1enxK1dMr.UaXVvtg.OorBdohkxAvpVh6igAjZC755LnQK 5dTWX_FIJ8GJsCXcsCChYuYFVRnk7zddCBxDZ0nYmDb8B0k2iKUvbl5wL1oeaaqbG7Uveeu7lPV0 uTO3q6qSCYE0ApEV6FBw6Tu.QJlfEM3Y5DGBfOsF10ku_uLCPTj5bS7Jt1cknetTmUgADdGnXl8j 4LYMYnSAkufNvDj2YBFc863jsUA68TMv6mhfSDOal1v31yoUUXvYFRhYM0pE3BnxULPhhvaE5yvG RXWqmbvtARcuhwYnwMNEJQdCCs4k_Ue88n_G9pYY2XYMB..IepNmNQi5fZe0_2obOjnSj0JNCQUO g5EgbIwvkK1zOvKS6rqFbMpW6APNCzCmjSPnYaY.ODMYJaBkBNeyFcDM8wanPt.LYcZEJ0Qx7gyV hgq7rq79gGPwL4dSGP5OZtLKftFLJJsjXtG0dW5nspKQimgtrmtB.uc24SehkJNamH6zf9PRLceR 7V0yXmZScu4ChD0uA8OZdOvuMx_Ovy8nDkMAQ1.YKfxVZ4b4RTckMNYUB2iBxXIekfZlqWYqiWUm pxYg- X-Sonic-MF: X-Sonic-ID: a637f9b1-4a62-43c3-b987-9110617ce8ff Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.gq1.yahoo.com with HTTP; Sat, 4 May 2024 22:09:35 +0000 Received: by hermes--production-gq1-59c575df44-94tst (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 2611ffa402f855b214f768c29478ace6; Sat, 04 May 2024 22:09:30 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: main [so: 15] amd64: Rare poudriere bulk builder "stuck in umtxq_sleep" condition (race failure?) during high-load-average "poudriere bulk -c -a" runs Date: Sat, 4 May 2024 15:09:20 -0700 References: To: Current FreeBSD , freebsd-amd64@freebsd.org In-Reply-To: Message-Id: <0E773BD7-7C19-4AA7-A66D-7C645BCE0182@yahoo.com> X-Mailer: Apple Mail (2.3774.500.171.1.1) X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.30 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; NEURAL_SPAM_SHORT(0.20)[0.202]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCPT_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.148:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.148:from]; SUBJECT_HAS_QUESTION(0.00)[] X-Rspamd-Queue-Id: 4VX2021Vgvz4VrH On May 4, 2024, at 09:59, Mark Millard wrote: > I recently did some of my rare "poudriere bulk -c -a" = high-load-average > style experiments, here on a 7950X3D (amd64) system and I ended up = with > a couple of stuck builders (one per bulk run of 2 runs). Contexts: >=20 > # uname -apKU > FreeBSD 7950X3D-UFS 15.0-CURRENT FreeBSD 15.0-CURRENT #142 = main-n269589-9dcf39575efb-dirty: Sun Apr 21 07:28:55 UTC 2024 = root@7950X3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64= .amd64/sys/GENERIC-NODBG amd64 amd64 1500018 1500018 >=20 > # uname -apKU > FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #142 = main-n269589-9dcf39575efb-dirty: Sun Apr 21 07:28:55 UTC 2024 = root@7950X3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64= .amd64/sys/GENERIC-NODBG amd64 amd64 1500018 1500018 >=20 > So: One was in a ZFS context and the other was in a UFS context. >=20 > 32 hardware threads, 32 builders, ALLOW_MAKE_JOBS=3Dyes in use > (no use of MAKE_JOBS_NUMBER_LIMIT or the like), USE_TMPFS=3Dall > in use, TMPFS_BLACKLIST in use, 192 GiBytes of RAM, 512 GiByte > Swap partition in use, so SystemRAM+SystemSWAP being > 704 GiBytes. >=20 >=20 > I'll start with notes about the more recent UFS context experiment . . = . >=20 > graphics/pinta in the UFS experiment had gotten stuck in threads > of /usr/local/bin/mono (mono-sgen): >=20 > [05] 15:31:47 graphics/pinta | pinta-1.7.1_4 = stage 15:28:31 2.30 GiB 0% 0% >=20 > # procstat -k -k 93415 > PID TID COMM TDNAME KSTACK = =20 > 93415 671706 mono-sgen - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_lock_umutex+0x6a6 __umtx_op_wait_umutex+0x49 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8=20 > 93415 678651 mono-sgen SGen worker mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_wait+0x244 __umtx_op_wait_uint_private+0x54 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8=20 > 93415 678652 mono-sgen Finalizer mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd __umtx_op_sem2_wait+0x49a sys__umtx_op+0x7e = amd64_syscall+0x115 fast_syscall_common+0xf8=20 > 93415 678655 mono-sgen - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_wait+0x244 __umtx_op_wait_uint_private+0x54 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8=20 > 93415 678660 mono-sgen Thread Pool Wor mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_lock_umutex+0x6a6 __umtx_op_wait_umutex+0x49 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8 >=20 > So I did a kill -9 93415 to let the bulk run complete. >=20 > I then removed my ADDITION of BROKEN to print/miktex that had gotten > stuck in the ZFS experiment and tried in the now tiny-load-average > UFS context: bulk print/miktex graphics/pinta >=20 > They both worked just fine, not getting stuck (UFS context): >=20 > [00:00:50] [02] [00:00:25] Finished graphics/pinta | pinta-1.7.1_4: = Success ending TMPFS: 2.30 GiB > [00:14:11] [01] [00:13:47] Finished print/miktex | miktex-23.9_3: = Success ending TMPFS: 3.21 GiB >=20 > I'll note that the "procstat -k -k" for the stuck print/miketex > in the ZFS context had looked like: >=20 > # procstat -k -k 70121 > PID TID COMM TDNAME KSTACK = =20 > 70121 409420 miktex-ctangle - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_wait+0x244 __umtx_op_wait+0x53 sys__umtx_op+0x7e = amd64_syscall+0x115 fast_syscall_common+0xf8=20 > 70121 646547 miktex-ctangle - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = kqueue_scan+0x9f1 kqueue_kevent+0x13b kern_kevent_fp+0x4b = kern_kevent_generic+0xd6 sys_kevent+0x61 amd64_syscall+0x115 = fast_syscall_common+0xf8=20 > 70121 646548 miktex-ctangle - mi_switch+0xba = sleepq_catch_signals+0x2c6 sleepq_wait_sig+0x9 _sleep+0x1ae = umtxq_sleep+0x2cd do_wait+0x244 __umtx_op_wait_uint_private+0x54 = sys__umtx_op+0x7e amd64_syscall+0x115 fast_syscall_common+0xf8 >=20 > Note that, unlike the UFS context, the above also involves: = kqueue_scan >=20 > It looks like there is some form of failing race(?) condition > that can occur on amd64 --and does rarely occur in high load > average contexts. >=20 > I've no clue how to reduce this to a simple, repeatable context. >=20 Some other oddities, including comparison on ZFS to a run using MUTUALLY_EXCLUSIVE_BUILD_PACKAGES to a run not using such. USE_TMPFS=3Dall= and ALLOW_MAKE_JOBS were always in use. The combinations were: A) ZFS without TMPFS_BLACKLIST but with = MUTUALLY_EXCLUSIVE_BUILD_PACKAGES B) ZFS with TMPFS_BLACKLIST but without = MUTUALLY_EXCLUSIVE_BUILD_PACKAGES C) UFS with TMPFS_BLACKLIST but without = MUTUALLY_EXCLUSIVE_BUILD_PACKAGES (No claim that the likes of, say, (A) vs. (B) is a cause of any = oddities.) Just (B) and (C) got ess-emacs_devel build lock failures, (A) did not: (diff of error log files used) 1081,1082c1104,1105 < Error: file-locked ("~/ESS-24.01.1/lisp/ess-autoloads.el" = "root@amd64_ZFS (pid 6112)" "Cannot resolve lock conflict in batch = mode") < ask-user-about-lock("~/ESS-24.01.1/lisp/ess-autoloads.el" = "root@amd64_ZFS (pid 6112)") --- > Error: file-locked ("~/ESS-24.01.1/lisp/ess-autoloads.el" = "root@amd64_UFS (pid 81244)" "Cannot resolve lock conflict in batch = mode") > ask-user-about-lock("~/ESS-24.01.1/lisp/ess-autoloads.el" = "root@amd64_UFS (pid 81244)") 1090a1114,1118 (B) and (C) got distinct mate-terminal build Segmentation fault failures [(A) did not get any such]: (diff of error log files used) 2965,2966c2960 < Warning: Could not merge it translation for msgid: < DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE = TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER = UNDERSTANDING THAT: --- > if ! test -d "kk/"; then mkdir "kk/"; fi 2972,2973d2965 < if ! test -d "kk/"; then mkdir "kk/"; fi < Segmentation fault (core dumped) . . . > touch "ky/ky.stamp" > Segmentation fault (core dumped) Just (A) got openvpn-auth-ldap build failure: TRConfig.m:43:9: fatal error: 'TRConfigParser.h' file not found 43 | #import "TRConfigParser.h" | ^~~~~~~~~~~~~~~~~~ 1 error generated. *** [TRConfig.o] Error code 1 make[1]: stopped in = /wrkdirs/usr/ports/security/openvpn-auth-ldap/work/openvpn-auth-ldap-auth-= ldap-2.0.4/src Just (A) got rinetd build failure: --- index.html --- if which roffit >/dev/null 2>&1; then roffit < > index.html; else touch = index.html; fi sh: Syntax error: redirection unexpected (expecting word) *** [index.html] Error code 2 make[1]: stopped in /wrkdirs/usr/ports/net/rinetd/work/rinetd-d4e0a60 make[1]: 1 error Just (A) and (B) got the below adacurses example failure (1st failure = shown): gnatlink rain.ali -L../lib -lAdaCurses -fstack-protector-strong = -lncursesw -lncurses -lmenu -lform -lpanel -fstack-protector-strong = -lncursesw -lncurses -lmenu -lform -lpanel gcc -c -I. -I../src -I./../src -O2 -I. ncurses2-acs_display.adb gcc -c -I. -I../src -I./../src -O2 -I. sample-keyboard_handler.adb /usr/local/bin/ld: cannot find -lAdaCurses: No such file or directory collect2: error: ld returned 1 exit status gnatlink: error when calling /usr/local/gnat12/bin/gcc gnatmake: *** link failed. gmake[1]: *** [Makefile:168: rain] Error 4 gmake[1]: *** Waiting for unfinished jobs.... Just (A) got amath example failure (1st failure shown): mkdir -p shared c++ -O2 -I. -I../.. -Wall -c clear.cpp c++ -O3 -I. -I.. -Wall -fPIC -c bigint.cpp -o shared/bigint.o error: unable to open output file 'shared/aengine.o': 'No such file or = directory' 1 error generated. c++ -O2 -I. -I.. -Wall -c console_stdc.cpp c++ -O2 -I. -I../.. -Wall -c delete.cpp c++ -O2 -I. -I.. -Wall -c console_termios.cpp c++ -O2 -I. -I.. -Wall -c fgrid.cpp c++ -O3 -I. -I.. -Wall -c bigint.cpp -o static/bigint.o c++ -O2 -I. -I.. -Wall -c lexer.cpp c++ -O2 -I. -I.. -Wall -c console_windows.cpp c++ -O2 -I. -I../.. -Wall -c digits.cpp c++ -O3 -I. -I.. -Wall -c charbuf.cpp -o static/charbuf.o gmake[1]: *** [Makefile:29: shared/aengine.o] Error 1 gmake[1]: *** Waiting for unfinished jobs.... ALSO amath: Just (B) got amath example failure (1st failure shown): error: unable to open output file 'shared/cacos.o': 'No such file or = directory' 1 error generated. gmake[1]: *** [Makefile:31: shared/cacos.o] Error 1 gmake[1]: *** Waiting for unfinished jobs.... gmake[1]: Leaving directory = '/wrkdirs/usr/ports/math/amath/work/amath-1.8.5/src/cplex' gmake: *** [Makefile:76: shared-libs] Error 2 gmake: *** Waiting for unfinished jobs.... Just (B) got an berkeleygw ( BerkeleyGW ) example failure (1st failure = shown): gfortran13 -ffree-form -ffree-line-length-none -I ../Common -I = /usr/local/include -c -O3 genwf_mpi.p.f -o genwf_mpi.o -J./ gfortran13 -ffree-form -ffree-line-length-none -I ../Common -I = /usr/local/include -c -O3 input_common.p.f -o input_common.o -J./ gfortran13 -ffree-form -ffree-line-length-none -I ../Common -I = /usr/local/include -c -O3 genwf_mpi.p.f -o genwf_mpi.o -J./ /usr/local/bin/ld: /usr/lib/crt1.o: in function `_start': /usr/main-src/lib/csu/amd64/crt1_s.S:69: undefined reference to `main' collect2: error: ld returned 1 exit status gmake[2]: *** [../Common/common-rules.mk:321: = ../Common/print_version_info.x] Error 1 gmake[2]: Leaving directory = '/wrkdirs/usr/ports/science/berkeleygw/work/BerkeleyGW-3.0.1/Common' gmake[1]: *** [Makefile:82: make-Common] Error 2 gmake[1]: *** Waiting for unfinished jobs.... Just (B) got artemis example failure (1st failure shown): = CLASSPATH=3Dlib/commons-lang-2.6.jar:lib/biojava.jar:lib/jemAlign.jar:lib/= j2ssh/j2ssh-core.jar:lib/ibatis/ibatis-2.3.4.726.jar:lib/ibatis/log4j-1.2.= 14.jar:lib/postgresql-8.4-701.jdbc3.jar:lib/picard/pic = ard.jar:lib/commons-net-3.6.jar:lib/batik/batik-awt-util.jar:lib/batik/bat= ik-dom.jar:lib/batik/batik-ext.jar:lib/batik/batik-svggen.jar:lib/batik/ba= tik-util.jar:lib/batik/batik-xml.jar:. javac -source 1.8 -target 1.8 uk/ac/sanger/artemis/io/ReadOnlyEntry.java Note: uk/ac/sanger/artemis/ActionVector.java uses unchecked or unsafe = operations. Note: Recompile with -Xlint:unchecked for details. uk/ac/sanger/artemis/FilteredEntryGroup.java:43: error: cannot access = EntryGroup public class FilteredEntryGroup implements EntryGroup ^ bad class file: ./uk/ac/sanger/artemis/EntryGroup.class class file contains wrong class: java.util.NoSuchElementException Please remove or make sure it appears in the correct subdirectory of = the classpath. gmake: *** [Makefile:47: uk/ac/sanger/artemis/FilteredEntryGroup.class] = Error 1 gmake: *** Waiting for unfinished jobs.... Just (B) got ess-emacs_canna example failure (1st failure shown): Error: error ("Cannot resolve lock conflict in batch mode") mapbacktrace(#f(compiled-function (evald func args flags) #)) debug-early-backtrace() debug-early(error (error "Cannot resolve lock conflict in batch = mode")) signal(error ("Cannot resolve lock conflict in batch mode")) error("Cannot resolve lock conflict in batch mode") ask-user-about-lock("~/ESS-24.01.1/lisp/ess-autoloads.el" = "root@amd64_ZFS (pid 38427)") = autoload-find-generated-file("/wrkdirs/usr/ports/math/ess/work-canna/ESS-2= 4.01.1/lisp/ess-autoloads.el") make-directory-autoloads(("~/ESS-24.01.1/lisp/") = "/wrkdirs/usr/ports/math/ess/work-canna/ESS-24.01.1/lisp/ess-autoloads.el"= ) update-directory-autoloads("~/ESS-24.01.1/lisp/") (progn (setq make-backup-files nil) (setq generated-autoload-file = (expand-file-name "ess-autoloads.el")) (setq find-file-visit-truename t) = (update-directory-autoloads default-directory)) eval((progn (setq make-backup-files nil) (setq generated-autoload-file = (expand-file-name "ess-autoloads.el")) (setq find-file-visit-truename t) = (update-directory-autoloads default-directory)) t) command-line-1(("--eval" "(progn(setq make-backup-files nil)(setq = generated-autoload-file (expand-file-name \"ess-autoloads.el\"))(setq = find-file-visit-truename t)(update-directory-autoloads default -directory))")) command-line() normal-top-level() Output written on refcard.pdf (2 pages, 179059 bytes). Transcript written on refcard.log. gmake[1]: *** [Makefile:56: ess-autoloads.el] Error 255 gmake[1]: Leaving directory = '/wrkdirs/usr/ports/math/ess/work-canna/ESS-24.01.1/lisp' gmake: *** [Makefile:49: autoloads] Error 2 gmake: *** Waiting for unfinished jobs.... Just (B) got ngs-sdk example failure (1st failure shown): error: unable to open output file = '/wrkdirs/usr/ports/biology/ngs-sdk/work/ngs-3.0.1/build/ngs-sdk/FreeBSD/c= lang/amd64/rel/obj/language/c++/ReadCollection.pic.o': 'No such file or = directory' 1 error generated. . . . gmake[3]: *** = [/wrkdirs/usr/ports/biology/ngs-sdk/work/ngs-3.0.1/ngs-sdk/./Makefile.conf= ig.FreeBSD.amd64:109: = /wrkdirs/usr/ports/biology/ngs-sdk/work/ngs-3.0.1/build/ngs-sdk/FreeBSD/cl= ang/amd64/rel/ob j/language/c++/ReadCollection.pic.o] Error 1 gmake[3]: *** Waiting for unfinished jobs.... Just (B) got qucsator example failure (1st failure shown): FAILED: src/interface/CMakeFiles/coreInterface.dir/qucs_interface.cpp.o /usr/bin/c++ -DDEBUG -DHAVE_CONFIG_H = -I/wrkdirs/usr/ports/cad/qucsator/work/qucsator-0.0.20-4-g22126bb9 = -I/wrkdirs/usr/ports/cad/qucsator/work/qucsator-0.0.20-4-g22126bb9/src/mat= h -I/wrkdirs/usr/ports /cad/qucsator/work/qucsator-0.0.20-4-g22126bb9/src = -I/wrkdirs/usr/ports/cad/qucsator/work/qucsator-0.0.20-4-g22126bb9/src/com= ponents = -I/wrkdirs/usr/ports/cad/qucsator/work/qucsator-0.0.20-4-g22126bb9/ src/interface -I/wrkdirs/usr/ports/cad/qucsator/work/.build = -I/wrkdirs/usr/ports/cad/qucsator/work/.build/src = -I/wrkdirs/usr/ports/cad/qucsator/work/.build/src/components -O2 -pipe = -fstack-protector-s trong -fno-strict-aliasing -fPIC -Wall -std=3Dc++11 -stdlib=3Dlibc++ = -O4 -DNDEBUG -MD -MT = src/interface/CMakeFiles/coreInterface.dir/qucs_interface.cpp.o -MF = src/interface/CMakeFiles/coreInterface.dir/qu cs_interface.cpp.o.d -o = src/interface/CMakeFiles/coreInterface.dir/qucs_interface.cpp.o -c = /wrkdirs/usr/ports/cad/qucsator/work/qucsator-0.0.20-4-g22126bb9/src/inter= face/qucs_interface.cpp c++: warning: -O4 is equivalent to -O3 [-Wdeprecated] In file included from = /wrkdirs/usr/ports/cad/qucsator/work/qucsator-0.0.20-4-g22126bb9/src/inter= face/qucs_interface.cpp:38: = /wrkdirs/usr/ports/cad/qucsator/work/qucsator-0.0.20-4-g22126bb9/src/compo= nents/components.h:164:10: fatal error: 'verilog/tff_SR.core.h' file not = found 164 | #include "verilog/tff_SR.core.h" | ^~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. Just (B) got yuck-cmdline-parser example failure (1st failure shown): mv -f .deps/yuck_scmver-yuck-scmver.Tpo .deps/yuck_scmver-yuck-scmver.Po mv: rename .deps/yuck_scmver-yuck-scmver.Tpo to = .deps/yuck_scmver-yuck-scmver.Po: No such file or directory gmake[2]: *** [Makefile:587: yuck_scmver-yuck-scmver.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... Just (A) got ess-emacs_devel_nox example failure (1st failure shown): ~/ESS-24.01.1/lisp/ess-autoloads.el: root@amd64_ZFS (pid 15639), Cannot = resolve lock conflict in batch mode Error: file-locked ("~/ESS-24.01.1/lisp/ess-autoloads.el" = "root@amd64_ZFS (pid 15639)" "Cannot resolve lock conflict in batch = mode") ask-user-about-lock("~/ESS-24.01.1/lisp/ess-autoloads.el" = "root@amd64_ZFS (pid 15639)") = autoload-find-generated-file("/wrkdirs/usr/ports/math/ess/work-devel_nox/E= SS-24.01.1/lisp/ess-autoloads.el") make-directory-autoloads(("~/ESS-24.01.1/lisp/") = "/wrkdirs/usr/ports/math/ess/work-devel_nox/ESS-24.01.1/lisp/ess-autoloads= .el") update-directory-autoloads("~/ESS-24.01.1/lisp/") (progn (setq make-backup-files nil) (setq generated-autoload-file = (expand-file-name "ess-autoloads.el")) (setq find-file-visit-truename t) = (update-directory-autoloads default-directory)) eval((progn (setq make-backup-files nil) (setq generated-autoload-file = (expand-file-name "ess-autoloads.el")) (setq find-file-visit-truename t) = (update-directory-autoloads default-directory)) t) command-line-1(("--eval" "(progn(setq make-backup-files nil)(setq = generated-autoload-file (expand-file-name \"ess-autoloads.el\"))(setq = find-file-visit-truename t)(update-directory-autoloads default -directory))")) command-line() normal-top-level() gmake[1]: *** [Makefile:56: ess-autoloads.el] Error 255 gmake[1]: *** Waiting for unfinished jobs.... Just (A) got fl_moxgen example failure (1st failure shown): =3D=3D=3D> Building for fl_moxgen-1.00_2 --- fl_moxgen_defines.h --- --- write_pdf.o --- write_pdf.c:12:10: fatal error: 'fl_moxgen_defines.h' file not found 12 | #include "fl_moxgen_defines.h" | ^~~~~~~~~~~~~~~~~~~~~ 1 error generated. *** [write_pdf.o] Error code 1 make: stopped in /wrkdirs/usr/ports/comms/fl_moxgen/work/Fl_MoxGen-1.00 make: 1 error Just (A) got grx example failure (1st failure shown): cc -L/usr/local/lib -fstack-protector-strong -o ../bin/bin2c = utilprog/bin2c.o ../lib/unix/libgrx20X.a -L/usr/local/lib -lX11 cc -L/usr/local/lib -fstack-protector-strong -o ../bin/fnt2c = utilprog/fnt2c.o ../lib/unix/libgrx20X.a -L/usr/local/lib -lX11 cc: error: no such file or directory: 'utilprog/bin2c.o' gmake[1]: *** [makefile.x11:150: ../bin/bin2c] Error 1 gmake[1]: *** Waiting for unfinished jobs.... Just (A) got openvsp example failure (1st failure shown): In file included from = /wrkdirs/usr/ports/cad/openvsp/work/.build/Libraries-prefix/src/Libraries-= build/STEPCODE-prefix/src/STEPCODE-build/schemas/sdai_ap203/SdaiCONFIG_CON= TROL_DESIGN_unity_entities.cc: 70: = /wrkdirs/usr/ports/cad/openvsp/work/.build/Libraries-prefix/src/Libraries-= build/STEPCODE-prefix/src/STEPCODE-build/schemas/sdai_ap203/entity/SdaiB_s= pline_surface.cc:334:1: error: unknown type name 'f' 334 | f | ^ =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sun May 5 15:38:51 2024 X-Original-To: freebsd-current@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 4VXTGg27qrz5K92Z; Sun, 05 May 2024 15:38:51 +0000 (UTC) (envelope-from salvadore@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (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 "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VXTGg1WFGz4pWr; Sun, 5 May 2024 15:38:51 +0000 (UTC) (envelope-from salvadore@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714923531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nSdiKnkC3LQt7iFoMEGzkBmhnqhFIumekTHiIgdVbmQ=; b=gZwiuj07MaPIgDJRCUaGo8jQPYwkfi5Ls57hlRDBdxYZLfqFg4ucz3XPGQmEx/6c7H6+W7 n6ZMC7l1IBYttYcneKeJzh4V7TozqGJuo+xGB4bD7Ie/gPzKRs4h4DNmQ+r+oYgztcd+xy 0jevllB/XkG6hEPzjpLk/2pql58iLKu4mGesy9Z00qFh5N8V3eXS654lSVWNNC9LKTeZmn udLgBUyjWFlyv1kt74nK3AWJzg5sRXDUP9/5k2mxoYcRAMDSWlDdFIAodJ7+7Ck721iRJc 1U9VVZ5OtONkvZjVTQlQgCR1LB+aBiFr/l/6+EauMSX6XfdYA51UyrfkZSgbsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1714923531; a=rsa-sha256; cv=none; b=NMlhYIWZEaVMSvwjyxzuzIWOUXkYCFQaoNngXASTHk500pe8SS9WwB2gbI7tL9AvgisTok wMTBwEZy7k5RIGV+uc/H7d0rsEOzPaumq1Pc8ZoUJCDuANm6N90LPyIAfeIyWAzkxLzlfA 9g4u0jMkhRlTGtrAY5PghcrVQIzmeglfnQ1DaIf4IyJeS3MvMK3rWu9xZublQx4B6W+1pu 0c/FIVs409YKpk5TQF25KFHO7VHNaRlkq0M68Ur0AXJYNcLM5WWCsqinx6zwt7xAIfls45 qwEBUwNI0hSnmej2Q838f2JPiMEx8p7p2ggFiWlViDUbthczqj8yDaUB6KhVBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714923531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nSdiKnkC3LQt7iFoMEGzkBmhnqhFIumekTHiIgdVbmQ=; b=APKLL0uOFiZe6fSvyCyup0YF/thvlOenM8H9Her5kYj+R5d25VtDJuSvRpSGTADO9EZrgc xMNIXo8SElH2M5ItAgQ8eL81J22ikQ6D+dKQToqDYl8LZydXCHTw1RBzoP/KCBNOc2FXXZ 3eHEui/TlGyRnQziIBDMWGQ9ofegBHXNBfxuOeafWngZNp/nalkCl/6dn4STsKxXLEUMCM Kirau++7BAt5CNzyiywlvUQUi1GfZitc13Apv2ItPDR9pL2MMx4/noYjPJgZrKSTbzI6tB jCFGgYeRSY+TplW2wkpmsO75fxLgcx2E9Q/v98G+Wf7xnBm1pywHKH2HqAZ1ZQ== Received: by freefall.freebsd.org (Postfix, from userid 1472) id 20A3BD66F; Sun, 05 May 2024 15:38:51 +0000 (UTC) Date: Sun, 5 May 2024 15:38:51 +0000 From: Lorenzo Salvadore To: freebsd-hackers@freebsd.org Cc: freebsd-current@freebsd.org, freebsd-stable@freebd.org Subject: FreeBSD Status Report - First Quarter 2024 Message-ID: List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit FreeBSD Status Report First Quarter 2024 Here is the first 2024 status report, with 21 entries. The New Year brings us many new interesting projects, such as the new libsys that separates system calls from libc and libpthread or work on a graphical installer for FreeBSD, which will help making our OS more user-friendly. Of course, the usual projects keep going on, such as the work on cloud-init, OpenStack, or the GCC ports. As usual our main teams share their progress with us. Have a nice read. Lorenzo Salvadore, on behalf of the Status Team. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ A rendered version of this report is available here: https://www.freebsd.org/status/report-2024-01-2024-03/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents • FreeBSD Team Reports □ FreeBSD Core Team □ FreeBSD Foundation □ FreeBSD Release Engineering Team □ Cluster Administration Team □ Continuous Integration □ Ports Collection • Projects □ Audio Stack Improvements □ Bhyve Improvements □ Graphical Installer for FreeBSD • Userland □ libsys □ PackageKit backend for FreeBSD pkg • Kernel □ iwlwifi(4) and wireless for 13.3-RELEASE • Architectures □ Ten64, WHLE-LS1, and HoneyComb • Cloud □ FreeBSD on Microsoft HyperV and Azure □ FreeBSD as a Tier 1 cloud-init Platform □ OpenStack on FreeBSD • Documentation □ Documentation Engineering Team • Ports □ FreshPorts: Notification of new packages □ GCC on FreeBSD □ Valgrind: port to arm64 on its way • Third Party Projects □ Containers and FreeBSD: Pot, Potluck and Potman ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD Team Reports Entries from the various official and semi-official teams, as found in the Administration Page. FreeBSD Core Team Contact: FreeBSD Core Team The FreeBSD Core Team is the governing body of FreeBSD. 13.3-RELEASE FreeBSD 13.3 was released on March 5th, 2024. The release announcement is at: https://www.freebsd.org/releases/13.3R/announce/ Along the release engineering team, the project dedicates the 13.3-RELEASE to Glen Barber, with thanks for his many years of contributions as Release Engineer. Future of 32-bit platform support Core announced Future of 32-bit platform support in FreeBSD for deprecating 32-bit platforms over the next couple of major releases. Commit bits • Core approved the src commit bit for Bojan Novković • Core reactivated the src commit bits for Mark Peek, Mark Murray, and Lawrence Stewart ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD Foundation Links: FreeBSD Foundation URL: https://freebsdfoundation.org/ Technology Roadmap URL: https://freebsdfoundation.org/blog/technology-roadmap/ Donate URL: https://freebsdfoundation.org/donate/ Foundation Partnership Program URL: https://freebsdfoundation.org/our-donors/ freebsd-foundation-partnership-program/ FreeBSD Journal URL: https://freebsdfoundation.org/journal/ Foundation Events URL: https://freebsdfoundation.org/our-work/events/ Contact: Deb Goodkin The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the FreeBSD Project and worldwide community, and helping to advance the state of FreeBSD. We do this in both technical and non-technical ways. We are 100% supported by donations from individuals and corporations and those investments help us fund the: • Software development projects to implement features and functionality in FreeBSD • Sponsor and organize conferences and developer summits to provide collaborative opportunities and promote FreeBSD • Purchase and support of hardware to improve and maintain FreeBSD infrastructure • Resources to improve security, quality assurance, and continuous integration efforts • Materials and staff needed to promote, educate, and advocate for FreeBSD • Collaboration between commercial vendors and FreeBSD developers • Representation of the FreeBSD Project in executing contracts, license agreements, and other legal arrangements that require a recognized legal entity Operations We kicked off the new year with ambitious goals to help move the FreeBSD Project forward by identifying features and functionality to support in the operating system and increasing our advocacy efforts to increase and expand the visibility of FreeBSD. Stay tuned for a blog post that will provide more information on our 2024 goals and plans. We also published the 2024 Budget. In order to provide greater transparency about the budgeting process, we wrote a blog post that provides more details on how funding is allocated, new breakouts of some of the project expense categories, and more details on where the funding is going. OS Improvements During the first quarter of 2024, 180 src, 65 ports, and 18 doc tree commits identified The FreeBSD Foundation as a sponsor. Three new projects began this quarter. • Work began to improve FreeBSD’s audio stack and provide audio developers with useful tools and frameworks to make sound development on FreeBSD easier. Read more in Christos Margiolis Audio Stack Improvements report entry. • Olivier Certner began his second contract with the Foundation, and this time around, the main goal is to make unionfs stable and useful on FreeBSD. Other work may include revamping VFS lookups, improving out-of-memory handling, implementing a notification system for en-masse detection of filesystem changes such as inotify, and improving console usability. • This quarter, a new project to add hierarchical rate limits to the OpenZFS file system began. Pawel Dawidek will add support for limits that will be configurable, similar to quotas, but would limit the number of read/write operations and read/write bandwidth. Six projects continued this quarter. • You can read about the continued work to port OpenStack components to FreeBSD in Chih-Hsin Chang’s OpenStack on FreeBSD report entry. • Work continued to improve cloud-init support for FreeBSD. You can read about Mina Galić’s work in her FreeBSD as a Tier 1 cloud-init Platform report entry. • A new joint project began between Advanced Micro Devices (AMD) and The FreeBSD Foundation to develop a complete FreeBSD AMD IOMMU driver. This work will allow FreeBSD to fully support greater than 256 cores with features such as CPU mapping and will also include bhyve integration. For those interested in the technical details, follow Konstantin Belousov commits tagged with Sponsored by fields for Advanced Micro Devices (AMD) and The FreeBSD Foundation. • Refer to Pierre Pronchery’s Graphical Installer for FreeBSD report entry to read about the status of FreeBSD’s new graphical installer. • Work continues to port the Vector Packet Processor (VPP) to FreeBSD. VPP is an open-source, high-performance user space networking stack that provides fast packet processing suitable for software-defined networking and network function virtualization applications. Look for a pending article from the developer working on the project, Tom Jones, that details the experience of porting VPP to FreeBSD. • Björn Zeeb and Cheng Cui continue their wireless work. This quarter was mostly focused on bug fixes and stability improvements to LinuxKPI 802.11 and net80211. Much of this work made it into the 13.3 release. Here is a sampling of other Foundation-sponsored development completed over the first quarter of 2024: • FreeBSD was accepted in Google Summer of Code 2024 after receiving 22 contributor proposals; on May 1, we will learn how many projects we will be awarded • OpenSSH: update to 9.6p1 then 9.7p1 • Deprecate bsdlabel • Import the kernel parts of bhyve/arm64 • Various RISC-V improvements FreeBSD Infrastructure A contract was completed to set up a new cluster site at NYI Chicago. You can read about the details of that project on the Foundation’s blog. Continuous Integration and Workflow Improvement As part of our continued support of the FreeBSD Project, the Foundation supports a full-time staff member dedicated to improving the Project’s continuous integration system and the test infrastructure. The full update can be found within the quarterly status report. Partnerships and Research A focus of Partnerships this Quarter has been to educate the industry about the innovations in the FreeBSD community and the impact that FreeBSD continues to have as a cornerstone to our digital society. This is an ongoing priority, and one we invite (encourage) everyone using and working on FreeBSD to join us in. Greg Wallace, the Foundation Partnerships lead, is grateful for the opportunities he has had to meet with open source and industry leaders at Microsoft, Google, AWS, OpenSSF, Alpha-Omega, CISA, Eclipse Foundation, Open Source Initiative, Apache Software Foundation, Rust Foundation, Red Hat, Linux Foundation and many others to ensure they have visibility into the key role FreeBSD plays in the global digital infrastructure. This is a role FreeBSD has earned through its technical excellence, security by design, high availability, simplicity of operations, commitment to open source collaboration, and cohesiveness. One sees these characteristics of FreeBSD in the important ongoing funded development work such as porting VPP to FreeBSD, sponsored by RG Nets. Ensuring industry visibility to the excellence and impact of FreeBSD is vital to ensuring tier one support for FreeBSD across all key hardware and software platforms. As a community, every conversation we have with people outside the BSD communities, and every piece of content we publish, that attest to how FreeBSD powers our individual and corporate success, brings us one step closer. To this end, the Foundation is working on a FreeBSD Impact Report that will aggregate the core and often mission critical role FreeBSD plays in society, from embedded systems powered by QNX, to payments and check processing, to digital entertainment, internet and cybersecurity infrastructure. Our community is stepping up in innumerable ways, including to make sure FreeBSD supports industry-standard containerized workloads — check out the Open Container Initiative FreeBSD runtime extension working group. The recently opened hardware vendor support survey will feed into a hardware support guide that reflects the collective experience of all respondents that is intended to help everyone identify hardware vendors that prioritize FreeBSD; it will also help focus Partnerships' outreach on the priority vendors. To close, please TELL THE WORLD YOU USE FREEBSD AND WHY. There is no wrong way to do this — put it on your blog, on your favorite social media channel, list FreeBSD on your company’s Open Source page, contact the Foundation about a Case Study, etc. Stormshield, a leading cybersecurity company based in Europe, provides a great example of how vendors that use FreeBSD can do this. The footer of their blogs says: "A strong supporter of Open Source, Stormshield is an active member (and sponsor) of the FreeBSD community…​Whenever we modify Open Source software, make patches or add features, we offer them to the community for inclusion." Advocacy The first quarter of 2024 marked the beginning of a new era for the Foundation Advocacy team. We welcomed Kim McMahon in the role of Senior Director of Advocacy and Community and also brought on two new technical writers to help increase the frequency and depth of the FreeBSD-related content we produce. Just some of our expanded Q1 efforts to support FreeBSD are below. • Began work planning the on the May 2024 FreeBSD Developer Summit, co-located with BSDCan, taking place May 29-30, 2024 in Ottawa, Canada • Introduced FreeBSD to new and returning folks at State of Open Con 24 in London, UK, February 6-7, 2024 • Held an Introduction to FreeBSD half-day workshop and staffed a booth at SCaLE21x, which took place March 14-17, 2024 in Pasadena, CA. Thanks to Gordon Tetlow for his help with the workshop • The Foundation team also worked on a common message on the improvement and benefits of FreeBSD to ensure consistency between the FreeBSD Foundation and Core Team • Members of the Foundation team served as Administrators for the 2024 Google Summer of Code. This year marks the 20th anniversary of Google Summer of Code and the 20th year that the FreeBSD Project was accepted as a mentoring organization. The Project received 23 applications from prospective interns • Provided an overview of FreeBSD 13.x including the 13.3 release • Worked on the final report of the 2024 FreeBSD Community Survey. Be on the lookout for the report at the end of April • In partnership with Innovate UK and Digital Security by Design (DSbD), the Foundation held the first annual Digital Security by Design (DSbD) Ecosystem Beacon Awards to celebrate innovators working with and enhancing CheriBSD • Published numerous blogs including: □ What Makes the FreeBSD Governance Model Successful □ Guiding the future of FreeBSD releases: Colin Percival, the new Release Engineering Team Lead • Authored or participated in a number of Thought Leadership and News articles including: □ The Cybersecurity Battle Has Come to Hardware □ Ampere in the Wild: How FreeBSD Employs Ampere Arm64 Servers in the Data Center □ ISAs and the Dawning Hardware Security Revolution □ Published the March 2024 FreeBSD Update with a new look □ Released the November/December 2023 and January/February 2024 issues of the FreeBSD Journal now with HTML versions of the articles Fundraising Thank you to everyone who gave us a financial contribution last quarter to help fund our work to support the Project. 2024 started strong with a total of $250,855 raised this quarter. We are grateful for your investment in FreeBSD! Please consider supporting our efforts in 2024 by making a donation here: https://freebsdfoundation.org/donate/. Or, check out our Partnership opportunities here: https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/. Legal/FreeBSD IP The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise. Go to https://freebsdfoundation.org to find more about how we support FreeBSD and how we can help you! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD Release Engineering Team Links: FreeBSD 13.3-RELEASE announcement URL: https://www.freebsd.org/releases/13.3R/announce/ FreeBSD 14.1-RELEASE schedule URL: https://www.freebsd.org/releases/14.1R/schedule/ FreeBSD releases URL: https://download.freebsd.org/releases/ISO-IMAGES/ FreeBSD development snapshots URL: https://download.freebsd.org/snapshots/ISO-IMAGES/ Contact: FreeBSD Release Engineering Team, The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things. During the first quarter of the year, the Team managed 13.3-RELEASE, leading to the final RELEASE build and announcement in March. Planning has started for the upcoming 14.1-RELEASE cycle. The Release Engineering Team continued providing weekly development snapshot builds for the main, stable/14, and stable/13 branches. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Cluster Administration Team Links: Cluster Administration Team members URL: https://www.freebsd.org/administration/#t-clusteradm Contact: Cluster Administration Team FreeBSD Cluster Administration Team members are responsible for managing the machines the Project relies on to synchronize its distributed work and communications. In this quarter, the team has worked on the following: • Regular support for FreeBSD.org user accounts. • Regular disk and parts support (and replacement) for all physical hosts and mirrors. • Set up a new mirror in Chicago. FreeBSD Official Mirrors Overview Current locations are Australia, Brazil, Germany, Japan (two full mirror sites), Malaysia, South Africa, Sweden, Taiwan, United Kingdom (full mirror site), United States of America — California, Chicago, New Jersey (primary site), and Washington. The hardware and network connection have been generously provided by: • Bytemark Hosting (being decommissioned) • Cloud and SDN Laboratory at BroadBand Tower, Inc • Department of Computer Science, National Yang Ming Chiao Tung University • Equinix • Internet Association of Australia • Internet Systems Consortium • INX-ZA • KDDI Web Communications Inc • Malaysian Research & Education Network • MetaPeer • New York Internet • NIC.br • Teleservice Skåne AB (new since 2023Q4) • Your.Org New official mirrors are always welcome. We have noted the benefits of hosting single mirrors at Internet Exchange Points globally, as evidenced by our existing mirrors in Australia, Brazil, and South Africa. If you are affiliated with or know of any organizations willing to sponsor a single mirror server, please contact us. We are particularly interested in locations on the United States West Coast and throughout Europe. See generic mirrored layout for full mirror site specs and tiny-mirror for a single mirror site. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Continuous Integration Links: FreeBSD Jenkins Instance URL: https://ci.FreeBSD.org FreeBSD CI Tinderbox view URL: https://https://tinderbox.freebsd.org FreeBSD CI artifact archive URL: https://artifact.ci.FreeBSD.org Hosted CI wiki URL: https://wiki.FreeBSD.org/HostedCI 3rd Party Software CI URL: https://wiki.FreeBSD.org/3rdPartySoftwareCI Tickets related to freebsd-testing@ URL: https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=open&email1=testing%40FreeBSD.org&emailassigned_to1=1&emailcc1=1&emailtype1=equals FreeBSD CI Repository URL: https://github.com/freebsd/freebsd-ci dev-ci Mailing List URL: https://lists.FreeBSD.org/subscription/dev-ci Contact: Jenkins Admin Contact: Li-Wen Hsu Contact: freebsd-testing Mailing List Contact: IRC #freebsd-ci channel on EFNet In the first quarter of 2024, we worked with the project contributors and developers to address their testing requirements. Concurrently, we collaborated with external projects and companies to enhance their products by testing more on FreeBSD. Important completed tasks: • With help from clusteradm, the host running test VMs had disk and memory upgraded by reusing the parts of decommissioned machines. • Update the build environment of stable/13 jobs to 13.3-RELEASE. • Turn i386 build on main branch to use cross build on amd64. Work in progress tasks: • Merging https://reviews.freebsd.org/D43786 • Merging https://reviews.freebsd.org/D36257 • Adding new hardware purchased by the FreeBSD Foundation to the CI cluster • Designing and implementing pre-commit CI building and testing and pull/ merge-request based system (to support the workflow working group) • Proof of concept system is in progress. • Designing and implementing use of CI cluster to build release artifacts as release engineering does, starting with snapshot builds • Simplifying CI/test environment setting up for contributors and developers • Setting up the CI stage environment and putting the experimental jobs on it • Redesigning the hardware test lab and adding more hardware for testing Open or queued tasks: • Collecting and sorting CI tasks and ideas • Setting up public network access for the VM guest running tests • Implementing use of bare-metal hardware to run test suites • Adding drm ports building tests against -CURRENT • Planning to run ztest tests • Helping more software get FreeBSD support in its CI pipeline (Wiki pages: 3rdPartySoftwareCI, HostedCI) • Working with hosted CI providers to have better FreeBSD support Please see freebsd-testing@ related tickets for more WIP information, and do not hesitate to join the effort! Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Ports Collection Links: About FreeBSD Ports URL:https://www.FreeBSD.org/ports/ Contributing to Ports URL: https://docs.freebsd.org/en/articles/contributing/# ports-contributing Ports Management Team URL: https://www.freebsd.org/portmgr/ Ports Tarball URL: http://ftp.freebsd.org/pub/FreeBSD/ports/ports/ Contact: Tobias C. Berner Contact: FreeBSD Ports Management Team The Ports Management Team is responsible for overseeing the overall direction of the Ports Tree, building packages, and personnel matters. Below is what happened in the last quarter. According to INDEX, there are currently 32,244 ports in the Ports Collection. There are currently ~3,300 open ports PRs. The last quarter saw 12,991 commits by 158 committers on the main branch and 888 commits by 61 committers on the 2024Q1 branch. Compared to last quarter, this means a large increase in the number of commits on the main branch (up from 9,424) and slightly more backports to the quarterly branch (up from 781). The number of ports also increased (up from 31,942). In Q1 there were around 14,127 commits to main: The most active committers were: • 2934 sunpoet • 2676 bofh • 1297 yuri • 748 eduardo • 545 jbeich • 347 arrowd • 233 diizzy • 195 yasu • 170 ehaupt • 164 wen A lot has happened in the ports tree in the last quarter, an excerpt of the major software upgrades are: • pkg 1.21.0 • New USES: ocaml • Default version of gcc switched to 13 • Default version of ruby switched to 3.2 • Default version of lazarus switched to 3.2.0 • Default version of go switched to 1.21 • Chromium updated to 123.0.6312.105 • Electron-28 updated to 28.2.10 • Electron-27 updated to 27.3.9 • Firefox updated to 124.0.2 • Firefox-esr updated to 115.9.1 • KDE updated to Frameworks 5 5.115, Frameworks 6 to 6.0.0 Plasma Desktop 5 to 5.27.11, Plasma Desktop 6 to 6.0.2 • Qt5 updated to 5.15.13 • Qt6 updated to 6.6.3 • Python updated to 3.11.9, 3.10.14 and 3.8.10 • Ruby updated to 3.2.3 • Rust updated to 1.77.0 • SDL updated to 2.30.2 • Sway updated to 1.9 • wlroots updated to 1.17.2 • Wine updated to 9.0 • Xorg server updated to 0.17.2 During the last quarter, FreeBSD Packages Management Team ran 17 exp-runs to test various ports upgrades, updates to default versions of ports, subpackage support and base system changes. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Projects Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects. Audio Stack Improvements Contact: Christos Margiolis The FreeBSD audio stack is one of those fields that does not attract the same attention and development as others do, since it has been left largely unmaintained, and, although high in quality, there is still room for improvement — from lack of audio development frameworks, to missing userland utilities and kernel driver-related bugs. This project is meant to touch on all those areas, and as such, is more of a general improvement project, than an implementation of a specific feature. So far, my focus has been towards the kernel side of the audio stack, with D43545 being probably the most requested and notable patch. I am also working on scrapping the rather outdated "snd_clone" audio device cloning framework of sound(4), and replacing it with DEVFS_CDEVPRIV(9) (D44411). Some of the future tasks include: • Attempt to find a better (ideally automatic) way to handle snd_hda(4) pin-patching. • Implement an oss(3) library and audio(8) utility, in similar fashion to mixer(3) and mixer(8). • Write a bluetooth device management utility. • Improve mixer(3) and mixer(8). • Improve documentation and test suite where needed. A more detailed description can be found here. You can also follow the development process in freebsd-multimedia@, where I post regular reports: • Report #1 • Report #2 • Report #3 • Report #4 • Report #5 • Report #6 • Report #7 • Report #8 Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Bhyve Improvements Links: bhyve production users calls URL: https://callfortesting.org FreeBSD Wiki - Enterprise Working Group URL: https://wiki.freebsd.org/EnterpriseWorkingGroup FreeBSD Wiki - EWG - bhyve and jails management tooling URL: https://wiki.freebsd.org/ChrisMoerz/bhyve_management Jan Bramkamp’s work on s6rc URL: http://static.bultmann.eu/s6-talk/ vmstated on GitHub URL: https://github.com/christian-moerz/vmstated YouTube - vmstated explained URL: https://www.youtube.com/watch?v=f60NCrunXyw Contact: Chris Moerz Bhyve I/O Performance Measurements Participants of the weekly bhyve production users calls recently discussed bhyve’s I/O performance. Various ways of measuring and comparing were brought up, however it was quickly clear that there is currently no formal analysis and report on this. So, we started this effort in the hopes of better understanding the various impacts of configuration options for a guest on its I/O performance. We created a set of shell scripts that harness a FreeBSD guest for running benchmarks/fio I/O performance measurements under various configurations. This allows us to compare multiple criteria like bandwidth, latency, IOPS, and more. So far, we are testing for • different storage backends (i.e. ahci-hd, nvme, virtio-blk) • different memory settings • different CPU pinning options • different block sizes for the backing storage • different block sizes for accessing virtual disks We are also pitting results for different CPU manufacturers against each other and contrasting guest vs host performance to better understand the performance impact of virtualization. We plan to continue discussing our results during Michael Dexter’s weekly bhyve production users call - come join us if you are interested. We also hope to be able to present the results at EuroBSDCon in Q3. Bhyve Virtual Machine Tooling Last year, Greg Wallace at the FreeBSD Foundation founded the Enterprise Working Group with the specific goal of addressing pain points of Enterprise users of FreeBSD. One of the work groups that emerged clustered around bhyve and jails management tooling. After collecting a set of desired features and functionality, one overarching key point for bhyve emerged: the desire to have configuration concepts and tooling for bhyve like the ones available for jails. While other desirable features were identified as well, i.e. TPM software emulation and snapshot/restore/host-migration, the conceptual tooling question won over those due to the lower degree of complexity and its clarity on goal and the path on how to take steps towards it. Technically, this means working out existing gaps around process supervision and virtual machine state management. First steps were taken by experimenting with existing frameworks (i.e. s6rc work by Jan Bramkamp) and eventually — through discussions in the weekly bhyve production user’s calls (organized by Michael Dexter) — this led to a proof-of-concept implementation of "vmstated". Started as an experiment to better understand the problem space of process supervision and virtual machine state handling, vmstated is constructed of a daemon and vmstatedctl management utility. It is built with base-only tooling and libraries and leverages FreeBSD specific constructs like kqueue to minimize its resource impact. vmstated is configured via a UCL configuration file (similar to jails.conf) and — in combination with a bhyve_config(5) configuration file — already provides highest flexibility in configuring virtual machines. vmstatedctl provides a jail-like command set to start, stop, and retrieve status information about guests. State transitions can easily be hooked via shell scripts and allow running additional commands for network or storage set up and tear down when relevant state changes occur. An initial release is already in ports as sysutils/vmstated and updates are pending commit; however, the newest version can be found on GitHub. We are considering expanding the work; we would also like to invite anyone interested to join us in this work! Patches, suggestions, feedback, etc. are all very much welcome! If you want to know more about our work, come join us at one of Michael Dexter’s weekly bhyve production users calls or reach me by email. Documentation We managed to update a few parts of the Handbook and Porter’s Handbook (thanks to Ed Maste, Joseph Mingrone, Pau Amma, and Rodney W. Grimes): • several improvements and expansions to the virtualization chapter in the FreeBSD Handbook □ using a bhyve_config(5) configuration file □ jailing bhyve □ experimental snapshot and restore feature □ setting up a Windows guest • we also have a review (D43940) up for an initial step to improving the bhyve man page □ this was intentionally started with a structural update first to separate the many -s flag options □ once this lands, we can move to a more widespread update to the overall content Feedback is obviously very welcome — on the existing content as well as any additional content we should be looking into! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Graphical Installer for FreeBSD Links: Slides from AsiaBSDCon 2024 URL: https://people.defora.org/~khorben/FreeBSD/bsdinstall/bsdinstall%20-%20Now%20with%20Graphics!%20-%20AsiaBSDCon%202024%20-%20WIP%20Session.pdf gbsddialog URL: https://github.com/khorben/gbsddialog preview video URL: https://youtu.be/jm6byc7N2O4 Contact: Pierre Pronchery The first hurdle to overcome when testing a new Operating System is to get it installed. What is more, the first impression new users gather from an Operating System is its installation process. The state of the art for Operating System installers nowadays definitely involves a graphical process. This is the case for mainstream systems but also for other UNIX systems comparable to FreeBSD: RedHat Enterprise Linux, Ubuntu, Debian GNU/Linux, or even Devuan GNU+Linux Regardless of the technical level of the actual user, this is how the platform will be compared in the public eye. In practice, FreeBSD has already been derived as a desktop-oriented Operating System by different projects. Of these, I only found GhostBSD as a maintained project offering a graphical procedure to install the system. The objective here was to consider a procedure that FreeBSD could adopt as part of its base system, in order to ship a graphical installer much like the current installer. However, GhostBSD’s installer relies on a Gtk+ interface driven with Python, implying a hefty footprint on the installation media when adopting FreeBSD’s usual image generation procedure. It would also imply importing and maintaining new projects into the ports tree. Instead, with knowledge of the current bsdinstall(8) and bsdconfig(8) utilities, I envisioned a BSD-licensed replacement for Xdialog(1). Just like when invoking bsdconfig with the -X switch for graphical mode, it could be dropped in instead of bsddialog(1) and allow graphical installation - while sharing the infrastructure of the current installer. To avoid confusion with the current implementation of Xdialog from the x11/xdialog port, I have named its replacement gbsddialog(1). It also has to be said that Xdialog is quite obsolete (latest release in 2006) and this shows visually too. After creating a Proof-of-Concept prototype past the 14.0 release, I was provided with a 2-months window by the FreeBSD Foundation, in order to complete a working implementation. Thanks to a few shortcuts, I was glad to present the outcome of this effort during the WIP session of AsiaBSDCon 2024, including a working graphical installer. Most of the necessary patches are already available for review in FreeBSD’s Phabricator: • D44279 bsdinstall: implement adduser with bsddialog • D44280 bsdinstall: implement rootpass with bsddialog • D44670 bsdinstall: implement timezone with bsddialog • D44671 bsdinstall: allow forcing a specific partitioning mode • D44672 bsdinstall: obtain the dialog binary from $DIALOG • D44673 bsdinstall: handle command-line options in targets • D44674 bsdinstall: add support for graphical mode I have tried to keep these patches in growing order of friction expected before integration. The most important objective of this project was to improve bsdinstall, regardless of the success of this integration. From the items above, it should be noted that D44279, D44280, D44670 are expecting to improve the general look & feel of the installer, even while in text mode. Similarly, D44671 and D44672 improve the overall versatility of the installer when scripted or customized. D44673 and D44674 bring it on par with bsdconfig -X, even allowing the graphical installation of jails. Some parts are still missing, or made use of shortcuts still unsuitable for integration: • The "fetchmissingdists" target was avoided by shipping every component on the installation media; • The "checksum" and "extract" targets had to be re-implemented with simpler code, degrading the user experience also with the regular installer; • Creation of the installation media generates an additional, heavy image (almost 8 GB), and is suspected to be hindered by a bug in makefs(8). The corresponding code can be found in my GitHub fork in the khorben/ bsdinstall-graphical4 branch. As can be guessed from the branch name, depending on the complexity of rebasing operations, combined with the (hopefully) progressive integration of the changes proposed, new branches may be added to keep track of the progress. (In fact a khorben/bsdinstall-graphical5 branch already exists.) Still, a lot needs to be done for the installer to reach a new level of maturity overall. While working on this project, I have received general complaints on the installer, and calls for a complete rewrite. It is true that the current code base suffers from a number of issues and limitations. The lack of a graphical installer is one of many symptoms, which range from the lack of recovery from errors, of navigability to previous steps, of a general vision of the installation progress, or of a network-based installer. In the meantime, this is the installer we have and are familiar with, and I think it can still be saved and improved. Special thanks go to Ed Maste and Joe Mingrone for the opportunity, and to Philippe Audeoud, Tobias C. Berner, Olivier Certner, Jessica Clarke, Olivier Cochard-Labbé, Baptiste Daroussin, Brad Davis, Michael Dexter, Li-Wen Hsu, Mateusz Piotrowski, Alfonso Siciliano, Emmanuel Vadot, and Robert Watson for the feedback, reviews, and encouragements. (If I missed anyone, you know I did not mean to!) Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Userland Changes affecting the base system and programs in it. libsys Contact: Brooks Davis The libsys project removes direct system calls from libc.so and libpthread.so (aka libthr.so) to a separate libsys.so. This will: • Isolate language runtimes from the details of system call implementations. • Better support logging and replay frameworks for systems calls. • Support elimination of the ability to make system calls outside trusted code in the runtime linker and libsys. This work was initially inspired by a compartmentalization prototype in CheriBSD in 2016. Ali Mashtizadeh and Tal Garfinkel picked that work up and attempted to upstream it (D14609). Unfortunately we could not figure out how to review and land the massive reorganization required through a phabricator review so it languished. Last year the CHERI project once again found a need for system call separation in a new library-based compartmentalization framework in CheriBSD so I rebuilt the patch from scratch, committing dozens of libc cleanups along the way. I landed the first batch of changes on February 5th. Since then I have made a number of refinements to the way we link libsys as well as which symbols are provided in which library. Thanks to Konstantin Belousov for many rounds of review and feedback as well as runtime linker fixes. Thanks to Mark Johnston for runtime linker debugging and Dimitry Andric for sanitizer fixes. Thanks also to everyone who reported bugs and helped debug issues. Known issues (as of the end of the reporting period) • The libsys ABI is not yet considered stable (it is safe to assume __sys_foo () will be supported so language runtimes can use it now). • Programs using the address sanitizer must be linked with -lsys (resolved in base at publication time). TODO • Add a libsys.h. (See D44387 and other reviews in the stack.) • Update intro(2) for libsys. • Finalize the ABI. I am likely to reduce the set of _ (underscore) prefixed symbols we expose. • MFC the existence of libsys? It is not clear this is practical, but it might be possible to MFC something useful for language runtimes. Help wanted • Port language runtimes that do not use libc to use libsys for system calls rather than rolling their own interfaces. • Explore limitations on where system calls can be made similar to OpenBSD’s msyscall(2) (now obsolete) and pinsyscalls(2) (not an obvious match to our libsys). Sponsor: AFRL, DARPA ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PackageKit backend for FreeBSD pkg Contact: Gleb Popov PackageKit is a small D-Bus daemon program that serves as a backend for "application store" type of apps - most notably Plasma Discover and Gnome Software Center. The latest PackageKit release features a libpkg backend, which means that you can now use PackageKit-enabled programs on FreeBSD to manage software. Plasma Discover is already switched to using PackageKit, so you will get it working out of the box once you update your ports/packages. If you observe any crashes or bugs in PackageKit please let me know by opening an issue upstream. If you are interested in contributing, there is a lot of work to do too! Sponsor: Serenity Cybersecurity, LLC ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Kernel Updates to kernel subsystems/features, driver support, filesystems, and more. iwlwifi(4) and wireless for 13.3-RELEASE Links: Categorised Wireless Problem Reports URL: https://bugs.freebsd.org/bugzilla/showdependencytree.cgi?id=277512&hide_resolved=0 Contact: Bjoern A. Zeeb Contact: The FreeBSD wireless mailing list In the first weeks of 2024 focus was on stability for 13.3-RELEASE to finally make iwlwifi(4) usable. The upcoming 14.1-RELEASE will benefit from this work too. The response has since generally been positive and iwlwifi(4) supporting chipsets up to BE200 seems mostly stable, yet still slow. A lot of testing was provided by the FreeBSD Foundation and by many users. Massive thanks to everyone who tested, reported back, updated PRs and helped other users. I have also slowly started to "categorise" more (old) wireless problem reports and will try to continue with some spring cleaning throughout the year. If you have questions or feedback please use the freebsd-wireless mailing list. That way everyone will see, be able to join in, and the answers will be publicly archived. Sponsor: minipci.biz (BE200 hardware) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Architectures Updating platform-specific features and bringing in support for new hardware platforms. Ten64, WHLE-LS1, and HoneyComb Links: My wiki page with links to some status URL: https://wiki.freebsd.org/BjoernZeeb / Contact: Bjoern A. Zeeb Solid-Run’s HoneyComb, Traverse Technologies’s Ten64 and some versions of Conclusive Engineering’s WHLE-LS1 all are NXP based platforms with the Data Path Acceleration Architecture Gen2 (DPAA2). Work has happened to support or improve support for peripherals on these boards. For DPAA2 I have local changes which will need review (or further discussion): • Cleanup of memac (MDIO) code reducing bus attachment (ACPI and FDT specific) code into more common code. • Cleanup of MC bus attachment code (again ACPI, FDT). • For reasons of mii_fdt.c support on some PHYs on FDT-based platforms restructure MAC/MII code and mostly migrate it out of the network interface (NI). • Improve Dmitry Salychev’s (dsl) initial SFF/SFP code, prototyping a bus similar to MII for SFP with the hope that with more work it can grow into a larger, general FreeBSD framework and hooked it up to DPMAC. • With this, minimal support (still fairly hacked up) for "managed" SFP+ mode (using the Ten64 terminology) is usable on FDT-based systems using DAC and fiber cables. • Add more sysctl statistics to DPMAC and NI. In short, I mostly cleaned up some of the mess I contributed to during the initial bring-up. For the LS1088a based WHLE-LS1 systems changes include: • device-tree file updates. • Added support for the PCA9546 I2C Switch (committed). • Added basic support for the PCAL6524 24-bit Fm+ I2C-bus/SMBus I/O expander. • Added basic support for the PCA9633 4-bit Fm+ I2C-bus LED driver to drive the status LEDs. • Added support to program the rgephy(4) LEDs (which needs to be validated). • Started testing the eMMC with MMCCAM and GENERIC but had trouble (needs further investigation, seemed fine from firmware for updates). • Tested one of three PCIe slots and USB fine. For the Ten64: • Most of the basic lifting happened a while ago and it has generally been usable. • Detecting the VSC8514 PHY as such went in end of last year. • Used as the default platform to test the DPAA2 changes and SFP/SFP+ code. In addition Pierre-Luc Drouin has overhauled the Vybrid I2C support now attaching and working on both FDT- and ACPI-based systems (committed). Sponsor: Traverse Technologies (Ten64 hardware a while ago, support) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Cloud Updating cloud-specific features and bringing in support for new cloud platforms. FreeBSD on Microsoft HyperV and Azure Links: Microsoft Azure article on FreeBSD wiki URL: https://wiki.freebsd.org/MicrosoftAzure Microsoft HyperV article on FreeBSD wiki URL: https://wiki.freebsd.org/HyperV Contact: Microsoft FreeBSD Integration Services Team Contact: freebsd-cloud Mailing List Contact: The FreeBSD Azure Release Engineering Team Contact: Wei Hu Contact: Souradeep Chakrabarti Contact: Li-Wen Hsu In this quarter, we have solved all the blocking issues and published the 13.3-RELEASE on Azure Marketplace. Work in progress tasks: • Automating the image building and publishing process and merging to src/ release/. • Building and publishing snapshot builds to Azure community gallery. The above tasks are sponsored by The FreeBSD Foundation, with resources provided by Microsoft. Open tasks: • Update FreeBSD-related doc at Microsoft Learn • Support FreeBSD in Azure Pipelines • Update Azure agent port to the latest version • Upstream local modifications of Azure agent • Port Linux Virtual Machine Extensions for Azure Sponsor: Microsoft for people in Microsoft, and for resources for the rest Sponsor: The FreeBSD Foundation for everything else ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD as a Tier 1 cloud-init Platform Links: cloud-init Website URL: https://cloud-init.io/ cloud-init Documentation URL: https://cloudinit.readthedocs.io/en/latest/ Contact: Mina Galić cloud-init is the standard way of provisioning servers in the cloud. Over the past year and a half, thanks to this FreeBSD support has steadily improved. This year, together with cloud-init developers and the FreeBSD Foundation, we decided to explicitly focus on making improvements in FreeBSD itself, that will aid the cloud-init team to test future changes to FreeBSD code-paths themselves. To achieve this goal, I need to make FreeBSD run in LXD (and Incus), under the control of lxd-agent (or incus-agent). Here are some improvements from the recent weeks: • I have written a small testing-framework (in sh, and I’m slowly porting it to OpenTofu/Terraform), which installs the latest version of net/ cloud-init-devel or net/cloud-init and runs a couple of standard cloud-init tests. • To do this, I have created a dedicated public repository which contains the latest versions of net/cloud-init-devel and net/cloud-init for FreeBSD 13 and 14 on amd64 and aarch64. • I have ported Linux’s vsock testing framework to FreeBSD • I created a driver skeleton for a VirtIO Socket driver, based on the HyperV Socket driver. • In doing so, I made numerous improvements to HyperV sockets, some of which are accepted, others still need more work. • I have tested and released the latest 24.1 series cloud-init, where the cloud-init team and I have finally fixed some longstanding bugs, such as moving /run/cloud-init to /var/run/cloud-init on BSD, as well as fixing the homedir argument to user_groups to actually do something. • This release also sees numerous fixes to the OpenBSD code-paths from the community and not just me. • I have also started an official port for OpenBSD, but that work has stalled . The work to come, in broad strokes: • Finish the FreeBSD VirtIO Socket driver. • Fix Go’s runtime to support VirtIO on FreeBSD. • Port lxd-agent’s dependencies to FreeBSD. • Port lxd-agent to FreeBSD. That work will be interspersed with more improvements to cloud-init on BSDs, and more tests on different cloud providers. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ OpenStack on FreeBSD Links: OpenStack URL: https://www.openstack.org/ OpenStack on FreeBSD URL: https://github.com/openstack-on-freebsd Contact: Chih-Hsin Chang Contact: Li-Wen Hsu The OpenStack on FreeBSD project aims to seamlessly integrate OpenStack cloud infrastructure with the FreeBSD operating system. It uses FreeBSD’s unique features while ensuring compatibility with OpenStack standards. In the first quarter of 2024, we made significant progress on the OpenStack on FreeBSD project. This included submitting a proposal for BSDCan 2024 and attending AsiaBSDCon 2024 to share our porting experiences and gain exposure for the project. The feedback received at AsiaBSDCon was particularly valuable and helped in refining the project’s direction. During this period, we also reviewed the project’s phase 1 tasks and made necessary adjustments. We also planned for phases 2 and 3, aligning them with the project’s long-term goals. One technical achievement was verifying the functionality of bhyve serial console over TCP, an important part of the project’s infrastructure. Additionally, we created a demo video showcasing the project’s progress and features. Looking ahead, our focus for the next quarter includes confirming the feasibility of implementing FreeBSD privilege-management user space tools leveraging mac(4) and priv(9), simplifying installation steps by transitioning to FreeBSD ports, and porting OpenStack Ironic to FreeBSD. These tasks will enhance the project’s capabilities and compatibility. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Documentation Noteworthy changes in the documentation tree, manual pages, or new external books/documents. Documentation Engineering Team Link: FreeBSD Documentation Project URL: https://www.freebsd.org/docproj/ Link: FreeBSD Documentation Project Primer for New Contributors URL: https://docs.freebsd.org/en/books/fdp-primer/ Link: Documentation Engineering Team URL: https://www.freebsd.org/administration/#t-doceng Contact: FreeBSD Doceng Team The doceng team is a body to handle some of the meta-project issues associated with the FreeBSD Documentation Project; for more information, see FreeBSD Doceng Team Charter. During the last quarter: Edward Tomasz Napierała's doc commit bit was taken for safekeeping. Tom Rhodes 's doc commit bit was taken for safekeeping. FreeBSD Translations on Weblate Link: Translate FreeBSD on Weblate URL: https://wiki.freebsd.org/Doc/Translation/Weblateurl Link: FreeBSD Weblate Instance URL: https://translate-dev.freebsd.org/url Q1 2024 Status • 17 team languages • 189 registered users Three new translators joined Weblate: • piker3 in Polish team (pl) • chrislongros in Greek team (el) • grip in Italian team (it_IT) Languages • Chinese (Simplified) (zh-cn) (progress: 7%) • Chinese (Traditional) (zh-tw) (progress: 3%) • Dutch (nl) (progress: 1%) • French (fr) (progress: 1%) • German (de) (progress: 1%) • Greek (el) (progress: 1%) • Indonesian (id) (progress: 1%) • Italian (it) (progress: 5%) • Korean (ko) (progress: 32%) • Norwegian (nb-no) (progress: 1%) • Persian (fa-ir) (progress: 3%) • Polish (progress: 2%) • Portuguese (progress: 0%) • Portuguese (pt-br) (progress: 22%) • Spanish (es) (progress: 36%) • Turkish (tr) (progress: 2%) We want to thank everyone that contributed, translating or reviewing documents. And please, help promote this effort on your local user group, we always need more volunteers. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Ports Changes affecting the Ports Collection, whether sweeping changes that touch most of the tree, or individual ports themselves. FreshPorts: Notification of new packages Links: FreshPorts URL: https://freshports.org/ FreshPorts blog URL: https://news.freshports.org/ Contact: Dan Langille FreshPorts and FreshSource have reported upon FreeBSD commits for 20 years. They cover all commits, not just ports. FreshPorts tracks the commits and extracts data from the port Makefiles to create a database of information useful to both port maintainers and port users. For example, https://www.freshports.org/security/acme.sh/#history shows the history of the security/acme.sh port, back to its creation in May 2017. Also available are dependencies, flavors, configuration options, and available packages. All of this is useful for both users and developers of ports. Notification: New Package Available One of the original features of FreshPorts is notification of ports updates. You can create a list of ports and receive notifications about those ports. This new feature can also notify when a new package is available for that port. The use case: a known security vulnerability has been patched. FreshPorts will tell you the port has been patched, and then you wait for the package. This new feature will tell you when that package is available. Details at: • https://github.com/FreshPorts/freshports/issues/542 Help Needed It has been over 23 years since FreshPorts started. Others must take over eventually. I have started that process recently. There are several aspects to FreshPorts: • FreeBSD admin (updating the OS and packages) • front end code (website - mostly PHP) • back end code (commit processing - Perl, Python, shell) • database design (PostgreSQL). The database does not change very often and requires little maintenance compared to the applications and OS. The website pretty much runs itself. From time to time, a change to the FreeBSD ports infrastructure breaks something or requires a modification, but there is rarely any urgency to fix that. This is not a huge time commitment. There is a lot of learning. While not a complex application, FreshPorts is also not trivial. To contribute, please join the https://lists.freshports.org/mailman/listinfo/freshports-coders mailing list and let us know what you would like to help with. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GCC on FreeBSD Links: GCC Project URL: https://gcc.gnu.org/ GCC 10 release series URL: https://gcc.gnu.org/gcc-10/ GCC 11 release series URL: https://gcc.gnu.org/gcc-11/ GCC 12 release series URL: https://gcc.gnu.org/gcc-12/ GCC 13 release series URL: https://gcc.gnu.org/gcc-13/ Contact: Lorenzo Salvadore Updating GCC default version to 13 is finally finished. Thanks to Antoine Brodin who ran the exp-runs and to all other developers and ports maintainers involved. As promised in the preceding report, the next goal is to reduce the number of open bugs for GCC ports. Some work on existing bugs has already started. In particular, lang/gcc14-devel has long stayed out of date due to some issues with building the port without any BOOTSTRAP option. Thanks to the help of other developers and contributors (a special thank to Mark Millard), I noticed that according to the official documentation building GCC without bootstrap requires a working GCC binary and thus I switched lang/gcc14-devel to require that a BOOTSTRAP option is set. However it has later been stated that bootstrapping GCC using clang and libc++ is officially supported. But it has also been stated that this is not a high priority. At the moment lang/gcc14-devel is the only GCC port requiring a BOOTSTRAP option to be set. The plan is to have all GCC ports for versions greater or equal than 14 (i.e. future GCC ports) to require such an option: even if building without bootstrap is more or less officially supported, being low priority for upstream it increases the burden of maintaining GCC ports for low results. In case lower versions start to have issues building without bootstrap, I am going to require bootstrap for those as well. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Valgrind: port to arm64 on its way Links: Valgrind Home Page URL: https://www.valgrind.org/ Valgrind News URL: https://www.valgrind.org/docs/manual/dist.news.html arm64 port URL: https://github.com/paulfloyd/freebsdarm64_valgrind Contact: Paul Floyd The major news, as per the title, is that a port to FreeBSD arm64 (or aarch64) is now ready. The next steps are to get it reviewed and pushed upstream. Valgrind 3.23 is due out at the end of April 2024 and devel/valgrind will be updated shortly after that. devel/valgrind-devel will get an update as soon as I have pushed the changes for arm64. --track-fds=yes now checks for and warns about attempts to close a file descriptor more than once. Handling of closefrom has been improved to use this feature. There are some important fixes for FreeBSD 15, in particular handling the new libsys. Here is a list of smaller bugfixes: • Support for FreeBSD 13.3 has been added. • Added a redirect for reallocarray. • Several fixes for aio* functions. • Added a redirect for memccpy. • There is a fix for _umtx_op OP_ROBUST_LISTS. • Added redirects for C23 free_sized and free_aligned_sized. • Correctly propagate the ELF stack protection flags to the guest stack that Valgrind synthesizes. • Fixes for --sanity-level-3 and above (only used for Valgrind self-testing at runtime). • Several fixes to checking done for semctl. • Fixed argument checking for utrace. • Fixed argument checking for clock_nanosleep. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Third Party Projects Many projects build upon FreeBSD or incorporate components of FreeBSD into their project. As these projects may be of interest to the broader FreeBSD community, we sometimes include brief updates submitted by these projects in our quarterly report. The FreeBSD project makes no representation as to the accuracy or veracity of any claims in these submissions. Containers and FreeBSD: Pot, Potluck and Potman Links: Pot organization on GitHub URL: https://github.com/bsdpot Contact: Luca Pizzamiglio (Pot) Contact: Bretton Vine (Potluck) Contact: Michael Gmelin (Potman) Pot is a jail management tool that also supports orchestration through Nomad. Potluck aims to be to FreeBSD and Pot what Dockerhub is to Linux and Docker: a repository of Pot flavours and complete container images for usage with Pot and in many cases Nomad. During this quarter, there were no new Pot releases. Potluck saw quite some activity though. Not only have the images been rebuilt for FreeBSD 14, but also the new Adminer container has been submitted by first-time contributor Sidicer. Additionally a large number of additional features, updates and fixes have been committed to containers like HAProxy-Consul, Grafana, PostgreSQL-Patroni, or Prometheus. For the Mastodon container, a blog post has been published explaining how to use it to run your own instance. As always, feedback and patches are welcome. Sponsors: Nikulipe UAB, Honeyguide Group