From unknown Sat Jun 21 03:20:46 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#24908 <24908@debbugs.gnu.org> To: bug#24908 <24908@debbugs.gnu.org> Subject: Status: Possible unboxing bug in master triggered by (format) Reply-To: bug#24908 <24908@debbugs.gnu.org> Date: Sat, 21 Jun 2025 10:20:46 +0000 retitle 24908 Possible unboxing bug in master triggered by (format) reassign 24908 guile submitter 24908 Daniel Llorens severity 24908 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 09 08:17:26 2016 Received: (at submit) by debbugs.gnu.org; 9 Nov 2016 13:17:26 +0000 Received: from localhost ([127.0.0.1]:50551 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c4Sko-0008Tl-Ej for submit@debbugs.gnu.org; Wed, 09 Nov 2016 08:17:26 -0500 Received: from eggs.gnu.org ([208.118.235.92]:54999) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c4Skm-0008TY-KB for submit@debbugs.gnu.org; Wed, 09 Nov 2016 08:17:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c4Skg-0000oh-DC for submit@debbugs.gnu.org; Wed, 09 Nov 2016 08:17:19 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:35239) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c4Skg-0000ob-9w for submit@debbugs.gnu.org; Wed, 09 Nov 2016 08:17:18 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45965) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c4Skf-0001Qv-6v for bug-guile@gnu.org; Wed, 09 Nov 2016 08:17:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c4Skc-0000mk-1V for bug-guile@gnu.org; Wed, 09 Nov 2016 08:17:17 -0500 Received: from vimdzmsp-sfwd03.bluewin.ch ([195.186.120.132]:48580 helo=smtpauths.lb.bluewin.ch) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c4Skb-0000lW-R0 for bug-guile@gnu.org; Wed, 09 Nov 2016 08:17:13 -0500 Received: from 4box.hq.corp.viasat.com ([213.193.80.99]) by vimdzmsp-sfwd03.bluewin.ch Swisscom AG with SMTP id 4SkWcOFXKNo984SkWc7hKL; Wed, 09 Nov 2016 14:17:10 +0100 X-Bluewin-Spam-Analysis: v=2.1 cv=ecSdB+wH c=1 sm=1 tr=0 a=DzaHVtLsrNCQ5PccsnG91A==:117 a=DzaHVtLsrNCQ5PccsnG91A==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=N659UExz7-8A:10 a=v2LuLm9xt2hdJzM5J2cA:9 a=pILNOxqGKmIA:10 X-Bluewin-Spam-Score: 0.00 X-FXIT-IP: IPv4[213.193.80.99] Epoch[1478697430] X-Bluewin-AuthAs: dll@bluewin.ch From: Daniel Llorens Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Possible unboxing bug in master triggered by (format) Message-Id: <4C4987A5-B38B-442C-935A-3AD520459602@bluewin.ch> Date: Wed, 9 Nov 2016 14:17:04 +0100 To: bug-guile@gnu.org Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) X-Mailer: Apple Mail (2.1878.6) X-CMAE-Envelope: MS4wfIf1tOpnqnt4zv+fQwgKdXAgshHMaU178Zf1BgV+BADF0M4VIFsulsWsThm++iujcIUY/4jG3F7FY3PmaWu8BezDt1JxsD2iPdqFD0sjtXLb/bLoJNBg Bqc36cy8ZB6Rer/1I15aQQplpkf51gmObyd3oYltiWx/gSYxS0T/pbQF/6ZzaALRkpJ7d+iFQuRK9A== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) (format #f "~2f" 9.9) fails in master. You can try different = combinations, it doesn't fail when it rounds down or there're more = spaces for example. The first bad commit is 0f2f5949a21572fad8355473200c7adc6d74f882 'Better = unboxing' on the master branch. See the full error below. 18446744073709551615 is 2^64-1 of course so it = looks like bad signedness somewhere. Regards Daniel > guile -c '(use-modules (ice-9 format)) (format #f "~2f" 9.9)' Backtrace:./meta/guile -c '(use-modules (ice-9 format)) (format #f "~2f" = 9.9)' Backtrace: 8 (apply-smob/1 #) In ice-9/boot-9.scm: 704:2 7 (call-with-prompt ("prompt") # = =85) In ice-9/eval.scm: 608:8 6 (_ #(#(#))) In ice-9/command-line.scm: 181:18 5 (_ #) In unknown file: 4 (eval (format #f "~2f" 9.9) #) In ice-9/format.scm: 1590:19 3 (format #f "~2f" 9.9) 316:19 2 (format:format-work "~2f" (9.9)) 1142:30 1 (format:out-fixed #f _ _) 1525:37 0 (format:fn-round _) ice-9/format.scm:1525:37: In procedure format:fn-round: ice-9/format.scm:1525:37: In procedure string-ref: Value out of range: = 18446744073709551615 From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 09 08:11:30 2016 Received: (at 24908) by debbugs.gnu.org; 9 Dec 2016 13:11:30 +0000 Received: from localhost ([127.0.0.1]:35346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cFKxW-000886-E5 for submit@debbugs.gnu.org; Fri, 09 Dec 2016 08:11:30 -0500 Received: from vimdzmsp-sfwd06.bluewin.ch ([195.186.227.133]:40014 helo=smtpauths.lb.bluewin.ch) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cFKxU-00087l-NI for 24908@debbugs.gnu.org; Fri, 09 Dec 2016 08:11:29 -0500 Received: from 4box.hq.corp.viasat.com ([213.193.80.99]) by vimdzmsp-sfwd06.bluewin.ch Swisscom AG with SMTP id FKxMcuNoPVYNhFKxMc9jon; Fri, 09 Dec 2016 14:11:22 +0100 X-Bluewin-Spam-Analysis: v=2.1 cv=U4Mydbfu c=1 sm=1 tr=0 a=DzaHVtLsrNCQ5PccsnG91A==:117 a=DzaHVtLsrNCQ5PccsnG91A==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=ugSRvXpbNcrPegrkWNMA:9 X-Bluewin-Spam-Score: 0.00 X-FXIT-IP: IPv4[213.193.80.99] Epoch[1481289082] X-Bluewin-AuthAs: daniel.llorens@bluewin.ch From: daniel.llorens@bluewin.ch To: 24908@debbugs.gnu.org Subject: workaround Date: Fri, 9 Dec 2016 14:11:08 +0100 Message-Id: <20161209131109.71940-1-daniel.llorens@bluewin.ch> X-Mailer: git-send-email 2.10.1 X-CMAE-Envelope: MS4wfPB5KeQkDHKE2e28Lrx0c4XwWsElHxgboCahbWRpDDtzji9bHfArSSutYiAQny5t4frAOvz1NHP2wNMhblZSEUO5TkLja1LcosW2TIHRpu9pkVgsebBR ia6xc2mGlcAmzyk8ArQqpIBrkzlrmx9fjm3YwN7LKQpDctA9Z7HE5LYDSMXXbEQesGfSSegpR0gfkQ== X-Spam-Score: -3.7 (---) X-Debbugs-Envelope-To: 24908 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.7 (---) I can't fix the compiler, so just patch format:fn-round. Includes a test. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 09 08:11:30 2016 Received: (at 24908) by debbugs.gnu.org; 9 Dec 2016 13:11:30 +0000 Received: from localhost ([127.0.0.1]:35348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cFKxW-000888-Jm for submit@debbugs.gnu.org; Fri, 09 Dec 2016 08:11:30 -0500 Received: from vimdzmsp-sfwd06.bluewin.ch ([195.186.227.133]:40018 helo=smtpauths.lb.bluewin.ch) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cFKxU-00087m-NI for 24908@debbugs.gnu.org; Fri, 09 Dec 2016 08:11:29 -0500 Received: from 4box.hq.corp.viasat.com ([213.193.80.99]) by vimdzmsp-sfwd06.bluewin.ch Swisscom AG with SMTP id FKxMcuNoPVYNhFKxOc9joq; Fri, 09 Dec 2016 14:11:22 +0100 X-Bluewin-Spam-Analysis: v=2.1 cv=U4Mydbfu c=1 sm=1 tr=0 a=DzaHVtLsrNCQ5PccsnG91A==:117 a=DzaHVtLsrNCQ5PccsnG91A==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=MqW9qXN99zd6cayfcP4A:9 X-Bluewin-Spam-Score: 0.00 X-FXIT-IP: IPv4[213.193.80.99] Epoch[1481289082] X-Bluewin-AuthAs: daniel.llorens@bluewin.ch From: daniel.llorens@bluewin.ch To: 24908@debbugs.gnu.org Subject: [PATCH] Workaround for bug #24908 Date: Fri, 9 Dec 2016 14:11:09 +0100 Message-Id: <20161209131109.71940-2-daniel.llorens@bluewin.ch> X-Mailer: git-send-email 2.10.1 In-Reply-To: <20161209131109.71940-1-daniel.llorens@bluewin.ch> References: <20161209131109.71940-1-daniel.llorens@bluewin.ch> X-CMAE-Envelope: MS4wfPB5KeQkDHKE2e28Lrx0c4XwWsElHxgboCahbWRpDDtzji9bHfArSSutYiAQny5t4frAOvz1NHP2wNMhblZSEUO5TkLja1LcosW2TIHRpu9pkVgsebBR ia6xc2mGlcAmzyk8ArQqpIBrkzlrmx9fjm2DL5POrjsP6syUVogvjjl7ePgU0C7b6fRn0iR6CH6L4YDBN9zwGYsfD32behWAc4W9jFENYwT0oefzlo+mnLt4 X-Spam-Score: -3.7 (---) X-Debbugs-Envelope-To: 24908 Cc: Daniel Llorens X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.7 (---) From: Daniel Llorens * module/ice-9/format.scm (format:fn-round): Don't let i become negative. * test-suite/tests/format.test: Regression test for "~2f". --- module/ice-9/format.scm | 15 ++++++++------- test-suite/tests/format.test | 6 +++++- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/module/ice-9/format.scm b/module/ice-9/format.scm index 1ef4cb5ef..d3066a527 100644 --- a/module/ice-9/format.scm +++ b/module/ice-9/format.scm @@ -1510,11 +1510,12 @@ (set! format:fn-len (- format:fn-len n))) (string-set! format:fn-str (- i n) (string-ref format:fn-str i)))) + ;; carry i+1 to work around bug #24908 (define (format:fn-round digits) ; round format:fn-str (set! digits (+ digits format:fn-dot)) - (do ((i digits (- i 1)) ; "099",2 -> "10" + (do ((i (+ digits 1) (- i 1)) ; "099",2 -> "10" (c 5)) ; "023",2 -> "02" - ((or (= c 0) (< i 0)) ; "999",2 -> "100" + ((or (= c 0) (<= i 0)) ; "999",2 -> "100" (if (= c 1) ; "005",2 -> "01" (begin ; carry overflow (set! format:fn-len digits) @@ -1522,12 +1523,12 @@ (string-set! format:fn-str 0 #\1) (set! format:fn-dot (+ format:fn-dot 1))) (set! format:fn-len digits))) - (set! c (+ (- (char->integer (string-ref format:fn-str i)) + (set! c (+ (- (char->integer (string-ref format:fn-str (- i 1))) format:zero-ch) c)) - (string-set! format:fn-str i (integer->char - (if (< c 10) - (+ c format:zero-ch) - (+ (- c 10) format:zero-ch)))) + (string-set! format:fn-str (- i 1) (integer->char + (if (< c 10) + (+ c format:zero-ch) + (+ (- c 10) format:zero-ch)))) (set! c (if (< c 10) 0 1)))) (define (format:fn-out modifier add-leading-zero?) diff --git a/test-suite/tests/format.test b/test-suite/tests/format.test index cc31942cc..8aab7e96b 100644 --- a/test-suite/tests/format.test +++ b/test-suite/tests/format.test @@ -112,7 +112,11 @@ ;; in guile prior to 1.6.9 and 1.8.1, leading zeros were incorrectly ;; stripped, moving the decimal point and giving "25.0" here (pass-if "string 02.5" - (string=? "2.5" (format #f "~f" "02.5")))) + (string=? "2.5" (format #f "~f" "02.5"))) + + ;; regression against bug #24908 + (pass-if "2f" + (string=? "10." (format #f "~2f" 9.9)))) ;;; ;;; ~h -- 2.11.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 06:59:55 2016 Received: (at 24908-close) by debbugs.gnu.org; 15 Dec 2016 11:59:55 +0000 Received: from localhost ([127.0.0.1]:42435 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cHUhX-0007BZ-FX for submit@debbugs.gnu.org; Thu, 15 Dec 2016 06:59:55 -0500 Received: from vimdzmsp-sfwd01.bluewin.ch ([195.186.120.131]:42396 helo=smtpauths.lb.bluewin.ch) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cHUhV-0007BJ-DL for 24908-close@debbugs.gnu.org; Thu, 15 Dec 2016 06:59:54 -0500 Received: from 4box.hq.corp.viasat.com ([213.193.80.99]) by vimdzmsp-sfwd01.bluewin.ch Swisscom AG with SMTP id HUhOcpXONbmelHUhOcQyQ3; Thu, 15 Dec 2016 12:59:47 +0100 X-Bluewin-Spam-Analysis: v=2.1 cv=BIoT1AkG c=1 sm=1 tr=0 a=DzaHVtLsrNCQ5PccsnG91A==:117 a=DzaHVtLsrNCQ5PccsnG91A==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=kj9zAlcOel0A:10 a=Lq2Gn0QcEANkyzr1TtAA:9 a=CjuIK1q_8ugA:10 a=1uVytGgdlHkA:10 X-Bluewin-Spam-Score: 0.00 X-FXIT-IP: IPv4[213.193.80.99] Epoch[1481803187] X-Bluewin-AuthAs: dll@bluewin.ch From: Daniel Llorens Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: bug#24908: closing Message-Id: <255EFDDE-7D92-4BD5-86E8-CFE89ABAFA26@bluewin.ch> Date: Thu, 15 Dec 2016 12:59:44 +0100 To: 24908-close@debbugs.gnu.org Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) X-Mailer: Apple Mail (2.1878.6) X-CMAE-Envelope: MS4wfP633dwEUZ/yOXIsO9I82g5VX0B4PWXGRwjLTeGrR7gWVaFrNR8rij6Vj3tNXVC7m5tkd7Wk4gsALeSdaCk1GGUN8K488uB6shnAt7F1hfBI6nHt+I/E +RuGiyYJ3nr1nup1lrK9QO1W8Fr5RhRdgDENCbXdxGIoKTpRao6mFxESZY8VLeKC5p2tYAI63Nny/+RVH+Ce+/8UuxK/f8VNtcw= X-Spam-Score: -3.1 (---) X-Debbugs-Envelope-To: 24908-close X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.1 (---) Fixed in 2660c0b3c86bf76fab465c200a5ca20fb37cf811. From unknown Sat Jun 21 03:20:46 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 12 Jan 2017 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator