RFR-8008118 (original) (raw)

Martin Buchholz martinrb at google.com
Wed Mar 20 23:12:31 UTC 2013


Hi John,

I wrote this code originally IIRC. You are correct that the existing code does not check these allocations for failure. In practice, it will be very rare for the failure to be seen, since the allocations are likely to be small and only occur during program startup.

I commend you for trying to get this right, but if you want to get there, I think you need to throw OOME and undo all of the existing allocations. You can do that by keeping track of how many elements you already allocated, freeing them, and throwing OOME. As Alan points out, the exception in the static initializer shows that recovery is even more problematic than with a regular OOME. Nevertheless, throwing OOME is going to be a better result for the user than uninformative SEGV.

Martin

On Wed, Mar 20, 2013 at 8:22 AM, John Zavgren <john.zavgren at oracle.com>wrote:

Greetings:

Please consider the following fix for a minor memory issue that I found in the file: src/solaris/native/java/lang/UNIXProcessmd.c. http://cr.openjdk.java.net/~jzavgren/8008118/webrev.01/ Thanks! John Zavgren



More information about the core-libs-dev mailing list