GNU logs - #21093, boring messages


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21093: Web server: response bodies systematically loaded in memory
Resent-From: ludo@HIDDEN (Ludovic =?UTF-8?Q?Court=C3=A8s?=)
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Sun, 19 Jul 2015 22:11:01 +0000
Resent-Message-ID: <handler.21093.B.14373438474973 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 21093
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 21093 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guile@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.14373438474973
          (code B ref -1); Sun, 19 Jul 2015 22:11:01 +0000
Received: (at submit) by debbugs.gnu.org; 19 Jul 2015 22:10:47 +0000
Received: from localhost ([127.0.0.1]:54090 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZGwnH-0001I9-HQ
	for submit <at> debbugs.gnu.org; Sun, 19 Jul 2015 18:10:47 -0400
Received: from eggs.gnu.org ([208.118.235.92]:50000)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <ludo@HIDDEN>) id 1ZGwnF-0001Hw-B0
 for submit <at> debbugs.gnu.org; Sun, 19 Jul 2015 18:10:45 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1ZGwn9-00052I-8t
 for submit <at> debbugs.gnu.org; Sun, 19 Jul 2015 18:10:39 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:39385)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1ZGwn9-00052E-6f
 for submit <at> debbugs.gnu.org; Sun, 19 Jul 2015 18:10:39 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:35268)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1ZGwn8-0003yi-11
 for bug-guile@HIDDEN; Sun, 19 Jul 2015 18:10:39 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1ZGwn0-0004xo-VJ
 for bug-guile@HIDDEN; Sun, 19 Jul 2015 18:10:37 -0400
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55996)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1ZGwn0-0004xk-QD
 for bug-guile@HIDDEN; Sun, 19 Jul 2015 18:10:30 -0400
Received: from reverse-83.fdn.fr ([80.67.176.83]:44423 helo=pluto)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1ZGwn0-0006kj-4r
 for bug-guile@HIDDEN; Sun, 19 Jul 2015 18:10:30 -0400
From: ludo@HIDDEN (Ludovic =?UTF-8?Q?Court=C3=A8s?=)
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 2 Thermidor an 223 de la =?UTF-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x3D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-unknown-linux-gnu
Date: Mon, 20 Jul 2015 00:10:28 +0200
Message-ID: <87a8uriysr.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (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: -6.2 (------)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
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: -6.2 (------)

The =E2=80=98sanitize-response=E2=80=99 procedure systematically loads the =
whole
response body in memory, which causes obvious scalability issues (this
is in 2.0.11.)

In particular, when a request handler returns a port-taking procedure as
its second return value, =E2=80=98sanitize-request=E2=80=99 will just call =
that
procedure passing it a string output port.

This procedure should instead be called from the server implementation=E2=
=80=99s
=E2=80=98write=E2=80=99 hook, but that would necessitate an API change.

Thoughts?

Ludo=E2=80=99.




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.503 (Entity 5.503)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: ludo@HIDDEN (Ludovic =?UTF-8?Q?Court=C3=A8s?=)
Subject: bug#21093: Acknowledgement (Web server: response bodies
 systematically loaded in memory)
Message-ID: <handler.21093.B.14373438474973.ack <at> debbugs.gnu.org>
References: <87a8uriysr.fsf@HIDDEN>
X-Gnu-PR-Message: ack 21093
X-Gnu-PR-Package: guile
Reply-To: 21093 <at> debbugs.gnu.org
Date: Sun, 19 Jul 2015 22:11:03 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-guile@HIDDEN

If you wish to submit further information on this problem, please
send it to 21093 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
21093: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D21093
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21093: Web server: response bodies systematically loaded in memory
Resent-From: Andy Wingo <wingo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 24 Jun 2016 08:16:02 +0000
Resent-Message-ID: <handler.21093.B21093.14667561515915 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21093
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: ludo@HIDDEN (Ludovic =?UTF-8?Q?Court=C3=A8s?=)
Cc: guile-devel@HIDDEN, 21093 <at> debbugs.gnu.org
Received: via spool by 21093-submit <at> debbugs.gnu.org id=B21093.14667561515915
          (code B ref 21093); Fri, 24 Jun 2016 08:16:02 +0000
