To: cu20b.cc.columbia.edu!sy.fdc@ucbvax.berkeley.edu, cu20b.cc.columbia.edu!Info-Kermit@ucbvax.berkeley.edu Subject: Bugs in existing Kermit-UCSD versions: UCIBMPC & UCMICRO Date: Sat Aug 13 14:04:28 1988 X-Origin: The Portal System (TM) X-Possible-Reply-Path: R_Tim_Coslet@cup.portal.com X-Possible-Reply-Path: sun!portal!cup.portal.com!R_Tim_Coslet This file discribes some SERIOUS bugs with the UCIBMPC & UCMICRO versions of Kermit-UCSD (and probably most of the other Kermit-UCSD versions). Please place copies of it in distribution as UCIBMPC.BWR and UCMICRO.BWR, and anywhere else you think appropriate. These bugs have been fixed in my new UCPECAN version (in addition to adding many new features). I expect to have UCPECAN ready in about a week. R. Tim Coslet Usenet: R_Tim_Coslet@cup.portal.com BIX: r.tim_coslet ----------------------------------------------------------------------------- Known SERIOUS bugs: 1) Any error while sending WILL cause loss of data in the transfer. This bug is caused by an attempt in "sdata" to prepare the next packet while waiting for the ACK packet. If an error occurs "sdata" a) resends the current packet, b) discards the next packet, c) prepares another new next packet. The bug may be fixed by using a boolean to keep track if there is already a next packet available and skipping the call to "bufill" if there is. 2) Timeout errors in tranfers MAY cause the transfer to abort. This bug is caused by several of the "s*" and "r*" functions not assigning a value to themselves prior to returning if the packet type returned by "rpack" is NUL {chr(0)}. This leaves the returned value unknown and thus may cause the state machine in "sendsw" or "recsw" to abort the transfer because of illegal state. The bug may be fixed by adding statements to assign the correct state to each function following the... else if (ch = chr(0)) then ...line in all "s*" and "r*" functions except "sdata" and "rdata" (which use a while loop instead of returning to the state machine after every packet).