[tlbuild] dvi test?

Paul Vojta vojta at math.berkeley.edu
Sun Jan 30 09:16:20 CET 2022


On Sun, Jan 30, 2022 at 02:50:39AM +0100, Bruno Voisin wrote:
> > On 30 Jan 2022, at 02:31, Paul Vojta <vojta at math.berkeley.edu> wrote:
> > 
> > Regarding fseek, etc., and the dvi file, could someone send me the output
> > of "xdvi -debug 34 -noghostscript t2a.dvi" (in a situation where the bug
> > occurs)?
> > 
> > Here 34=2+32, where 2 asks for debugging the bytes read from the dvi file,
> > and 32 asks for debugging the ps calls.  The latter is just to be sure that
> > the -noghostscript option isn't somehow being ignored.
> 
> Here's the output, up to Shift-R
> 
> % xdvi -debug 34 -noghostscript t2a.dvi
> Warning: locale not supported by Xlib, locale set to C
[snip]
> 
> and after it
> 
>    0    0 SETCHAR0  
> xdvi-xaw: set_no_char: attempt to set character of unknown font, offset 42

I see what's happening (or at least part of it).

When it tries to reread the first page of the dvi file after hitting 'R',
it reads a zero byte (SETCHAR0) instead of the BOP byte.  Since a SETCHAR
byte occurs before a FNTNUM command, it doesn't know what font the character
is in, hence the error message.

Now we need to know what is causing this.

By the way, looking at the output of "od -c t2a.dvi", I noticed that the
dvi file's postamble occurs somewhere around 04000 (octal), so maybe the
extra verbiage in page 3 is necessary to move the postamble out of the
first bufferfull of the file that is read.

So this leads to the question:  If you add a bunch of verbiage in page 3 and
beyond, so that the postamble gets pushed past, say, 04000 * (2 or 4 or 8),
then does the bug occur on older Mac systems?

Failing that, the control flow is as follows (I think) (line numbers
are approximate):

events.c:6188 (in redraw_page() ) calls redraw()
  events.c:6035 calls draw_page()
    dvi-draw.c:2208 calls lseek()
    dvi-draw.c:2267 calls draw_part()
      dvi-draw.c:various calls xone() (a macro, which may call xxone())

So that's where to look (sorry, out of time today).

--Paul


More information about the tlbuild mailing list.