Bug 414088 Error in code of PageArea.createRoot
This seems to me like a copy&paste error in the code: protected void createRoot( ) { ... pageRoot.setBoxStyle( boxStyle ); rootLeft = getDimensionValue( pageContent, pageContent.getMarginLeft( ), pageContentWidth ); rootTop = getDimensionValue( pageContent, pageContent.getMarginTop( ), pageContentWidth ); rootLeft = Math.max( 0, rootLeft ); ... Consider the line "rootTop = ...". Shouldn't this read rootTop = getDimensionValue( pageContent, pageContent.getMarginTop( ), pageContentHeight ); instead?
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/nLayout/area/impl/PageArea.java
removeHeader( );
			header = null;
		}
		if ( footer != null && footer.getHeight( ) >= root.getHeight( ) )
		{
			removeFooter( );
			footer = null;
		}
		if ( header != null
				&& footer != null
				&& footer.getHeight( ) + header.getHeight( ) >= root
						.getHeight( ) )
		{
			removeHeader( );
		}
		body.setHeight( root.getContentHeight( )
				- ( header == null ? 0 : header.getHeight( ) )
				- ( footer == null ? 0 : footer.getHeight( ) ) );
		body.setPosition( body.getX( ), ( header == null ? 0 : header
				.getHeight( ) )
				+ root.getBoxStyle( ).getTopBorderWidth( ) );
		if ( footer != null )
		{
			footer.setPosition( footer.getX( ), ( header == null ? 0 : header
					.getHeight( ) )
					+ root.getBoxStyle( ).getTopBorderWidth( )
					+ ( body == null ? 0 : body.getHeight( ) ) );
		}
	}
	/**