[net.unix-wizard] more on uucico bug

root (11/20/82)

To follow up on my previous messages "uucico bug - help !", the following is
what I found from the "/tmp/uuLOG" file.


***************************************
   :
   :
   :
   :
alarm 36
send 40
rec h->cntl 37777777611
send 41
got S D.sbcsB7433 D.sbcsB7433
 PROCESS: msg - S D.sbcsB7433 D.sbcsB7433 root - D.sbcsB7433 0666
SNDFILE:
msg - S
W_FILE2 - D.sbcsB7433
chkpth ok Rmtname - peri
wmesg 'S'Y
send 37777777621
rec h->cntl 42
state - 10
rec h->cntl 37777777622
send 42
alarm 37
send 42
rec h->cntl 42
state - 30
alarm 38
send 42
rec h->cntl 42
state - 30
alarm 39
send 42
rec h->cntl 37777777615
bad header 37777777646,h->ccntl 12
alarm 40
send 42
rec h->cntl 42
state - 30
alarm 41
send 42
rec h->cntl 42
state - 30
alarm 42
send 42
rec h->cntl 37777777615
bad header 37777777646,h->ccntl 12
alarm 43
send 42
alarm 44
send 42
rec h->cntl 42
state - 30
alarm 45
send 42
rec h->cntl 42
state - 30
alarm 46
send 42
rec h->cntl 37777777615
bad header 37777777646,h->ccntl 12
alarm 47
send 42
rec h->cntl 42
   :
   :
   :
   :
   :
   :

****************************************************************

notice that uucico is looping in state "30", it simply can not get out
of the "bad header" situation. The following is my "quick fix".

goto pk1.c, in routine "pkgetpack", look for the following line:-

****************************************************************************
*	if (k == 9) {                                                      *
*		if (h->sum + h->cntl == CHECK) {                           *
*			pkcntl(h->cntl, pk);                               *
*			/* Conbad = 0; this cause looping of state -awc */ *
*			PKDEBUG(7, "state - %o\n", pk->p_state);           *
*		}                                                          *
****************************************************************************


Comment out the line "Conbad = 0;", as shown above, this will cause
uucico to give up after getting 6 bad header. This fix does not attempt
to recover from the error. It will cause uucico to exit in a ordered
manner (removing LCK..* ..etc). Does anyone know more about the finite 
state machine the Pk level is implementing and can come up with a
better fix ?

                                                 thanks in advance.

                                                     Andrew Chang
						  State University of New York
						  Dept. of Computer Science