[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: fo error: Illegal unit of measure
Hi, I wonder if anyone can shed light on this problem because for the life of me I can't figure it out. xmllint has no problems with this file. Having *both* <orderedlist> and <screen> tags in this document produces the following error: (/usr/share/texmf/tex/latex/psnfss/t1pcr.fd) [1] ! Illegal unit of measure (replaced by filll). <argument> <5:block^^I><5:block^^I>L et Us Go Deeper</5:block></5:block>\@empty l.49 ...opriately.</fo:block></fo:block></fo:flow> </fo:page-sequence></fo:root> Removing either one of these "solves" the problem. Tools / flags / etc are: Suse 9.1 (did a YOU a couple of days ago) xsltproc --nonet --xinclude -o test.fo /usr/share/xml/docbook/stylesheet/nwalsh/1.64.1/fo/docbook.xsl test.xml pdfxmltex test.fo File "test.xml": <?xml version="1.0"?> <!-- -*- sgml -*- --> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> <book id="howto" lang="en" xreflabel="valgrind HOWTO"> <bookinfo> <title>Valgrind HOWTO</title> <subtitle>A guide to Valgrind, the malloc debugger</subtitle> </bookinfo> <chapter id="deeper" xreflabel="Let Us Go Deeper"> <title>Let Us Go Deeper</title> <para>The dynamic linker calls the initialization function of Valgrind. Then the synthetic CPU takes control from the real CPU. In the memory there may be some other .so files. The dynamic linker calls the initialization function of all such .so files.</para> <sect1 id="validity" xreflabel="How Valgrind Tracks Validity of Each Byte"> <title>How Valgrind Tracks Validity of Each Byte</title> <para>For every byte processed, the synthetic processor maintains 9 bits, 8 'V' bits and 1 'A' bit. The 'V' bits indicate the validity of the 8 bits in the byte and the 'A' bit indicates validity of the byte address. These valid-value(V) bits are checked only in two situations:</para> <orderedlist> <listitem> <para>when data is used for address generation,</para> </listitem> <listitem> <para>when control flow decision is to be made.</para> </listitem> </orderedlist> <para>In any of these two situations, if the data is found to be undefined an error report will be generated. But no error reports are generated while copying or adding undefined data.</para> <screen><![CDATA[ #include <stdlib.h> /* produces no errors */ int main() { int *p, *a; p = malloc( 10*sizeof(int) ); a = malloc( 10*sizeof(int) ); a[3] = p[3]; free( a ); free( p ); return 0; }]]></screen> <para>All bytes that are in memory but not in CPU have an associated valid-address(A) bit, which indicates whether the corresponding memory location is accessible by the program. When a program starts, the 'A' bits corresponding to each global variables are set.</para> </sect1> </chapter> </book>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]