From unknown Fri Sep 12 04:33:54 2025 X-Loop: help-debbugs@gnu.org Subject: bug#19621: Unbuffered custom binary input ports crash Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Sun, 18 Jan 2015 20:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 19621 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: 19621@debbugs.gnu.org Cc: Mark H Weaver , 19610@debbugs.gnu.org X-Debbugs-Original-To: bug-guile@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.14216125836104 (code B ref -1); Sun, 18 Jan 2015 20:24:02 +0000 Received: (at submit) by debbugs.gnu.org; 18 Jan 2015 20:23:03 +0000 Received: from localhost ([127.0.0.1]:60787 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YCwND-0001aO-3i for submit@debbugs.gnu.org; Sun, 18 Jan 2015 15:23:03 -0500 Received: from eggs.gnu.org ([208.118.235.92]:34237) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YCwNB-0001ZX-Pt for submit@debbugs.gnu.org; Sun, 18 Jan 2015 15:23:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YCwN5-0004UE-O5 for submit@debbugs.gnu.org; Sun, 18 Jan 2015 15:22:56 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:39902) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCwN5-0004U8-Kj for submit@debbugs.gnu.org; Sun, 18 Jan 2015 15:22:55 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35952) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCwN4-0007qr-Kt for bug-guile@gnu.org; Sun, 18 Jan 2015 15:22:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YCwN1-0004TW-E9 for bug-guile@gnu.org; Sun, 18 Jan 2015 15:22:54 -0500 Received: from hera.aquilenet.fr ([2a01:474::1]:45204) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCwN1-0004TL-6u for bug-guile@gnu.org; Sun, 18 Jan 2015 15:22:51 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id DA93B43FD; Sun, 18 Jan 2015 21:22:49 +0100 (CET) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e6U11enVt+Cw; Sun, 18 Jan 2015 21:22:49 +0100 (CET) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 76EAD3F29; Sun, 18 Jan 2015 21:22:49 +0100 (CET) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <8761c7kifr.fsf@netris.org> <87h9vr3ddr.fsf@gnu.org> Date: Sun, 18 Jan 2015 21:22:48 +0100 In-Reply-To: <87h9vr3ddr.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 15 Jan 2015 23:09:04 +0100") Message-ID: <87mw5fbzzb.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -5.0 (-----) This is a followup to . ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > However, I tested it live, and it aborts like this (this is with Guile > 2.0.11.109-e1d29 on x86_64-linux-gnu): > > retrieving 1 files from 'wildebeest.jxself.org'... > importing file or directory '/gnu/store/prrwzx5v33miiz5fh8653m1izl5f8d4k-= brasero-3.8.0'... > > ;;; (sigport #f #) > guile: ../../libguile/ports.c:2527: scm_i_port_iconv_descriptors: Asserti= on `pti->encoding_mode =3D=3D SCM_PORT_ENCODING_MODE_ICONV' failed. > builder for `/gnu/store/izjx4wllhcy66nsn9pxbkghaq2cy06qv-brasero-3.8.0.dr= v' failed due to signal 6 (Aborted) Here=E2=80=99s a way to reproduce the assertion failure above (with Guile 2.0.11+): --8<---------------cut here---------------start------------->8--- (use-modules (rnrs io ports)) (define port (let ((input (open-input-string (make-string 1000 #\a)))) (make-custom-binary-input-port "foo" (lambda (bv index count) (let ((n (get-bytevector-n! input bv i= ndex count))) (if (eof-object? n) 0 n))) #f #f (lambda () (close-port input))))) (setvbuf port _IONBF) (pk 'e (port-encoding port)) (get-string-all port) --8<---------------cut here---------------end--------------->8--- Ludo=E2=80=99. From unknown Fri Sep 12 04:33:54 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#19621: closed (Re: bug#19621: Unbuffered custom binary input ports crash) Message-ID: References: <87iog3bxvx.fsf@gnu.org> <87mw5fbzzb.fsf_-_@gnu.org> X-Gnu-PR-Message: they-closed 19621 X-Gnu-PR-Package: guile Reply-To: 19621@debbugs.gnu.org Date: Sun, 18 Jan 2015 21:09:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1421615343-10664-1" This is a multi-part message in MIME format... ------------=_1421615343-10664-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #19621: Unbuffered custom binary input ports crash which was filed against the guile package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 19621@debbugs.gnu.org. --=20 19621: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D19621 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1421615343-10664-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 19621-done) by debbugs.gnu.org; 18 Jan 2015 21:08:06 +0000 Received: from localhost ([127.0.0.1]:60795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YCx4o-0002kE-0K for submit@debbugs.gnu.org; Sun, 18 Jan 2015 16:08:06 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:53286) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YCx4m-0002k1-2e; Sun, 18 Jan 2015 16:08:04 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 1CEA643FD; Sun, 18 Jan 2015 22:08:03 +0100 (CET) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UayXMEDCSadg; Sun, 18 Jan 2015 22:08:03 +0100 (CET) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by hera.aquilenet.fr (Postfix) with ESMTPSA id B393B116C; Sun, 18 Jan 2015 22:08:02 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 19621-done@debbugs.gnu.org Subject: Re: bug#19621: Unbuffered custom binary input ports crash References: <8761c7kifr.fsf@netris.org> <87h9vr3ddr.fsf@gnu.org> <87mw5fbzzb.fsf_-_@gnu.org> Date: Sun, 18 Jan 2015 22:08:02 +0100 In-Reply-To: <87mw5fbzzb.fsf_-_@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\?\= \=\?utf-8\?Q\?\=22's\?\= message of "Sun, 18 Jan 2015 21:22:48 +0100") Message-ID: <87iog3bxvx.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19621-done Cc: Mark H Weaver , 19610@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: 1.0 (+) This is fixed by Guile commit ed72201 (it will be in 2.0.12.) As noted in the message, =E2=80=98cbip_fill_input=E2=80=99 would end up wri= ting beyond the =E2=80=98shortbuf=E2=80=99 field, leading to the port=E2=80=99s corrupt= ion. Ludo=E2=80=99. ------------=_1421615343-10664-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 18 Jan 2015 20:23:03 +0000 Received: from localhost ([127.0.0.1]:60787 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YCwND-0001aO-3i for submit@debbugs.gnu.org; Sun, 18 Jan 2015 15:23:03 -0500 Received: from eggs.gnu.org ([208.118.235.92]:34237) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YCwNB-0001ZX-Pt for submit@debbugs.gnu.org; Sun, 18 Jan 2015 15:23:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YCwN5-0004UE-O5 for submit@debbugs.gnu.org; Sun, 18 Jan 2015 15:22:56 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:39902) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCwN5-0004U8-Kj for submit@debbugs.gnu.org; Sun, 18 Jan 2015 15:22:55 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35952) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCwN4-0007qr-Kt for bug-guile@gnu.org; Sun, 18 Jan 2015 15:22:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YCwN1-0004TW-E9 for bug-guile@gnu.org; Sun, 18 Jan 2015 15:22:54 -0500 Received: from hera.aquilenet.fr ([2a01:474::1]:45204) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YCwN1-0004TL-6u for bug-guile@gnu.org; Sun, 18 Jan 2015 15:22:51 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id DA93B43FD; Sun, 18 Jan 2015 21:22:49 +0100 (CET) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e6U11enVt+Cw; Sun, 18 Jan 2015 21:22:49 +0100 (CET) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 76EAD3F29; Sun, 18 Jan 2015 21:22:49 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: bug-guile@gnu.org Subject: Unbuffered custom binary input ports crash References: <8761c7kifr.fsf@netris.org> <87h9vr3ddr.fsf@gnu.org> Date: Sun, 18 Jan 2015 21:22:48 +0100 In-Reply-To: <87h9vr3ddr.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 15 Jan 2015 23:09:04 +0100") Message-ID: <87mw5fbzzb.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: Mark H Weaver , 19610@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -5.0 (-----) This is a followup to . ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > However, I tested it live, and it aborts like this (this is with Guile > 2.0.11.109-e1d29 on x86_64-linux-gnu): > > retrieving 1 files from 'wildebeest.jxself.org'... > importing file or directory '/gnu/store/prrwzx5v33miiz5fh8653m1izl5f8d4k-= brasero-3.8.0'... > > ;;; (sigport #f #) > guile: ../../libguile/ports.c:2527: scm_i_port_iconv_descriptors: Asserti= on `pti->encoding_mode =3D=3D SCM_PORT_ENCODING_MODE_ICONV' failed. > builder for `/gnu/store/izjx4wllhcy66nsn9pxbkghaq2cy06qv-brasero-3.8.0.dr= v' failed due to signal 6 (Aborted) Here=E2=80=99s a way to reproduce the assertion failure above (with Guile 2.0.11+): --8<---------------cut here---------------start------------->8--- (use-modules (rnrs io ports)) (define port (let ((input (open-input-string (make-string 1000 #\a)))) (make-custom-binary-input-port "foo" (lambda (bv index count) (let ((n (get-bytevector-n! input bv i= ndex count))) (if (eof-object? n) 0 n))) #f #f (lambda () (close-port input))))) (setvbuf port _IONBF) (pk 'e (port-encoding port)) (get-string-all port) --8<---------------cut here---------------end--------------->8--- Ludo=E2=80=99. ------------=_1421615343-10664-1--