TeXFOTBuilder fails with jade/openjade tex tables (again)

Subject: TeXFOTBuilder fails with jade/openjade tex tables (again)
From: Gary Lawrence Murphy <garym@xxxxxxxxxx>
Date: 03 May 2000 23:32:53 -0400
I apologize in advance for the length of this, but I am hoping it is
useful for debugging this CurCell != __null problem in the tex
backend.  I noticed some discussion on this list on this topic dated
last May, without finding any resolution.  Here's a few more details
which might hopefully shed some light on the trouble.

The error is the old assert error

    openjade  -t tex -d tci.dsl#print -f error.log  prokernel.sgml
    openjade: TeXFOTBuilder.cxx:769: 
        struct TeXFOTBuilder::Cell & TeXFOTBuilder::Table::curCell(): 
        Assertion `CurCell != __null' failed.

and I get this using Jade 1.2 or Openjade 1.3 (latest of each) for Linux;
it seems already pretty certain the trouble is not in the jade sources 
but in the stylesheets.

The offending markup reads as follows:
    <informaltable frame="all" colsep="0" rowsep="0" id="tab-devtools">
      <tgroup cols=2>
        <colspec colname="1" colwidth="1.5in">
        <colspec colname="2" colwidth="4.5in">
        <tbody>
          <row>
            <entry colname=1>Compilers</entry>
            <entry colname=2><simplelist>
                <member><ulink
            url="http://egcs.cygnus.com";>Experimental GNU Compiler
            System (EGCS)</ulink></member>  
                <member><ulink
            url="http://www.gnu.orgsoftware/gcc/gcc.html";>GNU Compiler
            Collection (GCC)</ulink></member>
                <member><ulink
            url="http://lightning.voshod.com/asm/";>Assembler
            HOWTO</ulink></member> 
                <member><ulink
            url="http://hermes.terminal.at/intel2gas/";>Intel2GAS
            Translator</ulink></member>  
              </simplelist></entry>
          </row>
          <row>
            <entry colname=1>Sourcecode Navigation</entry>
            <entry colname=2><simplelist>
                  <member><ulink
                  url="ftp://ftp.rigi.csc.uvic.ca/pub/rigi/ix86-linux2/";>Rigi</ulink></member>
                  <member><ulink
                  url="http://www.turing.toronto.edu/pbs/index.html";>Portable
                  Bookshelf</ulink></member>
                  <member><ulink
                  url="http://metalab.unc.edu/navigator-bin/navigator.cgi?";>Source
                  Code Navigator</ulink></member>
                  <member><ulink
                  url="http://lxr.linux.no/";>Linux Cross Reference
            Project</ulink></member>  
                  <member><ulink
                  url="http://wafu.netgate.net/tama/unix/global.html";>Global
                  Source Tags</ulink></member>
              </simplelist></entry>
          </row>
          <row>
            <entry colname=1>Development Tools</entry>
            <entry colname=2><simplelist>
                  <member><ulink
                  url="http://www.llp.fu-berlin.de/pool/software/dutil/";>Linux
                  Driver Development Kit</ulink></member>
              </simplelist></entry>
          </row>
          <row>
            <entry colname=1>Debugging Tools</entry>
            <entry colname=2><simplelist>
                  <member><ulink
                  url="http://oss.sgi.com/projects/kgdb/";>kGDB
            Project</ulink></member> 
                  <member><ulink
                  url="http://oss.sgi.com/projects/kdb/";>Built-in
                  Kernel Debugger</ulink></member>
                  <member><ulink
                  url="http://www.mv.com/ipusers/karaya/uml/uml.html";>UMK: User Mode Kernel</ulink></member>
              </simplelist></entry>
          </row>
          <row>
            <entry colname=1>Useful Utilities</entry>
            <entry colname=2><simplelist>
                  <member><ulink
                  url="http://oss.sgi.com/projects/lkcd/";>Linux Kernel
                  Core Dump</ulink></member>
                  <member><ulink
                  url="http://egcs.cygnus.com/ml/egcs-patches/2000-04/msg00332.html";>Using
                  gprof</ulink></member>
                  <member><ulink
                  url="ftp://e-mind.com/pub/andrea/ikd/";>Trace
            Tools</ulink></member> 
              </simplelist></entry>
          </row>
        </tbody>
      </tgroup>
    </informaltable>

This table is at the <chapter> level, ie, it is not inside any <sect1>
and follows two <para>'s and a <note>.  Commenting out this code allows
my book to compile without incident.  I use one other instance of the
informaltable, but this has only text or <programcode> markup in each
entry element.

As noted by other postings, calling the rtf backend does not produce any
errors, but most curiously, if I use the sgmltools' db2dvi, which uses
the default dsl and not my custom dsl, there is _no_ error. It compiles
as expected.  Thus the trouble appears to be the combination of the table
markup and using a customized stylesheet.

My stylesheet (called by tci.dsl#print) reads as follows:

    <!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
    <!ENTITY html-ss PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA dsssl>
    <!ENTITY print-ss PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA dsssl>
    ]>

    <style-sheet>

    <style-specification id="print" use="print-stylesheet">
    <style-specification-body> 

    ;; customize for print formats

    (define %generate-part-toc% #t)
    (define %graphic-default-extension% "eps")

    </style-specification-body>
    </style-specification>

    <style-specification id="html" use="html-stylesheet">
    <style-specification-body> 
        ... (a bunch of html-specific defines)
    </style-specification-body>
    </style-specification>
    <external-specification id="html-stylesheet" document="html-ss">
    <external-specification id="print-stylesheet" document="print-ss">
    </style-sheet>

I don't yet know if it is related, but I also find that on converting
the book to HTML, the jade/openjade docs recommend a command line that
would read

    openjade  -t html -d tci.dsl#html -f error.log  prokernel.sgml

but when I run this, my machine (64Mb PII) churns away for hours (it's
only a 33 page doc so far) until it exhausts all memory and causes X11
to shutdown.  If, on the other hand, I mimic the sgmltools command line
and use

    openjade  -t sgml -ihtml -d tci.dsl#html -f error.log  prokernel.sgml

I get the generated HTML files in a few minutes, but no stylesheet.
Could these two problems be related?  Again, it does not matter whether
I use jade 1.2 or openjade 1.3

-- 
Gary Lawrence Murphy <garym@xxxxxxxxxx>  TeleDynamics Communications Inc
Business Innovations Through Open Source Systems: http://www.teledyn.com
"Computers are useless.  They can only give you answers."(Pablo Picasso)


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread