Tcl Source Code

View Ticket
Login
Ticket UUID: 860402
Title: new unixFCmd-2.3 failure
Type: Bug Version: obsolete: 8.5a0
Submitter: dgp Created on: 2003-12-15 15:24:42
Subsystem: 37. File System Assigned To: vincentdarley
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2003-12-17 16:54:44
Resolution: Fixed Closed By: vincentdarley
    Closed on: 2003-12-17 09:54:44
Description:
This started failing today on Solaris 9:

==== unixFCmd-2.3 TclpCopyFile: src is block FAILED
==== Contents of test case:

    cleanup
    set null "/dev/null"
    while {[file type $null] != "characterSpecial"} {
        set null [file join [file dirname $null] [file
readlink $null]]
    }
    # file copy $null tf1

---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
---- errorInfo: could not read
"/dev/../devices/pseudo/mm@0:null": no such file or
directory
    while executing
"file type $null"
    ("uplevel" body line 1)
---- errorCode: POSIX ENOENT {no such file or directory}
==== unixFCmd-2.3 FAILED
User Comments: dgp added on 2003-12-17 02:58:42:
Logged In: YES 
user_id=80530

patch fixes Bug 860402.  Yay!

does not fix Bug 859251.  Guess
they're not duplicates after all.

vincentdarley added on 2003-12-17 01:52:41:

File Added - 70775: fsfix.diff

vincentdarley added on 2003-12-17 01:52:40:
Logged In: YES 
user_id=32170

Ok, I have a fix for this, and have added tests which (with
tclsetplatform) actually test the fix on Windows as well.

Please test the attached patch.

dgp added on 2003-12-17 01:27:25:
Logged In: YES 
user_id=80530

%     set null "/dev/null"
/dev/null
In an interactive tcltest shell:

% file type $null
link
%         set null [file join [file dirname $null] [file
readlink $null]]
/dev/../devices/pseudo/mm@0:null
% file type $null
could not read "/dev/../devices/pseudo/mm@0:null": no such
file or directory
% file type /dev/../devices/pseudo/mm@0:null
could not read "/dev/../devices/pseudo/mm@0:null": no such
file or directory
% file type /devices/pseudo/mm@0:null
characterSpecial
% cd /dev
% file type ../devices/pseudo/mm@0:null
could not read "../devices/pseudo/mm@0:null": no such file
or directory

So this appears to be some bug in
the interpretation of /../ in path names,
much like the failing fileSystem.test
tests.  (Bug 859251).  This may well be
a "Duplicate" report of the same bug.

vincentdarley added on 2003-12-16 17:36:28:
Logged In: YES 
user_id=32170

Can you tell me what 'file normalize /dev/null" gives?  And
does 'file type $null' give the same results in any tclsh85
shell, or only at this point in the test suite?

Attachments: