On 2/27/2010 2:58 PM, Max (Weijun) Wang wrote:
Hi Andrew

I think the old OOME catch is to avoid invalid length value instead of real 
memory shortage. After IOUtils.readFully() is used, OOME occurs when there are 
indeed too many bytes coming and memory really not enough. I guess we can leave 
the system dealing with it, and that's why OOME is an Error, it's even not a 
RuntimeException.

The explanation sounds. The update looks  fine to me.

Andrew
If we catch OOME here, I believe there're too many places the same catch is 
needed. Of course, if you do believe 100% compatibility is a must here, I can 
consider it.

Thanks
Max


On Feb 27, 2010, at 9:26 AM, Xuelei Fan wrote:

Max,

I think you still need to catch OOME exception in case of the resource 
exhaustation. OOME is unchecked exception, it should be converted to IOE as the 
old logic.

Andrew

On 2/26/2010 2:09 PM, Max (Weijun) Wang wrote:
Hi Florian and Andrew

I've created a new webrev for this bug:

     http://cr.openjdk.java.net/~weijun/6880321/webrev.01

This time I use the new IOUtils.readFully() method to read the stream. This 
method has an internal buffer that grows when more data come, and throws an 
EOFException (which is a child of IOException) when there're not enough bytes. 
I also use a temporary List to hold the certificate list.

Thanks
Max

On Sep 22, 2009, at 6:10 PM, Xuelei Fan wrote:


Max (Weijun) Wang wrote:

On Sep 22, 2009, at 4:09 PM, Florian Weimer wrote:


* Max Wang:


Please take a review on this code change:

   http://cr.openjdk.java.net/~weijun/6880321/webrev.00/

This code is still unreliable.  You cannot hide OutOfMemoryError this
way.  The error could even be thrown in a completely unrelated thread.

There is no really good way to deal with this type of resource
exhaustation.  To deal with corrupted files, it is sufficient to grow
arrays as the file is read, so you will hit the end of the file before
the OOM error occurs.

This sounds better.

Sounds better to me also.

Andrew

Thanks
Max


--
Florian Weimer<[email protected]>
BFK edv-consulting GmbHhttp://www.bfk.de/
Kriegsstraße 100              tel: +49-721-96201-1
D-76133 Karlsruhe             fax: +49-721-96201-99





Reply via email to