Analysis on JDK-8022321 java/lang/ref/OOMEInReferenceHandler.java fails intermittently
srikalyan
srikalyan.chandrashekar at oracle.com
Mon Jan 13 23:57:13 UTC 2014
On 1/11/14, 6:15 AM, Peter Levart wrote:
>
> On 01/10/2014 10:51 PM, srikalyan chandrashekar wrote:
>> Hi Peter the version you provided ran indefinitely(i put a 10 minute
>> timeout) and the program got interrupted(no error),
>
> Did you run it with or without fastedbug & -XX:+TraceExceptions ? If
> with, it might be that fastdebug and/or -XX:+TraceExceptions changes
> the execution a bit so that we can no longer reproduce the wrong
> behaviour.
With fastdebug & -XX:TraceExceptions. I will try combination of possible
options(i.e without -XX:TraceEception on debug build etc) soon.
>
>> even if there were to be an error you cannot print the "string" of
>> thread to console(these have been attempted earlier).
>
> ...it has been attempted to print toString in uncaught exception
> handler. At that time, the heap is still full. I'm printing it after
> the GC has cleared the heap. You can try that it works by commenting
> out the "try {" and corresponding "} catch (OOME x) {}" exception
> handler...
Since there is a GC call prior to printing string i will give that a
shot with non-debug build.
>
>> - The test's running on interpreter mode, what i am watching for is
>> one error with trace. Without fastdebug build and
>> -XX:+TraceExceptions i am able to reproduce failure atleast 5
>> failures out of 1000 runs but with fastdebug+Trace no luck
>> yet(already past few 1000 runs).
>
> It might be interesting to try with fastebug build but without the
> -XX:+TraceExceptions option to see what has an effect on it. It might
> also be interesting to try the modified ReferenceHandler (the one with
> private runImpl() method called from run()) and with normal
> non-fastdebug JDK. This info might be useful when one starts to
> inspect the exception handling code in interpreter...
>
> Regards, Peter
>
--
Thanks
kalyan
Ph: (408)-585-8040
>>
>> ---
>> Thanks
>> kalyan
>>
>> On 01/10/2014 02:57 AM, Peter Levart wrote:
>>> On 01/10/2014 09:31 AM, Peter Levart wrote:
>>>> Since we suspect there's something wrong with exception handling in
>>>> interpreter, I devised a hypothetical reproducer that tries to
>>>> simulate ReferenceHandler in many aspects, but doesn't require to
>>>> be a ReferenceHandler:
>>>>
>>>> http://cr.openjdk.java.net/~plevart/misc/OOME/OOMECatchingTest.java
>>>>
>>>> This is designed to run indefinitely and only terminate if/when
>>>> thread dies. Could you run this program in the environment that
>>>> causes the OOMEInReferenceHandler test to fail and see if it
>>>> terminates?
>>>
>>> I forgot to mention that in order for this long-running program to
>>> exhibit interpreter behaviour, it should be run with -Xint option.
>>> So I suggest:
>>>
>>> -Xmx24M -XX:-UseTLAB -Xint
>>>
>>> Regards, Peter
>>>
>>
>
More information about the core-libs-dev
mailing list