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: Making Cygwin More Tolerant of Orphaned SIDs?

On Apr 14 21:23, Bryan Berns wrote:
> >> On Tue, Apr 14, 2015 at 10:53 AM, Corinna Vinschen
> >> > On Apr 14 07:24, Bryan Berns wrote:
> >> >> For example, I create a whole bunch of files (like 5000),  I use
> >> >> icacls to append a new ACE.  Then I do a 'time ls -l
> >> >> /cygdrive/c/somedir/*'.  Takes four seconds.  In the same Cygwin
> >> >> session, I remove the local group (net localgroup testgroup /delete).
> >> >>  I do the same 'time ls -l /cygdrive/c/somedir/*'.  Takes 20 seconds.
> >> >> Subsequent runs in the also take 20 seconds.  Since I'm able to
> >> >> continue to see the slowdown in the same session, cygserver wouldn't
> >> >> help right?
> >> >>
> >> >> Is the above expected?
> >> >
> >> > Yes.  Without cygserver, caching only works from parent to child process.
> >> > One run of ls can't cache data for a parallel run of ls in trhe same
> >> > session.  As, btw., explained in the documentation:
> [...]
> Finally tested with cygserver (temporarily with debug on so I can see
> what's going on).  I can definitely see the one entry returned when I
> run 'ls -l' over my whole collection of files while my test group
> (LocalGroupTest) is still present.  Sample log as follows:
> /home/corinna/src/cygwin/cygwin-2.0.0/prerelease/cygwin-2.0.0-0.4.i686/src/newlib-cygwin/winsup/cygserver/,
> line 167: Request account information returns
> <BERNS-TEST+LocalGroupTest:S-1-5-21-1187188735-1394039937-4283913392-1011:197619:>
> error 0
> If I delete the group while cygserver is running, the results continue
> to be speedy.   However, as soon as I delete the group and restart
> cygserver, things go south.  Performance is even worse than without
> cygserver and there are entries for EVERY file that 'ls' is hitting
> even though they all have the same group in the ACL so it appears the
> 'Unknown' users/groups are not being cached.  Sample log as follows
> (one of thousands of lines):
> Request account information returns
> <Unknown+User:*:4294967295:4294967295:U-Unknown\User,S-1-5-21-1187188735-1394039937-4283913392:/:/sbin/nologin>
> error 0
> Thoughts?

Not off the top of my head.  The mechanism doesn't check for the
content so it should cache the above line the same way as any other.
I'm puzzled about this behaviour myself.

That requires some debugging but I have other stuff on my plate atm
so it will take a while(*).  For the time being, use noacl mounts.


(*) Of course, I'd appreciate any other person debugging what happens
    in Cygwin and Cygserver a lot.  We can discuss questions on serious
    debugging efforts on the cygwin-developers mailing list.

Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgpkvWwAXkDyk.pgp
Description: PGP signature

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