[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR(10): JDK-8178536: OOM ERRORS + SERVICE-THREAD TAKES A PROCESSOR TO 100%
From:       Vladimir Kozlov <vladimir.kozlov () oracle ! com>
Date:       2017-06-17 17:04:19
Message-ID: daa4127d-a84a-f10b-bf34-808e224f7786 () oracle ! com
[Download RAW message or body]

Hi Poonam,

You need to follow PRD2 process - add label and "Fix Request" comment.

http://openjdk.java.net/projects/jdk9/fix-request-process

I will approve after that.

Regards,
Vladimir

On 6/7/17 8:53 AM, Poonam Parhar wrote:
> Hello,
> 
> Could I have reviews for the changes for the Bug  HYPERLINK \
> "https://bugs.openjdk.java.net/browse/JDK-8178536" JDK-8178536: OOM ERRORS + \
> SERVICE-THREAD TAKES A PROCESSOR TO 100%. 
> Problem: If there are listeners installed for MemoryMXBean then in the event of an \
> OOME, JVM internal thread 'Service Thread' responsible for delivering notifications \
> to the Java threads itself may encounter an OOM exception and get into a loop of \
> processing its pending requests. This happens if and when the Service Thread \
> executing the native code calls its corresponding java methods and faces an OOM \
> exception, this pending exception makes the thread exit early from \
> SensorInfoˇËtrigger() function before it can update its pending requests counter \
> (_pending_trigger_count). This pending exception is never cleared and that makes \
> the thread loop in LowMemoryDetector::process_sensor_changes(). 
> Hotspot changes:
> http://cr.openjdk.java.net/~poonam/8178536/webrev.hotspot/
> These changes check for the pending exception and clear it, and make sure that the \
> pending requests counters are kept in sync on both the Java and the VM side. 
> JDK changes:
> http://cr.openjdk.java.net/~poonam/8178536/webrev.jdk/
> These changes make the triggerAction() a no-op since we need to call this method if \
> MemoryService::create_MemoryUsage_obj() encounters an OOM exception and we want to \
> avoid further potential OOM exceptions in triggerAction(MemoryUsage). 
> Testcase:
> I have written a testcase though I won't be integrating it along with the fix \
> because the failure is unreliable; the Service Thread does not always fall into the \
> situation that causes it to loop i.e. it has _pending_trigger_count>0 and hits an \
> OOM in its Java calls. \
> http://cr.openjdk.java.net/~poonam/8178536/webrev.hotspot.testcase/ 
> Thanks,
> Poonam
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic