Number: 1823

Date: 10-Aug-84 18':40':05

Submitter: Sannella.PA

Source: Sannella.PA

Subject: (GETFILEINFO <file> ''SIZE) -> NIL if <file> is open

Assigned To: Sybalsky

Attn: release

Status: Fixed

In/By: 

Problem Type: Bug

Impact: Serious

Difficulty: 

Frequency: Everytime

Priority: Hopefully

System: Operating System

Subsystem: Generic File Operations

Machine: 1108

Disk: 

Lisp Version:  7-Aug-84 15':57':18

Source Files: 

Microcode Version: 5124

Memory Size: 3071

File Server: 

Server Software Version: 

Disposition: '
["Sannella.PA" "21-Aug-84 12':49':12" Attn': Status':(Closed->Open) In/By': Description':]'
["Kaplan" "23-Aug-84 22':47':28" Status':(Open->Fixed) Description':]'
["Sannella.PA" "28-Aug-84 12':51':35" Description':]'
["Sybalsky" "12-Sep-84 13':36':35" Attn':]

Description: '
This problem is reproducable w/ IFS files on ERIS, and local files.  NOT for coredevice files, through.'
'
-----'
'
<<earlier discussion from AR 1513': Printing breaks when GETFILEINFO returns NIL>>>'
'
Date': 25 Jun 84 18':00 PDT'
From': masinter.pa'
Subject': Lisp': non-numeric arg NIL under PRINTER.SRATCH.FILE'
To': LispSupport.pa'
cc': kaplan, vanMelle'
'
Lisp System Date': 19-Jun-84 14':48':49'
Machine': Dandelion (Purcell)'
Microcode version': 24,4'
Memory size': 17777'
Frequency': intermittent'
Impact': moderate'
'
Please mark as fixed': I changed PRINTER.SCRATCH.FILE so that it would work even when GETFILEINFO of the file to be printed returned NIL for the size.'
'
(I don''t know exactly WHY the GETFILEINFO returned NIL, since it doesn''t always. This should probably be another AR, frequency Once, subject GETFILEINFO(file SIZE) returned NIL when file was on a no-leaf IFS. I couldn''t reproduce it.)'
'
-----'
'
Date': 26 Jun 84 10':29 PDT'
From': vanMelle.pa'
Subject': Re': Lisp': non-numeric arg NIL under PRINTER.SRATCH.FILE'
In-reply-to': masinter.pa''s message of 25 Jun 84 18':00 PDT'
To': masinter.pa'
cc': LispSupport.pa, kaplan.pa, vanMelle.pa'
'
GETFILEINFO returns NIL for a file retrieved by PupFtp if the remote server did not include a LENGTH attribute in the plist it sends with the file.  I have not determined exactly under what circumstances an IFS fails to send LENGTH; the only cases I have examined closely involved files of length zero.  Alto Ftp also sometimes fails to send a LENGTH attribute (perhaps when the leader page hint is not correct).'
'
	Bill'
'
====='
'
Date': 14 Aug 84 14':21 PDT'
From': vanMelle.pa'
Subject': (SETFILEINFO & ''SIZE)'
To': Kaplan'
cc': vanMelle.pa, Sybalsky, Sannella'
'
I''m glad someone (apparently John) fixed (GETFILEINFO & ''SIZE) to work on open streams, but was there some pressing reason to make (SETFILEINFO & ''SIZE) do something?  It doesn''t strike me as a well-defined operation.'
'
	Bill'
'
-----'
'
Date': 14 Aug 84 15':18 PDT'
From': Kaplan.pa'
Subject': Re': (SETFILEINFO & ''SIZE)'
In-reply-to': vanMelle.pa''s message of 14 Aug 84 14':21 PDT'
To': vanMelle.pa'
cc': Sybalsky.pa, Sannella.pa'
'
I did it with John.  Seemed only fair to get the symmetry in SETFILEINFO, given that setting the length was already allowed.  I think it is exactly as well-defined as setting the length, no more no less.  '
'
--Ron'
'
(P.S.  The GETFILEINFO was done so that PRINTER.SCRATCH.FILE could make a reasonable choice for Text streams as well as more standard kinds of streams)'
'
'
-----'
'
From': Sannella 8/21/84'
Subject': AR 1823': (GETFILEINFO <file> ''SIZE) -> NIL if <file> is open'
To': Kaplan'
cc': Sannella.pa, Sybalsky, vanMelle'
'
I had marked this AR fixed, but now I have discovered that it isn''t fixed in all cases.  I have re-opened it.'
'
====='
'
34.  FIX'
     ←GETFILEINFO({DSK}AR.INDEX;1 SIZE)'
     687'
35.  ←(SETQ XX (OPENFILE (QUOTE '
{DSK}AR.INDEX;1) (QUOTE INPUT) (QUOTE OLD)))'
     {DSK}AR.INDEX;1'
36.  redo -2'
     ←GETFILEINFO({DSK}AR.INDEX;1 SIZE)'
     NIL'
37.  ←(GETFILEINFO XX (QUOTE SIZE))'
     NIL'
38.  ←(GETFILEINFO XX (QUOTE LENGTH))'
     351277'
39.  ←(CLOSEF XX)'
     {DSK}AR.INDEX;1'
40.  ←GETFILEINFO(INIT SIZE)'
     15'
41.  FIX 35'
     ←(SETQ XX (OPENFILE (QUOTE INIT) (QUOTE'
 INPUT) (QUOTE OLD)))'
(XX reset)'
     {ERIS}<SANNELLA>LISP>INIT.;11'
42.  redo 40'
     ←GETFILEINFO(INIT SIZE)'
     NIL'
43.  redo 37'
     ←(GETFILEINFO XX (QUOTE SIZE))'
     NIL'
44.  redo 38'
     ←(GETFILEINFO XX (QUOTE LENGTH))'
     7495'
45.  ←(CLOSEF XX)'
     {ERIS}<SANNELLA>LISP>INIT.;11'
'
'
--------'
'
Date': 23 Aug 84 22':47 PDT'
From': Kaplan.pa'
Subject': Re': AR 1823': (GETFILEINFO <file> ''SIZE) -> NIL if <file> is open'
In-reply-to': Sannella.pa''s message of 21 Aug 84 12':46 PDT'
To': Sannella.pa'
cc': Kaplan.pa, Sybalsky.pa, vanMelle.pa'
'
Well, I tried to fix this, and looking at the code and breaking everything, it seemed like it shouldn''t have been failing anyway.  Maybe bad compiled code?'
'
Anyway, I made a couple of improvements (not directly related to the bug), recompiled it, and it now seems to work.  I''ve marked this as fixed, barring any new reports of failure.  I''d suspect the compiler if it really seems to be failing again.'
'
--Ron'
'


Workaround: 

Test Case: 

Edit-By: Sybalsky

Edit-Date: 12-Sep-84 13':36':36