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
if ( prefHeight > maxHeight )
			{
				( (ContainerArea) page.getBody( ) ).setHeight( prefHeight );
				floatingFooter( page );
			}
			if ( prefWidth > maxWidth || prefHeight > maxHeight )
			{
				scale = Math.min( maxWidth / (float) prefWidth, maxHeight
						/ (float) prefHeight );
			}
		}
		return scale;
	}
	protected void updatePageDimension( float scale, PageArea page )
	{
		
		page.setHeight( (int) ( pageContentHeight / scale ) );
		page.setWidth( (int) ( pageContentWidth / scale ) );
		ContainerArea pageRoot = (ContainerArea) page.getRoot( );
		pageRoot.setPosition( (int) ( rootLeft / scale ),
				(int) ( rootTop / scale ) );
		pageRoot.setHeight( (int) ( rootHeight / scale ) );
		pageRoot.setWidth( (int) ( rootWidth / scale ) );
	}
	protected void updatePageDimension( PageArea page )
	{
		if ( page != null && page.getRoot( ).getChildrenCount( ) > 0 )
		{
			int maxWidth = context.getMaxWidth( );
			int maxHeight = context.getMaxHeight( );