Troubleshooting Common Log Messages

This page will try to explain the more common information, warning and error messages encountered when using FOP 0.91.

Information Messages

These messages provide general feedback on FOP and inform the user of possible issues with the processing.

Message

INFO  [LayoutManager] table-layout="fixed" and width="auto", but auto-layout not supported => assuming width="100%"

Solution

The width attribute has been omitted and the default is 'auto'. The 'auto' layout is not supported so you receive this message. Add a valid width attribute to table tag.

Example

Original:

<fo:table table-layout="fixed">

Fixed:

<fo:table table-layout="fixed" width="100%">

Message

INFO  [TableContentLayoutManager] break-after found

Solution

None. This looks like a debug message and will be removed in a future release.

Warning Messages

These messages indicate possible problems with processing.

Message

WARN  [LayoutManager] TODO Add collapsed border painting for spanned cells

Solution

The property border-collapse has a default value of "collapse" which is currently not supported. Specify border-collapse="separate" to force the table into the separate border model. This will make the message go away. The next release will properly force all tables to the separate border model until the collapsing border model is implemented.

Message

WARN  [LayoutManager] static-content overflows the available area

Solution

The static area defined is not large enough to fit the elements within it. This may be due to content growing beyond expectations or simply declaring the area too small. Try adjusting your extents to find the correct size.

Message

WARN  [FONode] Warning(Unknown location): fo:table, table-layout="auto" is currently not supported by FOP

Solution

The table-layout attribute has been omitted and the default is 'auto'. The 'auto' layout is not supported so you receive this message. Add table-layout="fixed" and possibly a width attribute to the table tag.

Example

Original:

<fo:table>

Fixed:

<fo:table table-layout="fixed" width="100%">

Message

WARN  [FONode] Warning(Unknown location): fo:table-column, In the separate border model (border-collapse="separate"), borders cannot be specified on a fo:table-column, but a non-zero value for border was found. The border will be ignored.

Solution

Still under investigation. See http://xmlgraphics.apache.org/fop/compliance.html#fo-property-border-collapse for more details

Message

WARN  [FONode] Warning(Unknown location): fo:table-row, fo:table-row does not have padding (see the property list for fo:table-row in XSL 1.0), but a non-zero value for padding was found. The padding will be ignored.

Solution

Remove superfluous row padding.

Message

WARN  [BreakingAlgorithm] Line 1 of a paragraph overflows the available area. (fo:block, "SOMEVERYLONGDATA")

Solution

This is due to content overflowing the area. Try resizing the area or adding the overflow and/or wrap-option attributes. See http://xmlgraphics.apache.org/fop/compliance.html#fo-property-overflow and http://xmlgraphics.apache.org/fop/compliance.html#fo-property-wrap-option for more details.

Message

WARN  [BreakingAlgorithm] Part/page 1 overflows the available area in block-progression dimension. (fo:static-content, "There is some very long data here!")

Solution

The area defined is not large enough to fit the elements within it. This may be due to a mis-sized image, content growing beyond expectations or simply declaring the area too small. Try adjusting your extents to find the correct size.

Message

WARN  [TableContentLayoutManager] The contents of row 1 are taller than they should be (there is a block-progression-dimension or height constraint on the indicated row). Due to its contents the row grows to 72028 millipoints, but the row shouldn't get any taller than MinOptMax[min=opt=max=56692] millipoints. (fo:table-row, "DATA HERE")

Solution

Usually, this happens if you set the height property on a table-row or table-cell. The height property is mapped to the block-progression-dimension property where all sub-properties (.minimum, .optimum and .maximum) are set to the same value specified for the height value. If the content of that table row is larger in size than the height you specified you get the above message (because [effective height] > block-progression-dimension.maximum, i.e. the table row must not grow beyond the maximum height). If you want to allow the row to grow as necessary but keep a minimum height, specify block-progression-dimension.minimum="2cm" instead of the height property. block-progression-dimension.maximum will then remain on the default value of "auto" which allows the row to grow as necessary.

Example

Original:

<fo:table-row height="2cm">

Fixed:

<fo:table-row block-progression-dimension.minimum="2cm">

Message

WARN  [ColumnSetup] There are fewer table-columns than are needed. Column 2 was accessed although only 1 columns have been defined. The last defined column will be reused. (fo:table, "XXX:, yyy")

