Number: 996

Date:  7-May-84  8':33':54

Submitter: vanMelle

Source: vanMelle

Subject: COPYFILE to {FLOPPY} with null name damages floppy

Lisp Version: 

Description: '
This is three probably related bugs.  Date of FLOPPY in this sysout  = 20-Mar-84.'
'
I wanted to write a file on a floppy that already had a few small files on it.  Carelessly I said (COPYFILE filename ''{FLOPPY}).  This broke in an ARG NOT LIST - NIL error in LISTPUT in FLOPPY.DIR.PUT.  I puzzled over that a bit before noticing that I had failed to give the floppy file a name body. '
'
That''s bug #1': OPENFILE({FLOPPY} OUTPUT) gives random error in LISTPUT instead of BAD FILE NAME error.'
'
So I ↑''ed out of the break and called COPYFILE giving a reasonable destination {FLOPPY}filename, and the COPYFILE proceeded without incident.  I removed the floppy.'
'
At a later time (but in the same sysout), I reinserted the floppy and performed a DIR {FLOPPY}.  This gave me a HARD DISK ERROR, with a complaint that the floppy needed scavenging.'
'
So bug #2': Bug#1 apparently did something bad to the floppy.'
'
In an attempt to recover something, I ran (FLOPPY.SCAVENGE).  This broke with the same ARG NOT LIST - NIL error in LISTPUT.'
'
So bug #3': FLOPPY.SCAVENGE doesn''t handle this case.

Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 17-Aug-84 11':27':19

Attn: 

Assigned To: roach

In/By: Harmony

Disposition: [kbr': The reason you are getting screwed is because (UNPACKFILENAME NIL) returns NIL instead of (NAME NIL).  There are a number of other cases where UNPACKFILENAME/PACKFILENAME get you into trouble too.  Apparently, {PHYLUM}, {CORE}, & {PHYLEX':} accept filename NIL, but do different things.  I can (cough cough) try to catch all the atoms that UNPACKFILENAME does wrong.  Fixing the scavenger to be more robust is a somewhat harder task.]'
[DATE': 22-JUL-84 ROACH The problem "COPYFILE to {FLOPPY} with null name damages floppy" is fixed.  Gripes about the scavenger can be considered to be subsumed by AR 1028.  STATUS ← FIXED]

System: Operating System

Subsystem: DLion Floppy

Machine: 1108

Disk: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Difficulty: Hard

Frequency: Once

Impact: Fatal

Priority: Perhaps

Status: Closed

Problem Type: Bug

Source Files: