[tlbuild] dvi test?

John Hawkinson jhawk at alum.mit.edu
Thu Jan 27 15:49:34 CET 2022


I'm running out of leads, and also spent way too much time turning M1
macintoshes into bricks (recoverably, but still time-consuming and
annoying) which is irrelevant but quite distracting. I guess the watchpoint
approach is still relevant.

Changing ft.c:184 to

  data |= (bmUnitT) reverse_byte[*p1++] << shift;

successfully shuts up the sanitizer but of course produces no change in the
crash. I then turned to the freetype sanitizer reports:

/Users/jhawk/src/xdvik-22.87.05/libs/freetype2/freetype-src/src/base/ftgloadr.c:149:40:
runtime error: applying zero offset to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
/Users/jhawk/src/xdvik-22.87.05/libs/freetype2/freetype-src/src/base/ftgloadr.c:149:40
in
/Users/jhawk/src/xdvik-22.87.05/libs/freetype2/freetype-src/src/base/ftgloadr.c:150:40:
runtime error: applying zero offset to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
/Users/jhawk/src/xdvik-22.87.05/libs/freetype2/freetype-src/src/base/ftgloadr.c:150:40
in
/Users/jhawk/src/xdvik-22.87.05/libs/freetype2/freetype-src/src/base/ftgloadr.c:192:42:
runtime error: applying zero offset to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
/Users/jhawk/src/xdvik-22.87.05/libs/freetype2/freetype-src/src/base/ftgloadr.c:192:42
in

But this doesn't look like it's going anywhere either:

(lldb) up 5
frame #5: 0x000000010020eefc
xdvi-bin`FT_GlyphLoader_Adjust_Points(loader=0x0000600003504000) at
ftgloadr.c:149:40
   146    FT_Outline*  current = &loader->current.outline;
   147
   148
-> 149    current->points   = base->points   + base->n_points;
   150    current->tags     = base->tags     + base->n_points;
   151    current->contours = base->contours + base->n_contours;
   152

(lldb) print *current
(FT_Outline) $9 = {
  n_contours = 0
  n_points = 0
  points = NULL
  tags = 0x0000000000000000
  contours = 0x0000000000000000
  flags = 0
}
(lldb) print *base
(FT_Outline) $10 = {
  n_contours = 0
  n_points = 0
  points = NULL
  tags = 0x0000000000000000
  contours = 0x00006000001e4f60
  flags = 0
}

That is, we only add zero to the NULL pointer, so that's still NULL.

> Could you send me the (much shorter) output from xdvi with "-debug 256"?

Pretty short:

jhawk at loud-room xdvik % xdvi-bin -debug 256 t2a
KPATHSEA_DEBUG = 4
kdebug:fopen(t2a.dvi, r) => 0x2010caa10
kdebug:fopen(/Users/jhawk/src/xdvik-22.87.05/Work/texk/xdvik/t2a.dvi, r) =>
0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
xdvik 22.87.05 (Xaw toolkit), kpathsea: kpathsea version 6.3.2
configured with: ppi=600 shrink=8 mfmode=<NONE> alt_font=cmr10 paper=a4
--- G_depth: 24
kdebug:fopen(/usr/local/texlive/2021/texmf.cnf, r) => 0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
kdebug:fopen(/usr/local/texlive/2021/texmf-dist/web2c/texmf.cnf, r) =>
0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
kdebug:fopen(/usr/local/texlive/texmf-local/ls-R, r) => 0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
kdebug:fopen(/usr/local/texlive/2021/texmf-config/ls-R, r) => 0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
kdebug:fopen(/usr/local/texlive/2021/texmf-var/ls-R, r) => 0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
kdebug:fopen(/usr/local/texlive/2021/texmf-dist/ls-R, r) => 0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
kdebug:fopen(/usr/local/texlive/2021/texmf-config/dvips/config/config.ps,
r) => 0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
kdebug:fopen(/Users/jhawk/.dvipsrc, r) => 0x0
kdebug:fopen(/usr/local/texlive/2021/texmf-dist/dvips/xdvi/config.xdvi, r)
=> 0x2010caaa8
kdebug:fclose(0x2010caaa8) => 0
kdebug:fopen(/usr/local/texlive/2021/texmf-var/fonts/map/dvips/updmap/psfonts.map,
r) => 0x2010caaa8
kdebug:fclose(0x2010caa10) => 0
kdebug:fopen(/Users/jhawk/src/xdvik-22.87.05/Work/texk/xdvik/t2a.dvi, r) =>
0x2010caa10
../../../texk/xdvik/special.c:1337: |l3backend-dvips.pro| expanded to
|/usr/local/texlive/2021/texmf-dist/dvips/l3backend/l3backend-dvips.pro|
kdebug:fopen(/usr/local/texlive/2021/texmf-dist/dvips/l3backend/
l3backend-dvips.pro, r) => 0x2010cabd8
kdebug:fclose(0x2010cabd8) => 0
kdebug:fopen(/usr/local/texlive/2021/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb,
r) => 0x2010cabd8
kdebug:fopen(/usr/local/texlive/2021/texmf-dist/fonts/type1/public/amsfonts/cm/cmcsc10.pfb,
r) => 0x2010cac70
kdebug:fopen(/usr/local/texlive/2021/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb,
r) => 0x2010cad08
kdebug:fclose(0x2010caa10) => 0
kdebug:fopen(/Users/jhawk/src/xdvik-22.87.05/Work/texk/xdvik/t2a.dvi, r) =>
0x2010caa10
kdebug:fclose(0x2010caa10) => 0
xdvi-bin: set_no_char: attempt to set character of unknown font, offset 42
xdvi-bin 22.87.05 (Xaw toolkit): ../../../texk/xdvik/dvi-draw.c:488:
Shouldn't happen: I'll abort now, to help you debugging this.
zsh: abort      xdvi-bin -debug 256 t2a
jhawk at loud-room xdvik %

--
jhawk at alum.mit.edu
John Hawkinson


On Thu, Jan 27, 2022 at 2:32 AM Paul Vojta <vojta at math.berkeley.edu> wrote:

> On Tue, Jan 25, 2022 at 05:08:39AM -0500, John Hawkinson wrote:
>
> [snip]
>
> > Karl Berry suggested invoking xdvi with "-debug -1".
> > Although that doesn't produce any obvious hints, it does produce a lot
> of output.
> > When I have some more time later today I will try and compare that
> tracing between the working and the non-working machines and see if any
> differences are instructive.
>
> Could you send me the (much shorter) output from xdvi with "-debug 256"?
>
> I'm curious about your font setup, and about which files are being opened.
> The "set_no_char" routine should only be called when virtual fonts are in
> use.
>
> Paul
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://tug.org/pipermail/tlbuild/attachments/20220127/db0eca77/attachment.html>


More information about the tlbuild mailing list.