Solution

This is usually due to a mistake in coding the XSL. Check to make sure you have not declared more table cells than you have columns or that you are not spanning more columns than you have declared.

Message

WARN  [ColumnSetup] Please note that according XSL-FO 1.0 (7.26.9) says that the 'column-width' property must be specified for every column, unless the automatic table layout is used.

Solution

This is usually due to a mistake in coding the XSL. Check to make sure you have not declared more table cells than you have columns or that you are not spanning more columns than you have declared.

Message

WARN  [FOTreeBuilder] Mismatch: simple-page-master (http://www.w3.org/1999/XSL/Format) vs. layout-master-set (http://www.w3.org/1999/XSL/Format)

Solution

This is usually due to a mistake in coding the XSL. Check the log for a more serious error message that may be causing this warning to occur. For example, an error in the ordering of your regions will result in warnings of this type.

Message

WARN  [FOTreeBuilder] Mismatch: simple-page-master (http://www.w3.org/1999/XSL/Format) vs. root (http://www.w3.org/1999/XSL/Format)

Solution

This is usually due to a mistake in coding the XSL. Check the log for a more serious error message that may be causing this warning to occur. For example, an error in the ordering of your regions will result in warnings of this type.

Error Messages

These messages indicate serious issues with processing.

Message

ERROR (Unknown location): For fo:simple-page-master, fo:region-body must be declared before fo:region-before.

Solution

The region ordering must adhere to the XSL-FO specification. Fix the ordering in your page-master. This may also be causing other warning messages to be generated. See http://www.w3.org/TR/xsl/slice6.html#fo_region-body for more details

Example

Original:

<fo:region-before extent="70mm"/>
<fo:region-after extent="5mm"/>
<fo:region-body margin-top="71mm" margin-bottom="7mm"/>

Fixed:

<fo:region-body margin-top="71mm" margin-bottom="7mm"/>
<fo:region-before extent="70mm"/>
<fo:region-after extent="5mm"/>

Message

ERROR [FONode] fo:table-body must not be empty. Expected: marker* (table-row+|table-cell+)

Solution

Quite obvious: There's an empty fo:table-body element. The specification says that an fo:table-body must have the following contents: (table-row+|table-cell+). If you get this message but the document renders fine, it means that you have strict validation disabled. FOP can deal with an empty table-body element but due to the wording in the specification, this is still, strictly speaking, an error.

See http://www.w3.org/TR/xsl/slice6.html#fo_table-body for more information.

Message

INFO  [STDOUT] [Fatal Error] someReport.xsl:265:120: Attribute "abc" was already specified for element "fo:table-cell".

Solution

Remove duplicate attribute.

Message

Found a gap in the table-columns at position 2

Solution

This happens if you use the column-number property when defining table columns and you just specify the columns for columns 1 and 3 but not 2.

Message

Ascender and descender together are larger than the em box. This could lead to a wrong baseline placement in Apache FOP.

Explanation

The "em box" is the "normal" bounding box in which all glyphs of a font fit. That doesn't mean that parts of a glyph cannot extend beyond that box in extreme cases, especially if accents gets stacked. The "ascender" is the "normal" value by which a font ascends beyond the baseline, and the "descender" is the "normal" value by which a font descends under the baseline. Those two values added together normally make up the height of a line of text for a particular font at the design size of the font. The em box's height is normally equal to this line height. Now, not all !TrueType/!OpenType fonts provide the same metrics information (or the same quality of information). During development it was noticed that there could be placement errors if the em box, the ascender and descender don't match.

Normally, this error can be ignored as it mostly happens on special fonts which are discovered by auto-detection and are rarely used.

Message

Adjusting end-indent based on overconstrained geometry rules for fo:table.

Explanation

This is triggered when the rule in XSL 1.1, 5.3.4 Overconstrained Geometry is triggered. This can happen on a fo:table when the table width is larger than the available space in inline-progression-direction. An example:

Assume the region-body has a width of 10cm. start-indent has been set to "2cm" and a table was added with a width of "9cm".

2cm + 9cm = 11cm (which is larger than the available 10cm)

Result: end-indent is adjusted to "-1cm", so "2cm - 1cm + 9cm = 10cm". The table extends beyond the right edge of the available area.

Troubleshooting/CommonLogMessages (last edited 2009-09-20 23:52:19 by localhost)