Number: 1111

Date: 18-May-84 11':01':37

Submitter: LE.PASA

Source:  Judy Dering

Subject: odd state when A loads B and A and B are on different floppies

Assigned To: 

Attn: Masinter

Status: Open

In/By: 

Problem Type: Bug

Impact: Annoying

Difficulty: Hard

Frequency: Everytime

Priority: Perhaps

System: Programming Environment

Subsystem: File Package

Machine: 1108

Disk: 

Lisp Version: Fugue.6 (April 9 sys

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: 

Description: '
'
[lmm 7Jun84': '
'
Subject': AR#1111, Loading Sysedit and exports.all from floppies'
To': le.pasa, dering.pasa'
cc': 1100Support'
'
This problem is not about Language/Stack&Interpreter, but rather (I guess) Programming Environment/File package, and possibly points to a separate bug...'
'
The problem will occur if file A loads file B, and A and B are on different floppies. You insert floppy#1, and load A. It wants B, and it breaks with FILE NOT FOUND. Then you insert Floppy#2, load B and try to return from the FILESLOAD. It then will break, because it wants to continue loading A but A was on Floppy#1.'
'
Fixing this is Hard. '
]'
'
User was trying to load Sysedit from Floppy #1, with Exports.all on Floppy #2.'
She typed LOAD(SYSEDIT) with floppy #1 in the drive.  As expected, FILESLOAD broke with "EXPORTS.ALL - file not found".  She loaded floppy #2 and typed LOAD(EXPORTS.ALL).  EXPORTS.ALL began loading.  Just as loading should have completed, another break happened with "SYSEDIT - file not found".  Someone was attempting to (INPUT ''SYSEDIT)!  The stack follows.  (Workaround is to make sure both files are on the same floppy or to put exports.all on {dsk}.'
'
-----'
'
Date':  7 Jun 84 16':46':40 PDT (Thursday)'
From': Masinter.PA'
Subject': any ideas on how to fix this'
To': LispCore↑'
'
This was AR#1111. The problem will occur if file A loads file B, and A and B are on different floppies. You insert floppy#1, and load A. It wants B, and it breaks with FILE NOT FOUND. Then you insert Floppy#2, load B and try to return from the FILESLOAD. It then will break, because it wants to continue loading A but A was on Floppy#1.'
'
I don''t know what the system *should* do.... ask you "Please insert Floppy#n?" rather than a FILE NOT FOUND when you say LOAD({FLOPPY}FOO) and FOO is not on the floppy you have? ("Please insert floppy with "FOO" on it?")...'
'
I don''t think we''ve worried about Frequently Removed Media before.'
'
Do PC''s have this problem?'
'
-----'
'
Date':  7 Jun 84 17':02':15 PDT (Thursday)'
From': Lichtenberg.WBST'
Subject': Re': any ideas on how to fix this'
In-reply-to': Masinter.PA''s message of 7 Jun 84 16':46':40 PDT (Thursday)'
To': Masinter.PA'
cc': LispCore↑.PA'
Reply-To': Lichtenberg.WBST'
'
PCs don''t have the problem, because they most frequently have more than one drive.  (and they are very aware of the "frequently removed media" problem that you mentioned).  I suppose something could be done with the name of the floppy (making this some part of the file name?), and having the floppy error routine recover by asking for the correct floppy.'
'
This still does not cover the problem with two open files on separate floppies (something PC people haven''t figured out either).  What happens when you open a floppy for output, write to it, switch floppies, and close the file?'
'
/Mitch.'
'
-----'
'
Date':  8 Jun 84 14':50 PDT'
From': Sybalsky.pa'
Subject': Re': any ideas on how to fix this'
In-reply-to': Masinter.PA''s message of 7 Jun 84 16':46':40 PDT (Thursday)'
To': Masinter.PA'
cc': LispCore↑.PA'
'
It occurs to me that an open floppy file might want to know the s/n of the disk(s) the file resides on, so it can check and ask intelligently.'
'
-----'
'
Date': Mon, 11 Jun 84 18':21 PDT'
From': Raim.pasa'
Subject': Re': any ideas on how to fix this'
In-reply-to': "Masinter.PA''s message of 7 Jun 84 16':46':40 PDT (Thursday)"'
To': Masinter.PA'
cc': LispCore↑.PA'
'
Larry,'
'
This problem plagues standalone 1108 users who must shuffle LispLibrary and LispUsers floppies in order to, say, (LOAD ''BROWSER.DCOM).  '
'
We are trying to minimize the problem by structuring Carol floppies so that most packages can be loaded without changing floppies (functional rather than alphabetic grouping.)  A hardcopy package directory points users to the right floppy for a particular package.'
'
The recommended procedure is to LOAD(FOO.DCOM).  If file-not-found arises, note the name of the missing file(s) and RETFROM(FILESLOAD).  After FOO has been loaded, load the missing files.'
'
--Marty'
'


Workaround: 

Test Case: 

Edit-By: vanMelle

Edit-Date: 27-Jul-84 11':08':30