Bug 512005 - Memory Leaks when report contains hidden table
Summary: Memory Leaks when report contains hidden table
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 4.4.1   Edit
Hardware: PC Windows NT
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: Birt-ReportEngine-inbox@eclipse.org CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-09 16:14 EST by ak k CLA
Modified: 2017-02-09 16:18 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ak k CLA 2017-02-09 16:14:20 EST
Hi , 

We are using birt runtime 4.4.1 jar.

We have observed that whenever there is hidden table in birt report and report is producing large data data it throws OutOfMemoryException.

Further profiling shows that HTMLAbstractLM had method named handleVisibility() which has following code

if ( LayoutUtil.isHidden( content, emitter.getOutputFormat( ), context
				.getOutputDisplayNone( ), hiddenMask ) )
		{
			isVisible = false;
			boolean allowPageBreak = context.allowPageBreak( );
			context.setAllowPageBreak( false );
			traverse( executor, content );
			context.setAllowPageBreak( allowPageBreak );
			return true;
		}

This traverse method is putting lots of children in memory and this is the cause for OutOfMemoryException.

Not sure why call to method traverse() is needed here if we are not displaying elements on reports.

I tried to search for already existing defects but could not find existing defect for this.

Please help.