Number: 2224

Date: 21-Sep-84 16':15':36

Submitter: Sannella.PA

Source: Sannella.PA

Subject: DF can load functions from wrong version of file

Assigned To: Masinter

Attn: Release

Status: Fixed

In/By: Harmony?

Problem Type: Bug

Impact: Serious

Difficulty: 

Frequency: 

Priority: Perhaps

System: Programming Environment

Subsystem: File Package

Machine: 1132

Disk: 

Lisp Version: 21-Sep-84 13':44':49

Source Files: 

Microcode Version: 5124

Memory Size: 4096

File Server: 

Server Software Version: 

Disposition: Fixed in EDIT'
["masinter" "21-Sep-84 16':37':11" Subject':]'
["Masinter" "24-Sep-84 13':20':20" Subject': Assigned% To': Attn': Status':(Open->Fixed) In/By': Disposition': Description':]

Description: '
mjs 9/21/84':  People seem to be complaining a lot recently about the file package.  Most of the problems are of the form':  the file package loaded a function from a different file than the one I expected.  It is hard to tell if this is a real bug or not --- experiments should be done.'
'
-----'
 '
Date': 15 Sep 84 00':07 PST'
From': Kaplan.pa'
Subject': FILEPKG glitch'
To': Lispsupport, Masinter'
cc': Kaplan.pa'
'
Starting out with Grapher loaded from <lispcore>library, I did LOADFROM Grapher from {Phylum}<Vanlehn>Lisp>.'
'
I then connected to <Lispcore>Dig> and did'
'
FINDCALLERS(FOO GRAPHER)'
'
I got a warning message that the grapher on ...library was newer than the one on Vanlehn, and then it commenced to search on the library version.'
'
It didn''t pay attention to the loadfrom, presumably found the library one by searching directories which included library but not Vanlehn.'
'
Is this a bug or a feature?   (At least it warned me; maybe it didn''t used to do that).'
'
--Ron'
'
-----'
'
Date': 15 Sep 84 00':10 PST'
From': Kaplan.pa'
Subject': More on FILEPKG glitch--a true bug this time'
To': Lispsupport, Masinter'
'
I then did EDITCALLERS(FOO <Vanlehn>Lisp>Grapher), i.e.,'
explicitly specifying the version I wanted.'
'
The editcallers said it was looking in the specified place, but then when it went to load the functions, it got them off of Library.'
'
This is bordering on a show stopper.'
'
--Ron'
'
-----'
'
'
(There is a different bug that JonL hit where RECOMPILE will take an EXPR property over what''s on the file even if they bear no relation. I think, even if RECOMPILEDEFAULT is CHANGES, that it makes sense to assume only that the real EXPRs bear any resemblance to what the user might wnat to compile.'
'
-----'
'
From': KAPLAN.pa'
Date': 16-Sep-84  9':24':48 PDT'
Subject': Re':  FILEPKG show stopper'
To': Masinter, Lispsupport'
'
Perhaps I picked the wrong symptom to illustrate the kinds of problems I''ve encountered--maybe the recompiling one has been there all along.  But still, I''ve been doing this sort of thing all along and never been burned before (at least to my knowledge).'
'
But I''ve also had problems making files.  Doing LOADFROM of a file that had been renamed from one directory to another, making edits, then trying to dump it while not being connected to the place I LOADFROMed it.  Think I''ve gotten messages like can''t dump cause can''t find previous version, or somesuch.  At least, I think this is the scenario, but maybe it''s some variation on this that screws you.'
'
But I know that I''ve never before been told that I couldn''t dump something after I had LOADFROM''ed it unless I had also deleted or moved the symbolics before trying to dump.'
'
--Ron'
'
Date': 20 Sep 84 10':52 PDT'
From': card.pa'
Subject': Lisp': DF loads function from wrong file'
To': LispSupport.pa,Masinter'
cc': card.pa,Kaplan'
'
Lisp System Date': 15-Sep-84 12':54':27'
Machine': Dandelion (25200046744)'
Microcode version': 24,4'
Memory size': 5777'
Frequency': Always'
Impact': Serious'
'
In certain circumstances it turns out to be very difficult to cause the correct symbolic version of a function to be loaded.'
'
I wanted to explore the latest version of grapher on {ERIS}<LISPCORE>LIBRARY>.  I used Masterscope to analyze this version.  When I attempted to examine one function with DF, it gave me a lightly infuriating message that the version I wanted wasn''t the current version and so it was loading the function from <LISP>CURRENT>.  I tried to insist by loading GRAPHER.DCOM from the right place, thereby clobbering the older version in core.  This time when I tried to see the function using DF, it again said that the version I wanted wasn''t the current one (listing yet another version, different f rom the two in question) and proceeded again to load the wrong symbolic one.'
'
The only way I could find to insist was to load the symbolic version I wanted, save it on my own directory, and compile it myself.  40 min to examine a simple 10-line function.'


Workaround: 

Test Case: 

Edit-By: Masinter

Edit-Date: 24-Sep-84 13':20':21