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
pageContentWidth = DEFAULT_PAGE_WIDTH;
		}
		
		if ( pageContentHeight <= 0 )
		{
			pageContentHeight = DEFAULT_PAGE_HEIGHT;
		}
		setWidth( pageContentWidth );
		setHeight( pageContentHeight );
		/**
		 * set position and dimension for root
		 */
		ContainerArea pageRoot = new BlockContainerArea( );
		BoxStyle boxStyle = buildRootStyle( );
		if ( boxStyle != BoxStyle.DEFAULT )
		{
			pageRoot.hasStyle = true;
		}
		pageRoot.setBoxStyle( boxStyle );
		rootLeft = getDimensionValue( pageContent,
				pageContent.getMarginLeft( ), pageContentWidth );
		rootTop = getDimensionValue( pageContent, pageContent.getMarginTop( ),
				pageContentWidth );
		rootLeft = Math.max( 0, rootLeft );
		rootLeft = Math.min( pageContentWidth, rootLeft );
		rootTop = Math.max( 0, rootTop );
		rootTop = Math.min( pageContentHeight, rootTop );
		pageRoot.setPosition( rootLeft, rootTop );
		int rootRight = getDimensionValue( pageContent, pageContent
				.getMarginRight( ), pageContentWidth );