Received: (at 21093) by debbugs.gnu.org; 24 Jun 2016 08:15:51 +0000
Received: from localhost ([127.0.0.1]:53328 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1bGMHH-0001XL-DF
	for submit <at> debbugs.gnu.org; Fri, 24 Jun 2016 04:15:51 -0400
Received: from pb-sasl1.pobox.com ([64.147.108.66]:59059
 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <wingo@HIDDEN>) id 1bGMHG-0001XE-3c
 for 21093 <at> debbugs.gnu.org; Fri, 24 Jun 2016 04:15:50 -0400
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1])
 by pb-sasl1.pobox.com (Postfix) with ESMTP id ED05C18DBB;
 Fri, 24 Jun 2016 04:15:47 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type:content-transfer-encoding; s=sasl; bh=OhRI0wjEP7Uh
 fqQcVkPNJz/9Ymw=; b=sXVnMQUeSSMyuG5Hrd35RsYppxe2IXBFFlyVBmMALi/3
 2a9zIluPm4o8mwKKkGiX25WiXEQDjtZ0RFMwUQfIXeYXNlCNY+2pM914vygmBPU4
 ZbjxlElVggEQA5YewGp7ewnNA4TsLfrA0iRrC0bwP2U+Ngb97FOx1fCL1L08J4o=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type:content-transfer-encoding; q=dns; s=sasl; b=uKIVGt
 Dq0mwrsw1k+AlGBjL/m195lQQl53DwKybyQsWUKYy1O27l3w4cJPQFONA6WIZiZa
 AvySmFNlchQsk1XsDjQ/Y6ocwolfa0oi0gPpUWcAuz6Ua3CwJXFRdTFXRhZp6OJx
 jQgfzDSDPRyUmbJc2zXtF9OMNRlmgKQS3gwQE=
Received: from pb-sasl1.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-sasl1.pobox.com (Postfix) with ESMTP id D6C8618DB8;
 Fri, 24 Jun 2016 04:15:47 -0400 (EDT)
Received: from clucks (unknown [88.160.190.192])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by pb-sasl1.pobox.com (Postfix) with ESMTPSA id 22F5A18DB7;
 Fri, 24 Jun 2016 04:15:47 -0400 (EDT)
From: Andy Wingo <wingo@HIDDEN>
References: <87a8uriysr.fsf@HIDDEN>
Date: Fri, 24 Jun 2016 10:15:40 +0200
In-Reply-To: <87a8uriysr.fsf@HIDDEN> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Mon, 20 Jul 2015 00:10:28 +0200")
Message-ID: <874m8jhuj7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Pobox-Relay-ID: DACDDC84-39E3-11E6-A882-C1836462E9F6-02397024!pb-sasl1.pobox.com
X-Spam-Score: -1.4 (-)
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.4 (-)

On Mon 20 Jul 2015 00:10, ludo@HIDDEN (Ludovic Court=C3=A8s) writes:

> The =E2=80=98sanitize-response=E2=80=99 procedure systematically loads th=
e whole
> response body in memory, which causes obvious scalability issues (this
> is in 2.0.11.)
>
> In particular, when a request handler returns a port-taking procedure as
> its second return value, =E2=80=98sanitize-request=E2=80=99 will just cal=
l that
> procedure passing it a string output port.
>
> This procedure should instead be called from the server implementation=E2=
=80=99s
> =E2=80=98write=E2=80=99 hook, but that would necessitate an API change.
>
> Thoughts?

How would you set the Content-Length?  Just leave it off and set
Connection: close ?  Set it in the headers perhaps?  Then you have to
verify later, which I dunno how nice that is.  Maybe it is OK.

