#2208 8 Test Failures in HEAD

obsolete: 8.4.1.1
closed-works-for-me
Vince Darley
8
2003-02-24
2003-02-22
Donal K. Fellows
No

Machine details:

$ uname -a
Linux cpipc 2.4.9-34 #1 Sat Jun 1 06:25:16 EDT 2002
i686 unknown

(Extracting from Tcl)

% parray tcl_platform
tcl_platform(byteOrder) = littleEndian
tcl_platform(machine) = i686
tcl_platform(os) = Linux
tcl_platform(osVersion) = 2.4.9-34
tcl_platform(platform) = unix
tcl_platform(user) = fellowsd
tcl_platform(wordSize) = 4

Omitting the test-case bodies...

==== fCmd-6.15 CopyRenameOneFile: TclpRenameFile
succeeds FAILED
---- Result was:
error renaming "td2" to "td1/td2": file busy
---- Result should have been (exact matching):
1
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== fCmd-6.15 FAILED

==== fCmd-6.16 CopyRenameOneFile: TclpCopyRenameOneFile
fails FAILED
---- Result was:
1 {error renaming "td2" to "td1/td2": file busy}
---- Result should have been (exact matching):
1 {error renaming "td2" to "td1/td2": file already exists}
==== fCmd-6.16 FAILED

==== fCmd-6.18 CopyRenameOneFile: errno != EXDEV FAILED
---- Result was:
1 {error renaming "td2" to "td1/td2": file busy}
---- Result should have been (exact matching):
1 {error renaming "td2" to "td1/td2": file already exists}
==== fCmd-6.18 FAILED

==== fCmd-9.8 file rename: comprehensive: dir to empty
dir FAILED
---- Result was:
error renaming "tds1" to "tdd1/tds1": file busy
---- Result should have been (exact matching):
{td1 td2 tdd1 tdd2 tdd3 tdd4} {1 {error renaming "td1"
to "td2/td1": file alread
y exists}} 1 1 0 0
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== fCmd-9.8 FAILED

==== fCmd-9.9 file rename: comprehensive: dir to
non-empty dir FAILED
---- Result was:
{tdd1 tdd2 tds1 tds2} {1 {error renaming "tds1" to
"tdd1/tds1": file busy}} {1 {
error renaming "tds2" to "tdd2/tds2": file busy}} 1 0
---- Result should have been (exact matching):
{tdd1 tdd2 tds1 tds2} {1 {error renaming "tds1" to
"tdd1/tds1": file already exi
sts}} {1 {error renaming "tds2" to "tdd2/tds2": file
already exists}} 1 0
==== fCmd-9.9 FAILED

==== fCmd-9.12 file rename: comprehensive: target
exists FAILED
---- Result was:
error renaming "td3" to "td4/td3": file busy
---- Result should have been (exact matching):
0 1 1 {error renaming "td1" to "td2/td1": file already
exists}
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== fCmd-9.12 FAILED

==== fCmd-9.13 file rename: comprehensive: can't
overwrite target FAILED
---- Result was:
1 {error renaming "td1" to "td2/td1": file busy}
---- Result should have been (exact matching):
1 {error renaming "td1" to "td2/td1": file already exists}
==== fCmd-9.13 FAILED

==== fCmd-18.8 TclFileRenameCmd: rename dir on top of
another empty dir w/ -forc
e FAILED
---- Result was:
error renaming "tfa" to "tfad/tfa": file busy
---- Result should have been (exact matching):
1
---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
==== fCmd-18.8 FAILED

Discussion

  • Vince Darley
    Vince Darley
    2003-02-23

    Logged In: YES
    user_id=32170

    When did these errors appear, do you know? I've never
    seen a 'file busy' error, and am not sure if this is a test
    suite problem or a Tcl-core problem.

    If this is urgent for 8.4.2, I'm out for the next 3 days, so
    won't be able to help much.

     
  • Jeffrey Hobbs
    Jeffrey Hobbs
    2003-02-23

    Logged In: YES
    user_id=72656

    I cannot repro these with a similar machine:
    Linux woset 2.4.10-64GB-SMP #1 SMP

    file busy sounds like it might be an nfs problem, which is not
    a critical issue in the tests (they aren't 100% robust). Can
    you retry with a completely localized fs test?

     
  • Jeffrey Hobbs
    Jeffrey Hobbs
    2003-02-23

    • status: open --> pending-works-for-me
     
    • priority: 9 --> 8
    • status: pending-works-for-me --> closed-works-for-me
     
  • Logged In: YES
    user_id=79902

    Hmm. Works for me too when I run 'make test' in an
    installation in /tmp. This makes me suspect that the
    problem is really (at least in part) those tests themselves
    being not quite robust enough...

     
  • Logged In: NO

    I am seeing this same bug 8 test failures in fCmd.test, on
    Linux over NFS, with tcl-8.4.3... when the source is
    built/tested in the /tmp dir there is no problem. I have a
    strace that shows the CopyRenameOneFile "rename" system call
    failing with EBUSY... the manpage says that rename may
    return EBUSY if the directory is in use:
    ===
    EBUSY The rename fails because oldpath or newpath
    is a
    directory that is in use by some process
    (perhaps
    as current working directory, or as root
    directory,
    or because it was open for reading) or is in
    use by
    the system (for example as mount point), while
    the
    system considers this an error. (Note that
    there
    is no requirement to return EBUSY in such
    cases -
    there is nothing wrong with doing the rename
    anyway
    - but it is allowed to return EBUSY if the
    system
    cannot otherwise handle such situations.)
    ===