bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rm: cannot remove directory `coreutils-7.3/lib': Directory not empty


From: Jim Meyering
Subject: Re: rm: cannot remove directory `coreutils-7.3/lib': Directory not empty
Date: Thu, 07 May 2009 08:02:24 +0200

l l wrote:
> Thanks for the tip.
>
> bash-4.0$ find coreutils-7.3/lib/
> coreutils-7.3/lib/
> bash-4.0$
>
> here is the result:

This strace output is consistent with what you've been reporting:
[though the two consecutive "close(4) = 0" lines are odd.
 Did you edit the output? ]

> execve("/bin/rm", ["rm", "-rf", "coreutils-7.3"], [/* 34 vars */]) = 0
...
> openat(3, "lib", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW) = 4
> getdents64(4, /* 2 entries */, 4096)    = 48
> getdents64(4, /* 0 entries */, 4096)    = 0
> fcntl(4, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
> openat(4, "..", O_RDONLY)               = 3
> close(4)                                = 0
>
> close(4)                                = 0
> fstat(3, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
> unlinkat(3, "lib", AT_REMOVEDIR)        = -1 ENOTEMPTY (Directory not empty)

rm found lib/ to be empty, yet an attempt to unlink it failed with ENOTEMPTY.

So maybe something created a file in lib/ between the getdents64
and unlinkat calls.

If you have root access, try running lsof (look up options)
to see if any files under your coreutils-7.3/lib directory are open.

And I should have asked before: what distro, kernel and libc versions
are you using?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]