steve@bass.cc.utas.edu.au (Steve P. Andrewartha) (01/02/91)
I'm posting this on behalf of the NCSA Telnet(MacTCP) users on our campus, and also for a developer trying to use the MacTCP Toolkit XCMDS for HyperCard. Both parties are suffering from hanging Macs. Mostly, the Macs are running System 6.0.5 and MacTCP 1.0.1 The basic problem is that MacTCP Telnet and HyperCard stacks that use the MacTCP Toolkit XCMDS hang occasionally when talking, via the Multigate (a LocalTalk/Ethernet gateway) to a terminal server on our local ethernet. I've used 'etherfind' and Peek to track the packets on the ethernet and LocalTalk sides of the Multigate, and discovered the following sequence of events - 1) The terminal server sends packets, mostly 1-10 data bytes and never more than 200 data bytes, to the Mac, which acknowledges them correctly. The terminal server consistently advertises a window size of 4096 bytes. 2) The terminal server sends a 5 data byte packet which appears on the LocalTalk, but the Mac's next response indicates that the packet should be resent (i.e. the acknowledgement field is equal to the sequence number in the original 5-databyte packet). 3) The Mac's response appears on the ethernet, but is ignored for a time by the terminal server, which continues to send data with increasing sequence numbers. In this time, the Mac requests the lost packet two more times. The Mac's window size, which had been dropping steadily from 4970 bytes down to 1604 bytes, increases sharply to 4226 bytes over the two response packets. 4) Finally, the terminal retransmits a packet with the same sequence number as the original lost packet, but this time it is 536 data bytes in size. A second (sequentially contiguous) packet of 414 data bytes follows, after which it continues to transmit from where it left off. 5) After hearing nothing more from the Mac since (3), the terminal server retransmits contiguous packets (536, 536, 536 and 310 data bytes) followed by further retransmissions of 536 data byte packets with the lost packet's sequence number. The Mac has hung. If its relevant, the MTU on the Multigate is 586 for the zone. Further along in the Peek dump, I notice that the Mac still responded to a packet from the Multigate with "IPADDRESS:131.217.1.94" in it. Can anyone suggest why the Mac failed to accept the retransmissions of the lost packet, or why it stopped communicating at all? Does anyone else have this problem with MacTCP? --------------------------------------------------------------------------- Steve Andrewartha, Phone : (002) 202811 (work) University of Tasmania, (002) 391283 (home) Box 252C, GPO, HOBART, Email : steve@bass.cc.utas.edu.au TASMANIA, AUSTRALIA. 7001.