I would be happy to review patches :)  Cc guile-devel.

Andy




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21093: Web server: response bodies systematically loaded in memory
Resent-From: ludo@HIDDEN (Ludovic =?UTF-8?Q?Court=C3=A8s?=)
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 24 Jun 2016 08:59:02 +0000
Resent-Message-ID: <handler.21093.B21093.146675872110436 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21093
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Andy Wingo <wingo@HIDDEN>
Cc: guile-devel@HIDDEN, 21093 <at> debbugs.gnu.org
Received: via spool by 21093-submit <at> debbugs.gnu.org id=B21093.146675872110436
          (code B ref 21093); Fri, 24 Jun 2016 08:59:02 +0000
Received: (at 21093) by debbugs.gnu.org; 24 Jun 2016 08:58:41 +0000
Received: from localhost ([127.0.0.1]:53404 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1bGMwj-0002iG-2G
	for submit <at> debbugs.gnu.org; Fri, 24 Jun 2016 04:58:41 -0400
Received: from eggs.gnu.org ([208.118.235.92]:56386)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1bGMwh-0002i2-PO
 for 21093 <at> debbugs.gnu.org; Fri, 24 Jun 2016 04:58:40 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1bGMwb-0005M2-PL
 for 21093 <at> debbugs.gnu.org; Fri, 24 Jun 2016 04:58:34 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55297)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1bGMwS-0005I5-Sa; Fri, 24 Jun 2016 04:58:24 -0400
Received: from pluto.bordeaux.inria.fr ([193.50.110.57]:47830 helo=pluto)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1bGMwS-0005Mq-30; Fri, 24 Jun 2016 04:58:24 -0400
From: ludo@HIDDEN (Ludovic =?UTF-8?Q?Court=C3=A8s?=)
References: <87a8uriysr.fsf@HIDDEN> <874m8jhuj7.fsf@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 7 Messidor an 224 de la =?UTF-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-unknown-linux-gnu
Date: Fri, 24 Jun 2016 10:58:21 +0200
In-Reply-To: <874m8jhuj7.fsf@HIDDEN> (Andy Wingo's message of "Fri, 24 Jun
 2016 10:15:40 +0200")
Message-ID: <87r3bn7yky.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (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: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -6.4 (------)
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: -6.4 (------)

Andy Wingo <wingo@HIDDEN> skribis:

> On Mon 20 Jul 2015 00:10, ludo@HIDDEN (Ludovic Court=C3=A8s) writes:
>
>> The =E2=80=98sanitize-response=E2=80=99 procedure systematically loads t=
he whole
>> response body in memory, which causes obvious scalability issues (this
>> is in 2.0.11.)
>>
>> In particular, when a request handler returns a port-taking procedure as
>> its second return value, =E2=80=98sanitize-request=E2=80=99 will just ca=
ll that
>> procedure passing it a string output port.
>>
>> This procedure should instead be called from the server implementation=
=E2=80=99s
>> =E2=80=98write=E2=80=99 hook, but that would necessitate an API change.
>>
>> Thoughts?
>
> How would you set the Content-Length?  Just leave it off and set
> Connection: close ?  Set it in the headers perhaps?  Then you have to
> verify later, which I dunno how nice that is.  Maybe it is OK.

I think it could work this way:

  1. By default, provide no =E2=80=98Content-Length=E2=80=99 and force chun=
ked encoding
     (so that the recipient can make sure it received everything.)

     This is useful for data generated on the fly.

  2. Provide an optional mechanism allowing the user to specify the
     content length upfront.

     Useful for statically-generated data that cannot fit in memory.

I haven=E2=80=99t thought yet about the actual API (I=E2=80=99ll be happy t=
o do so as
time permits; to be clear, I don=E2=80=99t consider it a 2.0.12 blocker.)

Ludo=E2=80=99.





Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.