This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Issues with find in /proc


On Dec  1 06:31, Chris Sutcliffe wrote:
> Hi All,
> 
> I'm not sure if this is expected behaviour or not, but I've noticed
> the following:
> 
> csutclif@EUSH000065 /proc
> $ find .
> .
> ./loadavg
> ./meminfo
> ./registry
> find: `./registry': Bad file descriptor

This is a bug in Cygwin.  It misses to set a certain flag for the
/proc/registry{32,64} directory itself.

> ./4080/fd/5
> assertion "ent->fts_info == FTS_NSOK || state.type != 0" failed: file
> "/usr/src/findutils-4.5.4-1/src/findutils-4.5.4/find/ftsfind.c", line
> 475, function: consider_visiting
> Aborted (core dumped)

This one appears to be a bug in find.  It looks like it's using its own
version of the fts(3) functions.  AFAICS, what happens is that find uses
fstatat(fd = "/proc/$PID/fd", name="6") in the first place.  This
returns with ENOENT since the descriptor 6 disappeared in the meantime.
That should be fine for find, but for some reason the next what happens
is that it calls lstat("6").  The problem here is that the current
working directory is /proc, which does not contain a file called "6" and
that in turn results in the assertion.

Eric, could you have a look into that, please?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]