Code Review fix for 6799919 Recursive calls to report_vm_out_of_memory are handled incorrectly
Daniel D. Daugherty
daniel.daugherty at oracle.com
Wed Feb 20 10:54:21 PST 2013
Ron,
I stand corrected on one part. You added a note to
the bug about the 'ErrorHandlerTest' option back on
2013.02.11. I don't see any notes about vmerrors.sh,
but maybe that's lessimportant.
Dan
On 2/20/13 11:47 AM, Ron Durbin wrote:
>
> Dan my cage is rattled
>
> Yes I should give more detail on that . I might still be able to add
> some detail in the "we tried this too".
>
> I was not thinking about others needing to understand /follow the road
> to resolution.
>
> *From:*Coleen Phillimore
> *Sent:* Wednesday, February 20, 2013 10:38 AM
> *To:* Daniel Daugherty
> *Cc:* serviceability-dev at openjdk.java.net;
> =?ISO-8859-1?Q?Christian_T=F6rnq?=@sca-git1.sun.com;
> hotspot-runtime-dev at openjdk.java.net
> *Subject:* Re: Code Review fix for 6799919 Recursive calls to
> report_vm_out_of_memory are handled incorrectly
>
> On 2/20/2013 12:05 PM, Daniel D. Daugherty wrote:
>
> On 2/20/13 9:57 AM, Daniel D. Daugherty wrote:
>
> On 2/20/13 9:34 AM, Coleen Phillimore wrote:
>
>
> This looks good.
>
>
> Thanks for the review! Don't know if Ron is having the same
> connectivity
> problems I'm having this morning, but my access into OWAN is going up
> and down...
>
>
>
> It looks like the webrev was updated to get rid of the unused
> variable, so that is good.
>
>
> The webrev was not updated.
>
>
> Yes, I see that now. Mikael has a much better eye than I do.
>
>
>
>
> Is there a test for ErrorHandlerTest in our repository already?
>
>
> ErrorHandlerTest? Is there yet another possible test that we don't
> know about?
>
>
> OK. I know that test by a different name:
>
> $ rgrep ErrorHandlerTest agent make src test
> src/share/vm/runtime/globals.hpp: notproduct(uintx, ErrorHandlerTest,
> 0, \
> src/share/vm/prims/jni.cpp:
> NOT_PRODUCT(test_error_handler(ErrorHandlerTest));
> test/runtime/6888954/vmerrors.sh: -XX:ErrorHandlerTest=${i} -version >
> ${i2}.out 2>&1
> test/runtime/6888954/vmerrors.sh: # If ErrorHandlerTest is ignored
> (product build), stop.
> test/runtime/6888954/vmerrors.sh: echo "ErrorHandlerTest=$i
> failed ($f)"
>
> Ron had previously explored using vmerror.sh to exercise the
> vm_exit_out_of_memory() code path as one of his early experiments.
> He also did some testing using the ErrorHandlerTest command line
> option. In neither case did it seem possible to get multi-threaded
> test cases up and running. Perhaps both he and I missed something.
>
> It also looks like Ron didn't record the specifics of his testing
> with either vmerrors.sh or the ErrorHandlerTest command line option
> in the bug report. I'll have to rattle his cage about that.
>
>
> My question was mostly if we had a jtreg test in hotspot/test
> repository that exercised this ErrorHandlerTest option. The second
> part of the question is whether we should have a test because it'll
> look like it failed. Maybe this is more of a question for Christian
> Tornqvist and SQE and is not tied to this specific change.
>
> I talked to Ron about trying to test this also and we couldn't come up
> with a good strategy either. We need a good way to test out of C
> heap memory without actually allocating lots of memory and running out
> of C heap. Such tests don't run well. Maybe we can do something in
> the future with this ErrorHandlerTest option to have the VM return
> NULL or assert for various malloc calls triggered through some
> heuristic. Having the experiments to date recorded somewhere would
> be great.
>
> Thanks,
> Coleen
>
>
> Dan
>
>
>
> Dan
>
>
>
>
> Thanks,
> Coleen
>
> On 2/19/2013 6:48 PM, Daniel D. Daugherty wrote:
>
> Greetings,
>
> I'm sponsoring this code review request from Ron Durbin. This change
> is targeted at JDK8/HSX-25 in the RT_Baseline repo.
>
> Dan
>
>
> I have a proposed fix for the following bug:
>
> 6799919 Recursive calls to report_vm_out_of_memory are handled
> incorrectly
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6799919
> https://jbs.oracle.com/bugs/browse/JDK-6799919
>
> This is one of those bug fixes where the commit message nicely
> describes
> the change:
>
> 6799919: Recursive calls to report_vm_out_of_memory are handled
> incorrectly
> Summary: report_vm_out_of_memory() should allow
> VMError.report_and_die() to handle multiple out of native memory
> errors.
> Reviewed-by: dcubed, <other-reviewers>
> Contributed-by ron.durbin at oracle.com <mailto:ron.durbin at oracle.com>
>
> Here is the webrev URL:
>
> http://cr.openjdk.java.net/~dcubed/for_rdurbin/6799919-webrev/0-hsx25
> <http://cr.openjdk.java.net/%7Edcubed/for_rdurbin/6799919-webrev/0-hsx25>
>
>
> Testing:
> - See the READ_ME file attached to the JDK-6799919 for the gory
> details
> of the testing needed to reproduce this failure and verify
> the fix
> - regular JPRT test job is in process
>
> Comments, questions and suggestions are welcome.
>
> Ron
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130220/1e1c5c20/attachment.html
More information about the serviceability-dev
mailing list