[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Missing byte was real, and was found.
Some time ago I asked about experiences with the dropping of a single
byte from certain data transfers from the Symbolics to the Sun. It
seems that this problem was noticed by very few people (2 responded: 1
from Symbolics, 1 other with the same problem). Through several
experiments the cause was determined (and the magic number 1458
makes sense). From the cause, I now have a "fix" and know what the
proper fix should look like (contact me if you need it).
The problem arose when Sun (in 4.1.1) increased the buffer size for
FTP transfers to 1460. This meant that the limit on the network segment
size was increased to the "hard" limit of 1478 since now the Sun imposed
a limit of 1480 (1460+20). Observe that 1458=1478-20 where 20 is the
leader/header of the segment/packet. Because the actual output appears
to be in microcode on the 3600 machines and not in microcode on the Ivories
(at least that is what the comments in tcp.lisp say) a problem related
to timing differences would not appear on the Ivories (and probably not
on the 3650/20 series since they have a different microcode).
Thus, the 1458 byte (base 0) was the first byte of the second output
segment/packet and was lost due to a timing problem. (It was close enough so
that monitoring the packets would eliminate the problem in almost all cases,
but that exception helped in finding the problem.)