Skip Menu |

This queue is for tickets about the Net-HTTP CPAN distribution.

Report information
The Basics
Id: 115721
Status: resolved
Priority: 0/
Queue: Net-HTTP

People
Owner: Nobody in particular
Requestors: martin.lakov [...] sap.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



CC: "Schmoger, Daniel" <daniel.schmoger [...] sap.com>, "Andreev, Ivan" <ivan.andreev [...] sap.com>, "Voelkel, Robert" <robert.voelkel [...] sap.com>
Subject: Bug in Net::HTTP::Methods::my_readline , version 6.09
Date: Wed, 29 Jun 2016 08:54:49 +0000
To: "bug-Net-HTTP [...] rt.cpan.org" <bug-Net-HTTP [...] rt.cpan.org>
From: "Lakov, Martin" <martin.lakov [...] sap.com>
Hello, I would like to inform you about a problem related to the implementation of the following sub Net::HTTP::Methods::my_readline in version 6.09 of the module. Currently the implementation of this sub is "greedy" - it tries to read all available bytes in the byte stream for the request, instead of stopping after a new line was found (which the implementation in 6.06 and 6.07 did). This behavior results in the fact that when we have a continuous feed of data (e.g. downloading large binary file), all of the data is stored in memory and no handlers are notified until the entire payload of the request is received. This can result in an unpredictable behavior (segmentation faults occurred sporadically) and "out-of-memory" errors, depending on the underlying hardware. Best Regards, Martin
On 2016-06-29 01:55:06, martin.lakov@sap.com wrote: Show quoted text
> Hello, > > I would like to inform you about a problem related to the > implementation of the following sub Net::HTTP::Methods::my_readline in > version 6.09 of the module. > Currently the implementation of this sub is "greedy" - it tries to > read all available bytes in the byte stream for the request, instead > of stopping after a new line was found (which the implementation in > 6.06 and 6.07 did). > This behavior results in the fact that when we have a continuous feed > of data (e.g. downloading large binary file), all of the data is > stored in memory and no handlers are notified until the entire payload > of the request is received. > This can result in an unpredictable behavior (segmentation faults > occurred sporadically) and "out-of-memory" errors, depending on the > underlying hardware. > > Best Regards, > Martin
This looks to be a side effect of the fix made in RT#104122.
Have the same problem. LWP::UserAgent->get( ... , :content_cb => \&callback) doesnt call callback() because of this bug in my_readline().
Fixed for me from 6.10
On Sat Feb 11 10:55:07 2017, BASH wrote: Show quoted text
> Fixed for me from 6.10
Great! Thanks for letting us know.