Received: (at 75590) by debbugs.gnu.org; 28 Feb 2025 22:26:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 28 17:26:10 2025 Received: from localhost ([127.0.0.1]:54305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1to8o5-00060R-I5 for submit <at> debbugs.gnu.org; Fri, 28 Feb 2025 17:26:10 -0500 Received: from defaultvalue.org ([45.33.119.55]:35928) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rlb@HIDDEN>) id 1to8nz-0005zf-UP for 75590 <at> debbugs.gnu.org; Fri, 28 Feb 2025 17:26:07 -0500 Received: from trouble.defaultvalue.org (localhost [127.0.0.1]) (Authenticated sender: rlb@HIDDEN) by defaultvalue.org (Postfix) with ESMTPSA id 306862036F; Fri, 28 Feb 2025 16:26:02 -0600 (CST) Received: by trouble.defaultvalue.org (Postfix, from userid 1000) id 334C914E341; Fri, 28 Feb 2025 16:26:01 -0600 (CST) From: Rob Browning <rlb@HIDDEN> To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Subject: Re: bug#75590: ports.test: "SEEK_DATA while in hole" fails on some hosts In-Reply-To: <87y0xpq0su.fsf@HIDDEN> References: <87y0zc2ddi.fsf@HIDDEN> <CAA2XvwJEa_rYb4Z7r7MrCTJHVX6UMVtjHOF0H4jzui0_usYPdw@HIDDEN> <87zfjmy313.fsf@HIDDEN> <87y0xpq0su.fsf@HIDDEN> Date: Fri, 28 Feb 2025 16:26:01 -0600 Message-ID: <87senxln9i.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75590 Cc: Mikael Djurfeldt <mikael@HIDDEN>, 75590 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > What does =E2=80=98path-fs=E2=80=99 do? How can we adapt it for use in t= he test suite? Oh, right, that's here: https://salsa.debian.org/rlb/deb-guile/-/blob/deb/guile-3.0/d/sid/master/= debian/bin/path-fs?ref_type=3Dheads via https://salsa.debian.org/rlb/deb-guile/-/commit/691c5ab5ca48ce69cce60dabd= 7b53d30cb600dda It just reports the fs type for a given path, which doesn't appear to be (portably) easy. --=20 Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
bug-guile@HIDDEN
:bug#75590
; Package guile
.
Full text available.Received: (at 75590) by debbugs.gnu.org; 28 Feb 2025 20:20:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 28 15:20:13 2025 Received: from localhost ([127.0.0.1]:53437 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1to6qD-0006nn-Bz for submit <at> debbugs.gnu.org; Fri, 28 Feb 2025 15:20:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47254) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1to6qA-0006j7-LY for 75590 <at> debbugs.gnu.org; Fri, 28 Feb 2025 15:20:11 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1to6q5-0002h1-0S; Fri, 28 Feb 2025 15:20:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=f5I9FYcF9fpZeEMHIA4yLX78kzlG6gByKuDm83btDU8=; b=i3Ks3/unx9hzH9ErQeUj 2Qe42x/ggZs3bEDIUyLR21xlNtaupWtOzFhKLRvyEJuXr9krAk1b2C1paFbBk58wtv26FJNtJL52l lP2aAsyLbpw+6LrPyZzKM/i/FSgenKOCxVaUQwZ4XwCJ74Yyo39O9TfTu+qZMveBcFj1YAXg5MdGC aEQS9z/4munE+JFY9pa0PLVd/40YnBtcv5o7VVoVE5iEcp7tud4ARuQ9w9IDRBa2TCXpR/IkaPze9 OH6vvnU1fwaVFxpp36BjhKrbuFp13OcE7b4kGTVc/UqqcBttchn58qJ6nGlKgqK021MzubqrNKp5u CdR6La4AVOcTig==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Rob Browning <rlb@HIDDEN> Subject: Re: bug#75590: ports.test: "SEEK_DATA while in hole" fails on some hosts In-Reply-To: <87zfjmy313.fsf@HIDDEN> (Rob Browning's message of "Sun, 19 Jan 2025 14:14:32 -0600") References: <87y0zc2ddi.fsf@HIDDEN> <CAA2XvwJEa_rYb4Z7r7MrCTJHVX6UMVtjHOF0H4jzui0_usYPdw@HIDDEN> <87zfjmy313.fsf@HIDDEN> Date: Fri, 28 Feb 2025 21:20:01 +0100 Message-ID: <87y0xpq0su.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75590 Cc: Mikael Djurfeldt <mikael@HIDDEN>, 75590 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Rob, Rob Browning <rlb@HIDDEN> skribis: > +(define (skip-unless-fs-handles-holes-as-expected) > + ;; For now only allow filesystems that should have the seek hole/data > + ;; semantics the tests expect. Filesystems vary both in how they > + ;; handle sparseness in general (e.g. granularity), how they handle > + ;; SEEK_DATA and SEEK_HOLE (see lseek(2) for some related info), and > + ;; even how quickly they reflect changes. du's output, for example, > + ;; may not immediately reflect sparseness changes (previously observed > + ;; on btrfs and zfs). > + (let* ((p (open-input-pipe "debian/bin/path-fs .")) > + (fs (read-all p))) What does =E2=80=98path-fs=E2=80=99 do? How can we adapt it for use in the= test suite? Thanks for investigating! Ludo=E2=80=99.
bug-guile@HIDDEN
:bug#75590
; Package guile
.
Full text available.Received: (at 75590) by debbugs.gnu.org; 19 Jan 2025 20:14:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 19 15:14:38 2025 Received: from localhost ([127.0.0.1]:47530 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tZbgs-00072d-7X for submit <at> debbugs.gnu.org; Sun, 19 Jan 2025 15:14:38 -0500 Received: from defaultvalue.org ([45.33.119.55]:34164) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rlb@HIDDEN>) id 1tZbgp-00072P-6r for 75590 <at> debbugs.gnu.org; Sun, 19 Jan 2025 15:14:36 -0500 Received: from trouble.defaultvalue.org (localhost [127.0.0.1]) (Authenticated sender: rlb@HIDDEN) by defaultvalue.org (Postfix) with ESMTPSA id 65B4B20031; Sun, 19 Jan 2025 14:14:33 -0600 (CST) Received: by trouble.defaultvalue.org (Postfix, from userid 1000) id E375B14E066; Sun, 19 Jan 2025 14:14:32 -0600 (CST) From: Rob Browning <rlb@HIDDEN> To: Mikael Djurfeldt <mikael@HIDDEN> Subject: Re: bug#75590: ports.test: "SEEK_DATA while in hole" fails on some hosts In-Reply-To: <CAA2XvwJEa_rYb4Z7r7MrCTJHVX6UMVtjHOF0H4jzui0_usYPdw@HIDDEN> References: <87y0zc2ddi.fsf@HIDDEN> <CAA2XvwJEa_rYb4Z7r7MrCTJHVX6UMVtjHOF0H4jzui0_usYPdw@HIDDEN> Date: Sun, 19 Jan 2025 14:14:32 -0600 Message-ID: <87zfjmy313.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75590 Cc: Mikael Djurfeldt <mikael@HIDDEN>, 75590 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Mikael Djurfeldt <mikael@HIDDEN> writes: > We could, in addition to "stat", provide "statfs" (on systems that provide > it). > > The test could then first test for the presence of "statfs" and then check > if the filesystem is ext4. Here's what I've done in Debian for now after double-checking the test on a few filesystems: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Skip-ports.test-seek-tests-unless-filesystem-looks-s.patch Content-Description: only-test-sparse-data-hole-where-expected-to-work.patch From ea1750ad7f27593ee42ca48c74cc5b3e3cdd2d1d Mon Sep 17 00:00:00 2001 From: Rob Browning <rlb@HIDDEN> Date: Wed, 15 Jan 2025 12:54:02 -0600 Subject: [PATCH 1/1] Skip ports.test seek tests unless filesystem looks suitable For now, only test on filesystems that we know have the expected semantics, i.e. btrfs, ext4, and xfs. --- test-suite/tests/ports.test | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test index bec5e356c5..baa9edb700 100644 --- a/test-suite/tests/ports.test +++ b/test-suite/tests/ports.test @@ -39,9 +39,23 @@ (define (test-file) (data-file-name "ports-test.tmp")) -(define (skip-on-darwin) - (when (string-ci=? "darwin" (utsname:sysname (uname))) - (throw 'untested))) +(define (skip-unless-fs-handles-holes-as-expected) + ;; For now only allow filesystems that should have the seek hole/data + ;; semantics the tests expect. Filesystems vary both in how they + ;; handle sparseness in general (e.g. granularity), how they handle + ;; SEEK_DATA and SEEK_HOLE (see lseek(2) for some related info), and + ;; even how quickly they reflect changes. du's output, for example, + ;; may not immediately reflect sparseness changes (previously observed + ;; on btrfs and zfs). + (let* ((p (open-input-pipe "debian/bin/path-fs .")) + (fs (read-all p))) + (close p) + (when (string=? "\n" fs) + (error "unexpected output from debian/bin/path-fs" fs)) + (or (string=? "btrfs\n" fs) + (string=? "ext4\n" fs) + (string=? "xfs\n" fs) + (throw 'untested)))) ;;;; Some general utilities for testing ports. @@ -189,7 +203,6 @@ (close-port iport)) (delete-file filename)) -;;; Note: Holes are weird on Darwin. (let* ((file (test-file)) (port (open-output-file file))) (seek port 4096 SEEK_SET) @@ -198,15 +211,12 @@ (pass-if-equal "size of sparse file" 4100 - ;; XXX: On macOS, APFS does support sparse files, they do not behave - ;; like on Linux. Skip these tests on macOS. - (skip-on-darwin) - + (skip-unless-fs-handles-holes-as-expected) (stat:size (stat file))) (pass-if-equal "SEEK_DATA while on data" 4096 - (skip-on-darwin) + (skip-unless-fs-handles-holes-as-expected) (if (defined? 'SEEK_DATA) (call-with-input-file file (lambda (port) @@ -219,7 +229,7 @@ (pass-if-equal "SEEK_DATA while in hole" 4096 - (skip-on-darwin) + (skip-unless-fs-handles-holes-as-expected) (if (defined? 'SEEK_DATA) (call-with-input-file file (lambda (port) @@ -232,7 +242,7 @@ (pass-if-equal "SEEK_HOLE while in hole" 10 - (skip-on-darwin) + (skip-unless-fs-handles-holes-as-expected) (if (defined? 'SEEK_HOLE) (call-with-input-file file (lambda (port) -- 2.45.2 --=-=-= Content-Type: text/plain But happy to help with whatever solution we prefer in guile itself. -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 --=-=-=--
bug-guile@HIDDEN
:bug#75590
; Package guile
.
Full text available.Received: (at 75590) by debbugs.gnu.org; 17 Jan 2025 14:09:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 17 09:09:57 2025 Received: from localhost ([127.0.0.1]:36476 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tYn2q-0006tC-Jc for submit <at> debbugs.gnu.org; Fri, 17 Jan 2025 09:09:57 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:48584) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <mdjurfeldt@HIDDEN>) id 1tYn2n-0006sy-Io for 75590 <at> debbugs.gnu.org; Fri, 17 Jan 2025 09:09:55 -0500 Received: by mail-ua1-f47.google.com with SMTP id a1e0cc1a2514c-85c4cd95885so403034241.1 for <75590 <at> debbugs.gnu.org>; Fri, 17 Jan 2025 06:09:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737122987; x=1737727787; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7tiswR7F4s7JVKA4UyL49ecSCjaBpT7F9YR7XWi3uLo=; b=QhgB2uGluFmOn7oNM7JImJDL8FCcB53XX7ni5jn2ujy0FgRbeXSSrSaqov/O7bhj1X IRe4imUpJ7YOmZwaVKW0tgPdxnrlAUI0Enu/jxf92nUjYp13cPygsWRACg+Wd0zJD8kD a54+5Ga1dbU30SHOxCwRE+AnTH/5bqMP78WNhde6q05KY8Fe731SWeugb05BAuBSusB5 jHIJMXXfeoK7W/qLeYeW2/rXF22PPwFXoaDvdrLs6q4HATRCJX/D4dolYuf7JvdeK7vo unRxmTX9AXLNiQ15EDR4ilhab/qM6QWebMgcTQL5AP9rS8OnJSud3cDWkQmHXEw/OwB1 LQxA== X-Gm-Message-State: AOJu0YzLY1FHIwJNnH+CldvSr8P4dDyLqkCRYrE12716j8Ecalo4qjML gANxAR34R9+0u5HO2jTF6JOQMsFvrIkk9gJWNBnjMzS5pBNese5DLYA85hjMAnN/CSGGfFYZQiu 0TkmA9QiyvzWIpl+oWQ4rEhWUTR4= X-Gm-Gg: ASbGncudmod3ho8BkMGWGXos9k4TlUTuaoxGcdFkkF2PQ6Ab4RgrsUBb3AIN/H5Tu2N p/lstY1Kdu9S83owt/J5tf8olAydHYu1CHNe+IDY= X-Google-Smtp-Source: AGHT+IFsxtP8REQ5Ptj94y/xGACrYZP2GrHgpyjyD0htgmfv64tkhLF7jxKVynqt6uHHMOJjN/ahwKrZ1XtkJ68i6yk= X-Received: by 2002:a05:6122:660d:b0:516:157d:c5fb with SMTP id 71dfb90a1353d-51d5b3a63admr2107941e0c.10.1737122987518; Fri, 17 Jan 2025 06:09:47 -0800 (PST) MIME-Version: 1.0 References: <87y0zc2ddi.fsf@HIDDEN> In-Reply-To: <87y0zc2ddi.fsf@HIDDEN> From: Mikael Djurfeldt <mikael@HIDDEN> Date: Fri, 17 Jan 2025 15:09:35 +0100 X-Gm-Features: AbW1kvbQyx4A4ReOQGBXFTyG5cBMsd1RJstoFq_JmkbGuG-Yw2CDi7i4uTxxPfs Message-ID: <CAA2XvwJEa_rYb4Z7r7MrCTJHVX6UMVtjHOF0H4jzui0_usYPdw@HIDDEN> Subject: Re: bug#75590: ports.test: "SEEK_DATA while in hole" fails on some hosts To: Rob Browning <rlb@HIDDEN> Content-Type: multipart/alternative; boundary="0000000000009a319e062be77661" X-Spam-Score: -1.5 (-) X-Debbugs-Envelope-To: 75590 Cc: Mikael Djurfeldt <mikael@HIDDEN>, 75590 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Reply-To: mikael@HIDDEN Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.5 (--) --0000000000009a319e062be77661 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable We could, in addition to "stat", provide "statfs" (on systems that provide it). The test could then first test for the presence of "statfs" and then check if the filesystem is ext4. Best regards, Mikael On Wed, Jan 15, 2025 at 6:32=E2=80=AFPM Rob Browning <rlb@HIDDEN>= wrote: > > This test failed on one of the debian buildds[1] like this: > > Running popen.test > Backtrace: > 4 (primitive-load > "/build/reproducible-path/guile-3.0-3.0.10+really3.0.10/test-suite/tests/= ports.test") > In ice-9/eval.scm: > 619:8 3 (_ #(#(#<directory (test-suite test-ports) 7fff9a860460> > "/build/reproducible-path/guile-3.0-3.0.10+really3.0.10/ports-test.tmp") > #<closed: file 7fff959be8c0>)) > 619:8 2 (_ #(#(#(#<directory (test-suite lib) 7fff9a8d80a0> > #<variable 7fff9a90a5d0 value: #t>) "SEEK_DATA while in hole" #t > #<procedure 7fff95a17c80 at ice-9/eval.scm:330:13 ()>) ("ports.test" > "SEEK_DATA while in hole"))) > In ice-9/boot-9.scm: > 260:13 1 (for-each #<procedure 7fff95a17240 at ice-9/eval.scm:333:1= 3 > (a)> _) > In ice-9/eval.scm: > 619:8 0 (_ #(#(#<directory (test-suite lib automake) 7fff9a860820> > (fail ("ports.test" "SEEK_DATA while in hole") expected-value 4096 > actual-value 10)))) > > ice-9/eval.scm:619:8: Throw to key `match-error' with args `("match" "n= o > matching pattern" (fail ("ports.test" "SEEK_DATA while in hole") > expected-value 4096 actual-value 10))'. > Running ports.test > FAIL: ports.test: SEEK_DATA while in hole - arguments: (expected-value > 4096 actual-value 10) > > I suspect it's because that buildd is running in an unshare/chroot with > a filesystem that just doesn't support the seek data/hole semantics we > expect, and it sounds like returning the seek offset (here 10) is > allowed (at least by Debian's lseek(2)): > > In the simplest implementation, a filesystem can support the > operations by making SEEK_HOLE always return the offset of the end of > the file, and making SEEK_DATA always return offset (i.e., even if the > location referred to by offset is a hole, it can be considered to > consist of data that is a sequence of zeros). > > How we might want to fix this depends of course on exactly what the test > is trying to verify, but if it's trying to verify that Guile's functions > work properly when the filesystem does support the semantics we expect, > then we could consider limiting the tests to relevant filesystems > (e.g. ext4, ...). > > In that case, while I don't know of a simple way to detect the type of > the test filesystem, if it's useful, bup currently uses this to handle > some platforms > (https://codeberg.org/bup/bup/src/branch/main/dev/path-fs): > > #!/usr/bin/env bash > > set -ueo pipefail > > kernel=3D"$(uname -s)" > case "$kernel" in > NetBSD) > fs() { df -G "$1" | sed -En 's/.* ([^ ]*) fstype.*/\1/p'; } > ;; > SunOS) > fs() { df -g "$1" | sed -En 's/.* ([^ ]*) fstype.*/\1/p'; } > ;; > *) > fs() { df -T "$1" | awk 'END{print $2}'; } > esac > > while test $# -ne 0; do > fs "$1" > shift > done > > [1] From > https://buildd.debian.org/status/fetch.php?pkg=3Dguile-3.0&arch=3Dppc64el= &ver=3D3.0.10%2Breally3.0.10-1&stamp=3D1736918931&raw=3D0 > > Thanks > -- > Rob Browning > rlb @defaultvalue.org and @debian.org > GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A > GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 > > > > --0000000000009a319e062be77661 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>We could, in addition to "stat", provide &q= uot;statfs" (on systems that provide it).</div><div><br></div><div>The= test could then first test for the presence of "statfs" and then= check if the filesystem is ext4.</div><div><br></div><div>Best regards,</d= iv><div>Mikael<br></div></div><br><div class=3D"gmail_quote gmail_quote_con= tainer"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Jan 15, 2025 at 6:32= =E2=80=AFPM Rob Browning <<a href=3D"mailto:rlb@HIDDEN">rlb@de= faultvalue.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" st= yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd= ing-left:1ex"><br> This test failed on one of the debian buildds[1] like this:<br> <br> =C2=A0 Running popen.test<br> =C2=A0 Backtrace:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A04 (primitive-load "/bu= ild/reproducible-path/guile-3.0-3.0.10+really3.0.10/test-suite/tests/ports.= test")<br> =C2=A0 In ice-9/eval.scm:<br> =C2=A0 =C2=A0 =C2=A0 619:8=C2=A0 3 (_ #(#(#<directory (test-suite test-p= orts) 7fff9a860460> "/build/reproducible-path/guile-3.0-3.0.10+real= ly3.0.10/ports-test.tmp") #<closed: file 7fff959be8c0>))<br> =C2=A0 =C2=A0 =C2=A0 619:8=C2=A0 2 (_ #(#(#(#<directory (test-suite lib)= 7fff9a8d80a0> #<variable 7fff9a90a5d0 value: #t>) "SEEK_DATA= while in hole" #t #<procedure 7fff95a17c80 at ice-9/eval.scm:330:1= 3 ()>) ("ports.test" "SEEK_DATA while in hole")))<br= > =C2=A0 In ice-9/boot-9.scm:<br> =C2=A0 =C2=A0 =C2=A0260:13=C2=A0 1 (for-each #<procedure 7fff95a17240 at= ice-9/eval.scm:333:13 (a)> _)<br> =C2=A0 In ice-9/eval.scm:<br> =C2=A0 =C2=A0 =C2=A0 619:8=C2=A0 0 (_ #(#(#<directory (test-suite lib au= tomake) 7fff9a860820> (fail ("ports.test" "SEEK_DATA whil= e in hole") expected-value 4096 actual-value 10))))<br> <br> =C2=A0 ice-9/eval.scm:619:8: Throw to key `match-error' with args `(&qu= ot;match" "no matching pattern" (fail ("ports.test"= ; "SEEK_DATA while in hole") expected-value 4096 actual-value 10)= )'.<br> =C2=A0 Running ports.test<br> =C2=A0 FAIL: ports.test: SEEK_DATA while in hole - arguments: (expected-val= ue 4096 actual-value 10)<br> <br> I suspect it's because that buildd is running in an unshare/chroot with= <br> a filesystem that just doesn't support the seek data/hole semantics we<= br> expect, and it sounds like returning the seek offset (here 10) is<br> allowed (at least by Debian's lseek(2)):<br> <br> =C2=A0 In the simplest implementation, a filesystem can support the<br> =C2=A0 operations by making SEEK_HOLE always return the offset of the end o= f<br> =C2=A0 the file, and making SEEK_DATA always return offset (i.e., even if t= he<br> =C2=A0 location referred to by offset is a hole, it can be considered to<br= > =C2=A0 consist of data that is a sequence of zeros).<br> <br> How we might want to fix this depends of course on exactly what the test<br= > is trying to verify, but if it's trying to verify that Guile's func= tions<br> work properly when the filesystem does support the semantics we expect,<br> then we could consider limiting the tests to relevant filesystems<br> (e.g. ext4, ...).<br> <br> In that case, while I don't know of a simple way to detect the type of<= br> the test filesystem, if it's useful, bup currently uses this to handle<= br> some platforms<br> (<a href=3D"https://codeberg.org/bup/bup/src/branch/main/dev/path-fs" rel= =3D"noreferrer" target=3D"_blank">https://codeberg.org/bup/bup/src/branch/m= ain/dev/path-fs</a>):<br> <br> =C2=A0 #!/usr/bin/env bash<br> <br> =C2=A0 set -ueo pipefail<br> <br> =C2=A0 kernel=3D"$(uname -s)"<br> =C2=A0 case "$kernel" in<br> =C2=A0 =C2=A0 =C2=A0 NetBSD)<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fs() { df -G "$1" | sed -En &#= 39;s/.* ([^ ]*) fstype.*/\1/p'; }<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;;<br> =C2=A0 =C2=A0 =C2=A0 SunOS)<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fs() { df -g "$1" | sed -En &#= 39;s/.* ([^ ]*) fstype.*/\1/p'; }<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;;<br> =C2=A0 =C2=A0 =C2=A0 *)<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fs() { df -T "$1" | awk 'E= ND{print $2}'; }<br> =C2=A0 esac<br> <br> =C2=A0 while test $# -ne 0; do<br> =C2=A0 =C2=A0 =C2=A0 fs "$1"<br> =C2=A0 =C2=A0 =C2=A0 shift<br> =C2=A0 done<br> <br> [1] From <a href=3D"https://buildd.debian.org/status/fetch.php?pkg=3Dguile-= 3.0&arch=3Dppc64el&ver=3D3.0.10%2Breally3.0.10-1&stamp=3D173691= 8931&raw=3D0" rel=3D"noreferrer" target=3D"_blank">https://buildd.debia= n.org/status/fetch.php?pkg=3Dguile-3.0&arch=3Dppc64el&ver=3D3.0.10%= 2Breally3.0.10-1&stamp=3D1736918931&raw=3D0</a><br> <br> Thanks<br> -- <br> Rob Browning<br> rlb @<a href=3D"http://defaultvalue.org" rel=3D"noreferrer" target=3D"_blan= k">defaultvalue.org</a> and @<a href=3D"http://debian.org" rel=3D"noreferre= r" target=3D"_blank">debian.org</a><br> GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A<br> GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4<br> <br> <br> <br> </blockquote></div> --0000000000009a319e062be77661--
bug-guile@HIDDEN
:bug#75590
; Package guile
.
Full text available.Received: (at submit) by debbugs.gnu.org; 15 Jan 2025 17:31:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 15 12:31:06 2025 Received: from localhost ([127.0.0.1]:58604 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tY7EQ-0003j0-EJ for submit <at> debbugs.gnu.org; Wed, 15 Jan 2025 12:31:06 -0500 Received: from lists.gnu.org ([2001:470:142::17]:38082) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rlb@HIDDEN>) id 1tY7EL-0003iN-Vq for submit <at> debbugs.gnu.org; Wed, 15 Jan 2025 12:31:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <rlb@HIDDEN>) id 1tY7EE-00062J-GW for bug-guile@HIDDEN; Wed, 15 Jan 2025 12:30:56 -0500 Received: from defaultvalue.org ([45.33.119.55]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <rlb@HIDDEN>) id 1tY7EC-0001Mw-DL for bug-guile@HIDDEN; Wed, 15 Jan 2025 12:30:54 -0500 Received: from trouble.defaultvalue.org (localhost [127.0.0.1]) (Authenticated sender: rlb@HIDDEN) by defaultvalue.org (Postfix) with ESMTPSA id 5F6B420563 for <bug-guile@HIDDEN>; Wed, 15 Jan 2025 11:30:49 -0600 (CST) Received: by trouble.defaultvalue.org (Postfix, from userid 1000) id 1200A14E066; Wed, 15 Jan 2025 11:30:49 -0600 (CST) From: Rob Browning <rlb@HIDDEN> To: bug-guile@HIDDEN Subject: ports.test: "SEEK_DATA while in hole" fails on some hosts Date: Wed, 15 Jan 2025 11:30:49 -0600 Message-ID: <87y0zc2ddi.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=45.33.119.55; envelope-from=rlb@HIDDEN; helo=defaultvalue.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.1 (/) This test failed on one of the debian buildds[1] like this: Running popen.test Backtrace: 4 (primitive-load "/build/reproducible-path/guile-3.0-3.0.10+really3.0.10/test-suite/tests/ports.test") In ice-9/eval.scm: 619:8 3 (_ #(#(#<directory (test-suite test-ports) 7fff9a860460> "/build/reproducible-path/guile-3.0-3.0.10+really3.0.10/ports-test.tmp") #<closed: file 7fff959be8c0>)) 619:8 2 (_ #(#(#(#<directory (test-suite lib) 7fff9a8d80a0> #<variable 7fff9a90a5d0 value: #t>) "SEEK_DATA while in hole" #t #<procedure 7fff95a17c80 at ice-9/eval.scm:330:13 ()>) ("ports.test" "SEEK_DATA while in hole"))) In ice-9/boot-9.scm: 260:13 1 (for-each #<procedure 7fff95a17240 at ice-9/eval.scm:333:13 (a)> _) In ice-9/eval.scm: 619:8 0 (_ #(#(#<directory (test-suite lib automake) 7fff9a860820> (fail ("ports.test" "SEEK_DATA while in hole") expected-value 4096 actual-value 10)))) ice-9/eval.scm:619:8: Throw to key `match-error' with args `("match" "no matching pattern" (fail ("ports.test" "SEEK_DATA while in hole") expected-value 4096 actual-value 10))'. Running ports.test FAIL: ports.test: SEEK_DATA while in hole - arguments: (expected-value 4096 actual-value 10) I suspect it's because that buildd is running in an unshare/chroot with a filesystem that just doesn't support the seek data/hole semantics we expect, and it sounds like returning the seek offset (here 10) is allowed (at least by Debian's lseek(2)): In the simplest implementation, a filesystem can support the operations by making SEEK_HOLE always return the offset of the end of the file, and making SEEK_DATA always return offset (i.e., even if the location referred to by offset is a hole, it can be considered to consist of data that is a sequence of zeros). How we might want to fix this depends of course on exactly what the test is trying to verify, but if it's trying to verify that Guile's functions work properly when the filesystem does support the semantics we expect, then we could consider limiting the tests to relevant filesystems (e.g. ext4, ...). In that case, while I don't know of a simple way to detect the type of the test filesystem, if it's useful, bup currently uses this to handle some platforms (https://codeberg.org/bup/bup/src/branch/main/dev/path-fs): #!/usr/bin/env bash set -ueo pipefail kernel="$(uname -s)" case "$kernel" in NetBSD) fs() { df -G "$1" | sed -En 's/.* ([^ ]*) fstype.*/\1/p'; } ;; SunOS) fs() { df -g "$1" | sed -En 's/.* ([^ ]*) fstype.*/\1/p'; } ;; *) fs() { df -T "$1" | awk 'END{print $2}'; } esac while test $# -ne 0; do fs "$1" shift done [1] From https://buildd.debian.org/status/fetch.php?pkg=guile-3.0&arch=ppc64el&ver=3.0.10%2Breally3.0.10-1&stamp=1736918931&raw=0 Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Rob Browning <rlb@HIDDEN>
:bug-guile@HIDDEN
.
Full text available.bug-guile@HIDDEN
:bug#75590
; Package guile
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.