[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lisp bug at Illinois
- To: bug-lisp at MIT-AI
- Subject: lisp bug at Illinois
- From: DEWOLF at WPAFB-AFAL
- Date: Tue, 17 Oct 78 02:58:00 GMT
- Original-date: 16 Oct 1978 (Monday) 2158-EST
Someone here found a GC bug in our current LISP (1137!). I'm
forwarding you his message.
From Tze-Wah Wong[702,207] on October 14, 1978 at 4:16 PM
I found a bug under the following circumstance:
(1) A compiled function passes a number to either (a) an interpreted
function, or (b) a function with a SPECIAL argument.
(2) The argument passing mechanism makes sure that the argument is
a true number by number-consing
(3) If this number-cons causes GC, the GC destroyes certain save
locations and causes an error.
in ONR:LISP.EXE
742114/ push 14,7 ;save funct,,lambda-form on p
742116/ movem 6,462 ;c(462)=-ve number of arguments
735105/ skipn 1,174 ;get a flonum, succeed ?
735106/ jsp 1,752362 ;no more flonum, go to gc
735107/ ;return from gc, c(462) destroyed !!!!!!!!!!!!
742125/ move 6,462 ;restore 6=-ve ac
751136/ move 3,6 ;reg 3=-ve number of arg
751137/ addi 3,0(14) ;reg 3 points to funct,,lambda-form
751140/ hrrz 1,0(3) ;reg 1=lambda-form
;At this point we get garbage as lambda-form
[Forwarded from Tim Finin]
Tim Finin (FININ@MIT-AI)