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
int prefWidth = context.getPreferenceWidth( ); 
			int prefHeight = page.getBody( ).getHeight( );
			Iterator iter = page.getBody( ).getChildren( );
			while ( iter.hasNext( ) )
			{
				AbstractArea area = (AbstractArea) iter.next( );
				prefWidth = Math.max( prefWidth, area.getAllocatedX( )
						+ area.getAllocatedWidth( ) );
			}
			if ( prefHeight > maxHeight )
			{
				( (ContainerArea) page.getBody( ) ).setHeight( prefHeight );
				floatingFooter( page );
				int deltaHeight = prefHeight - maxHeight;
				ContainerArea pageRoot = (ContainerArea) page.getRoot( );
				pageRoot.setHeight( pageRoot.getHeight( ) + deltaHeight );
				page.setHeight( pageContentHeight + deltaHeight );
			}
			if ( prefWidth > maxWidth )
			{
				( (ContainerArea) page.getBody( ) ).setWidth( prefWidth );
				int deltaWidth = prefWidth - maxWidth;
				ContainerArea pageRoot = (ContainerArea) page.getRoot( );
				pageRoot.setWidth( pageRoot.getWidth( ) + deltaWidth );
				page.setWidth( pageContentWidth + deltaWidth );
			}
		}
	}
}