Bug 1455694
Summary: | Full GC hangs when using java-1.7.0-openjdk-1.7.0.141 and AggressiveHeap | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Robert Bost <rbost> |
Component: | java-1.7.0-openjdk | Assignee: | Christine Flood <chf> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | BaseOS QE - Apps <qe-baseos-apps> |
Severity: | urgent | Docs Contact: | |
Priority: | urgent | ||
Version: | 6.10 | CC: | ahughes, aogburn, dbhole, jvanek |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | java-1.7.0-openjdk-1.7.0.151-2.6.11.1.el6 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2018-01-05 20:19:30 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1461138, 1503147 |
Description
Robert Bost
2017-05-25 20:35:17 UTC
I'd think -XX:+DisableExplicitGC just avoids the issue for a time because it avoids the early forced System.GC. Full GC might hang later when it occurs with AggressiveHeap set. Are all Full GCs with AggressiveHeap now hanging (regardless of tomcat6 or some other java app being run)? I've simplified this down to just: # cat Test.java public class Test { public static void main(String[] args){ System.gc(); } } # java -version java version "1.7.0_141" OpenJDK Runtime Environment (rhel-2.6.10.1.el6_9-x86_64 u141-b02) OpenJDK 64-Bit Server VM (build 24.141-b02, mixed mode) # javac Test.java # java -XX:+AggressiveHeap Test <hangs> Now we can rule out tomcat6. Thank you for the standalone test case. Assigning to Christine to investigate. I can give you a workaround for now, and I'm working on a patch. The issue is that -XX:+AggressiveHeap is somehow asking to run parallel gc but setting parallelgcthreads to 0. You can see this if you run with -XX:+PrintFlagsFinal. Nothing happens and everyone hangs. The workaround is to run: java -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=n -XX:+AggressiveHeap Test which works just fine. The bug was a regression that has been addressed upstream. (Thanks to Andrew Hughes for point thisout). https://bugs.openjdk.java.net/browse/JDK-8179084 http://cr.openjdk.java.net/~kbarrett/8179084/hotspot.00/ This patch should be backported to JDK7. Fixed in IcedTea 2.6.11: http://bitly.com/it20611 Fixed as of java-1.7.0-openjdk-1.7.0.151-2.6.11.1.el6. |