Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 348845 - Memory leak in 2.6.2
Summary: Memory leak in 2.6.2
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 major (vote)
Target Milestone: 3.7.0 RC2   Edit
Assignee: Birt-ReportViewer CLA
QA Contact: Xiaoying Gu CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-09 04:43 EDT by Jan Lerby CLA
Modified: 2013-07-01 14:20 EDT (History)
7 users (show)

See Also:


Attachments
1st part (1.00 MB, patch)
2012-03-26 02:35 EDT, Yu Chen CLA
no flags Details | Diff
2nd part (1.00 MB, patch)
2012-03-26 02:36 EDT, Yu Chen CLA
no flags Details | Diff
3rd part (453.82 KB, patch)
2012-03-26 02:39 EDT, Yu Chen CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Lerby CLA 2011-06-09 04:43:46 EDT
Build Identifier:  20110218-0911

Hi,
I had to say there is huge memory leak in BIRT 2.6.2. I had to return to 2.5.1 version. I tried stress test over my complicated report. This report has 10 tables and 8 charts. Each generating report has different dates so I think it's not cached. I made it under Tomcat with 2GB with queue of max 8 generating reports at the same time. 
2.5.1 - ends after avg 35 reports
2.6.2 - ends after avg 20 reports


In production server version 2.5.1 is OK. I know there are some known memory leaks (rhino).

Reproducible: Always

Steps to Reproduce:
After some amount of reports garbage collector of Tomcat works for most of the time. This amount depends on complexity of reports, memory for tomcat, reports generated at the same time.
Comment 1 Gang Liu CLA 2011-06-13 03:53:51 EDT
Any script dataset exists in the report?
Comment 2 Jan Lerby CLA 2011-06-13 05:06:43 EDT
Yes there are. I have EventAdapters for report and datasets. They are written in Java. 
I changed only version of BIRT and memory leak appeared.
Comment 3 Gang Liu CLA 2011-06-13 05:13:08 EDT
it had been fixed in 3.7.0RC2
Comment 4 Jan Lerby CLA 2011-06-13 07:12:38 EDT
Can you explain what was wrong?
Comment 5 Hrishikesh CLA 2011-09-16 07:01:23 EDT
We are using 2.6.2 BIRT and we are very close to the release. It is almost impossible to move to 3.7. If there is a patch for the memory leak for 2.6.2 it will help us a lot. Please anybody comment on this.

(I actually tested with 3.7 jars and there is no memory leak there)
Comment 6 Gang Liu CLA 2011-09-19 04:03:30 EDT
This patch only changes one java class: /org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/script/internal/DataSetScriptExecutor.java. Please refer to the last version of this class.

You can create a patch for 2.6.2 by yourself, and only change this class.
Comment 7 Hrishikesh CLA 2011-09-19 05:51:37 EDT
Thanks Gang Liu, it worked for us.
What needs to be done to release it as official 2.6.2 patch.
Comment 8 Yair Lenga CLA 2011-10-31 11:14:27 EDT
Hi,

Short Version:
- We need "official" fix for this bug (a plugin jar, 2.6.2.1, or 2.6.3).
- This is a show stopper for us (and probably for many other large installations).

Long Version:

My group is working on a an upgrade to large deployment of BIRT (>100 different templates). We have chosen to upgrade to 2.6.2 for two reasons: (a) This version is bundled with the current IBM RAD 8.0.2, and (b) we expected this to be stable version, addressing many of issues of 2.6.0 and 2.6.1.

This bug is a show-stopper for us. We found that we get PermGen after ~200 reports. We could not find any workaround for our server-based reporting.

We have just invested large number of hours in testing all reports on 2.6.2. Using other version will require complete retest by multiple teams.

I would like to ask for an "official" bug fix for the 2.6.2 version. This can be in the form of "plugin" jar that can be installed on top of 2.6.2, or new version (2.6.3, 2.6.2.1, ...).

Having an "official" bug fix will allow us to ask for our vendors and other teams to upgrade. With private, source-level patch - there is no real way to coordinate identical deployment across multiple teams, vendors, etc.

In general, production teams will not accept this source-level patch. At minimum, we need a way to download a compiled patch (jar, or similar) from "eclipse.com" or "birt-exchange.com".

Also, waiting for 3.7 is unrealistic for us (and I suspect for many clients) - the cost associated with upgrade (testing, coordination, waiting for vendor support) is too big.

Thanks for looking into this issue.

Yair Lenga
Comment 9 Yu Chen CLA 2012-03-26 02:35:46 EDT
Created attachment 213155 [details]
1st part
Comment 10 Yu Chen CLA 2012-03-26 02:36:33 EDT
Created attachment 213156 [details]
2nd part
Comment 11 Yu Chen CLA 2012-03-26 02:39:38 EDT
Created attachment 213157 [details]
3rd part

Due to the Bugzilla upload file size limitation, please download all the 3 parts of the patch. Then merge them into org.eclipse.birt.report.engine_2.6.2.r262_v20120326.jar. Use this jar to replace the old org.eclipse.birt.report.engine_xxxx.jar in your plugins folder.
Comment 12 vinil vuppuluri CLA 2012-04-25 11:50:30 EDT
(In reply to comment #11)
> Created attachment 213157 [details]
> 3rd part
> 
> Due to the Bugzilla upload file size limitation, please download all the 3
> parts of the patch. Then merge them into
> org.eclipse.birt.report.engine_2.6.2.r262_v20120326.jar. Use this jar to
> replace the old org.eclipse.birt.report.engine_xxxx.jar in your plugins folder.

============================
hi yu chen,

i tried to download each of the jars, but i was not able to uncompress or unzip the individual jar files.is there some way you can upload the main jar file.
Comment 13 B Boose CLA 2013-07-01 14:20:24 EDT
I'm running into the same problem - I can't merge the files into one jar