bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

groff on Interix problem, rehashed


From: Todd Vierling
Subject: groff on Interix problem, rehashed
Date: Sun, 13 Mar 2005 14:36:51 -0500 (EST)

Related to this thread:

http://lists.gnu.org/archive/html/bug-groff/2004-11/msg00220.html

I've narrowed down the issue to a problem with pic on Interix.  (As a point
of info, it ships with gcc 3.3 and this problem still happens at -O0.)

The endless loop comes from pic producing the following block below the text
description reading

  Here's an example concocted to demonstrate layout of a large,
  multiple-part pattern:

It seems to me that the 'box "PostScript"' directive below that is acting
strangely.  I ran ../src/preproc/pic/pic on pic.ms on a working platform
(NetBSD 2.0) and Interix, and the differences can be seen here:

===== NetBSD 2.0 =====

.lf 2334
\h'1.625i-(\w'PostScript'u/2u)'\v'5.750i-(0v/2u)+0v+0.22m'PostScript
.sp -1
\h'3.125i'\v'3.000i'\D'l 0.500i 0.250i'
.sp -1
\h'3.625i'\v'3.250i'\D'l 0.000i 0.250i'
.sp -1
\h'3.625i'\v'3.500i'\D'P -0.025i -0.100i 0.050i 0.000i'
.sp -1
\h'3.625i'\v'3.500i'\D'p -0.025i -0.100i 0.050i 0.000i'
.sp -1
\h'3.963i'\v'3.713i'\D'l 0.000i 0.000i'
.sp -1
\h'3.990i'\v'3.673i'\D'l 0.000i 0.000i'
.sp -1
\h'4.000i'\v'3.625i'\D'l 0.000i 0.000i'
.sp -1
\h'4.000i'\v'3.625i'\D'l 0.000i 0.000i'
.sp -1
\h'3.990i'\v'3.577i'\D'l 0.000i 0.000i'
.sp -1
[...etc...]

===== Interix =====

.lf 2188
\h'1.625i-(\w'PostScript'u/2u)'\v'5.750i-(0v/2u)+0v+0.22m'PostScript
.sp -1
\h'3.125i'\v'3.000i'\D'l0.500i 0.250i'
.sp -1
\h'3.625i'\v'3.250i'\D'l0.000i 0.250i'
.sp -1
\h'3.625i'\v'3.500i'\D'P-0.025i -0.100i 0.050i 0.000i'
.sp -1
\h'3.625i'\v'3.500i'\D'p-0.025i -0.100i 0.050i 0.000i'
.sp -1
\h'3.963i'\v'3.713i'\D'l0.000i 0.000i'
.sp -1
\h'3.990i'\v'3.673i'\D'l0.000i 0.000i'
.sp -1
\h'4.000i'\v'3.625i'\D'l0.000i 0.000i'
.sp -1
\h'NaNi'\v'NaNi'\D'lNaNi NaNi'
.sp -1
\h'NaNi'\v'NaNi'\D'lNaNi NaNi'

=====

Note the NaNs; they continue ad infinitum (looks like a call to dot() with
NaN positions, and the code path calling it is failing a comparison because
of the NaN and simply looping forever).  Possibly this is a bug in libm that
needs a workaround.

I'm not sure what the code path is leading up to this point, but I'm hoping
someone with more internals knowledge of pic can point to it more readily.
If there's more detail needed (such as a simpler test case to reproduce
this), please let me know and I'll try to dig it up.

-- 
-- Todd Vierling <address@hidden> <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]