Project: Birt
Bug 294225 Excel report generates OutOfMemory error
Reported: 2009-11-04 12:04:09 | Status: resolved fixed

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 Build Identifier: 2.5.1 Executing the same report created with BIR 2.3.2 and rendered in Excel. We used a DataSet contains 3 columns with 10,000 lines. We have analyzed and compared memory with JProfiler. Two test we have realised: 1.- Using BIRT 2.3.2 runtime : (see snapshot 1) 2.- Using BIRT 2.5.1runtime: (see snapshot 2) We can observe from snapshot files that memory is more than 3 times more important than 2.3.2 version. In the other hand, from Objet_comparison.html file we can see that: - there are more instance created on 2.5.1 - Instances of XlsContainer, XlsCell and CSSValue class used very more memory than in version 2.3.2 This is the reason of OutOfMemory error in our apllication. In our application we generate an Excel file containig 35,000 lines and for generating this file by BIRT 2.5.1 we need at least 450MBytes. It is not reasonable! The memory is not very well garbaged. So, what can you do for us, quickly? Thanks for your help. Reproducible: Always Steps to Reproduce: 1.See Eclipse project file zipped 2. 3.

Files changed in fix:
engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/BlankData.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/Data.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/DataCache.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/ExcelEmitter.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/ExcelUtil.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/ExcelWriter.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/ExcelXmlWriter.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/IExcelWriter.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/ImageData.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/SheetData.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/StyleConstant.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/StyleEngine.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/StyleEntry.java engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/layout/ExcelLayoutEngine.java