Bug 976897

Summary: Excessive Heap Consumption in com.sun.imageio.plugins.jpeg.JPEGImageWriter
Product: Red Hat Enterprise Linux 6 Reporter: Ricardo Martinelli de Oliveira <rmartine>
Component: java-1.6.0-openjdkAssignee: jiri vanek <jvanek>
Status: CLOSED ERRATA QA Contact: Lukáš Zachar <lzachar>
Severity: high Docs Contact:
Priority: high    
Version: 6.4CC: acavalla, akaiser, aogburn, cww, dbhole, jvanek, neugens, rgorosito
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1025555 (view as bug list) Environment:
Last Closed: 2013-11-22 00:25:05 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: 992910    
Attachments:
Description Flags
Test Case
none
Java 7 compatible test-case
none
Candidate fix none

Description Ricardo Martinelli de Oliveira 2013-06-21 19:45:59 UTC
Created attachment 763948 [details]
Test Case

Description of problem:
After upgrading to java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64, Java applications are consuming more memory (specifically int[] objects allocated by com.sun.imageio.plugins.jpeg.JPEGImageWriter), without releasing it.

Version-Release number of selected component (if applicable):
java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64

How reproducible:
Easily reprocible with a test case.

Steps to Reproduce:
1. Compile and run Prueba.java (attached in bz)
2. Use the following VM parameter: -Xmx64m 
3. Use the following Program Parameter: 1000

Actual results:
It throws a OOME Heap Size Exception

Expected results:
Allocate objects and print memory information

Additional info:

Comment 4 Adam Domurad 2013-07-02 18:32:27 UTC
Created attachment 767894 [details]
Java 7 compatible test-case

Comment 5 Adam Domurad 2013-07-02 18:37:02 UTC
Created attachment 767905 [details]
Candidate fix

Comment 13 Mario Torre 2013-07-31 09:19:51 UTC
Fix has been committed upstream in the 8 branch:

http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7f0e569c5a66

I'll ask the backport on 6 and 7 now.

Cheers,
Mario

Comment 15 Mario Torre 2013-08-05 09:46:07 UTC
The fix has been backported to 7, I'm awaiting the backport to 6 now.

Comment 16 Mario Torre 2013-08-26 16:31:39 UTC
I have backported the patch for 6 myself, here is the RFC:

http://mail.openjdk.java.net/pipermail/jdk6-dev/2013-August/003033.html

And here the patch:

http://cr.openjdk.java.net/~neugens/8020983/webrev/

Waiting for reviewer's approval now.

Comment 17 jiri vanek 2013-08-27 16:03:16 UTC
The fix is in 8 and 7, and is going to 6. I will include the patch to RPMs directly to speed up escalation.

Comment 20 errata-xmlrpc 2013-11-22 00:25:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1741.html

Comment 21 Aaron Ogburn 2013-12-12 19:10:17 UTC
Note this leak also impacted RHEL 5's open jdk (java-1.6.0-openjdk-1.6.0.0-1.41.1.11.11.90.el5_9) but appears to have been fixed as well (java-1.6.0-openjdk-1.6.0.0-1.42.1.11.14.el5_10)