Number: 2266

Date: 26-Sep-84 13':33':39

Submitter: Sannella.PA

Source: tanner.pa

Subject: Possible Dlion ucode page-fault bug': FILES? dies on "no" answer

Assigned To: 

Attn: Charnley, Purcell, vanMelle, Masinter

Status: Open

In/By: 

Problem Type: Bug

Impact: Serious

Difficulty: 

Frequency: 

Priority: Absolutely

System: Language Support

Subsystem: Microcode

Machine: 

Disk: 

Lisp Version: 

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: 

Description: '
Date': 25 Sep 84 12':44 PDT'
From': Sannella.pa'
Subject': Re': Lisp': FILES? enters BREAK on "no" answer'
In-reply-to': tanner.pa''s message of 24 Sep 84 17':45 PDT'
To': tanner.pa'
cc': LispSupport.pa'
'
Does this happen repeatedly?  Answering "n" seems to work for me.  If this happens again, could you do a backtrace in the break window, and send that info along.  Better still, if an Interlisp wizard is around, let him look at it'
'
-----'
'
Date': 25 Sep 84 11':33 PDT'
From': tanner.pa'
Subject': Lisp': FILES? leads to DLion Death'
To': LispSupport.pa'
cc': tanner.pa'
'
Lisp System Date': 19-Sep-84 17':34':51'
Machine': Dandelion (25200045447)'
Microcode version': 24,1'
Memory size': 5777'
Frequency':  Once '
Impact':  Fatal '
'
I said earlier that responding "n" to the "want to way where the above go ? " prompt resulted in a BREAK.'
'
Today the same response crashed my machine (9304 on the MP).  It was a "terminally fatal" crash, not recoverable by any means known to me (which is not many).'
'
mike'
'
-----'
'
Date': 25 Sep 84 15':57 PDT'
From': tanner.pa'
Subject': Re': Lisp': FILES? enters BREAK on "no" answer'
In-reply-to': Sannella.pa''s message of 25 Sep 84 12':44 PDT'
To': Sannella.pa'
cc': tanner.pa, LispSupport.pa'
'
It seems to be a problem related to running a sysout which was made on another machine.  I made a sysout on a Dolphin, ftp''d to a Dandelion, then ran on the Dandelion.  The problem doesn''t occur when I run the same sysout on the Dolphin.  And it turns out that not only ''n'' but''y'', '']'', and ''?'' also break.  I was running in the same mode under the old Loops sysout -- 3 Jul, lisp of 21 Jun -- and this did not occur. '
'
Also, waiting for the thing to time-out and say ''No'' on its own fixes the problem.  After this it will accept answers without breaking.'
'
When I tried running GAINSPACE (for unrelated reasons) the same thing happened when it prompted.'
'
Bill van Melle has been looking at it this afternoon but I don''t know it he has any ideas yet.'
'
mike'
'
-----'
'
Date': 25 Sep 84 21':23 PDT'
From': vanMelle.pa'
Subject': Lisp': another DLion uCode bug?'
To': LispSupport.pa, Charnley'
cc': Masinter, vanMelle.pa'
'
Frequency': Intermittent'
Impact': Serious'
'
Michael Tanner reported this one running in Loops built on Lisp of 19-Sep-84, I believe.  He got it intermittently after typing "N" in response to the FILES? prompt asking about saying where to put changed things.  I verified that it always happened after a \RELEASEWORKINGSET, but never the second time, so appears pagefault related.'
'
Anyway, the symptom was a non-numeric arg T as the second arg to IGREATERP at PC 2675 in ASKUSERA0034.  The code in that neighborhood is'
'
2667':		117	24		PVARX KEY'
2671':		11	4	151	FN1 NCHARS'
2674':		361			IGREATERP'
'
Byte 2670 begins the page.  Evidence is that this code should not have been executed, as the value of KEY was the atom %], but breaking NCHARS reveals that NCHARS only gets called with argument N, his answer.'
'
Looking back to the previous page, the code is':'
'
1660':		127	70		FVARX FILE'
1662':		245			TJUMP->1671'
1663':		127	64		FVARX FILE'
1665':		11	7	40	FN1 READC'
1670':		277			POP'
1671':		127	66		FVARX KEYLST'
1673':		1			CAR'
'
with byte 1670 the start of a page.'
'
Anyway, that''s as far as I''ve poked.  A wild jump to byte 2670 would be interpreted as RPLPTR.N 11, NTYPX, T;  a wild jump to byte 2672 or 2673 would also catch a tail of that bogus instruction interpretation, and the second arg to IGREATERP was indeed always T, though the first varied (always a small integer, but one such value, 169, might have been a tad large to be a valid value of NTYPX, though conceivably they do go that high in Loops).'
'
	Bill'
'


Workaround: 

Test Case: 

Edit-By: 

Edit-Date: