Making Cygwin More Tolerant of Orphaned SIDs?

Bryan Berns bryan.berns@gmail.com
Tue Apr 14 11:24:00 GMT 2015


On Tue, Apr 14, 2015 at 4:00 AM, Corinna Vinschen
>
> The problem is that Cygwin, or any other tool trying to resolve SIDs
> doesn't know a SID won't resolve before it tried.  And then it's an
> OS function which takes its time.  It's like checking for network
> machines providing shares.  Sometimes this test takes ages, but in
> this case, fortunately, you see that it takes ages in Explorer as
> well.
>
> As for ACLs, you can alleviate the problem somewhat by running cygserver
> on the machine, which allows to cache SIDs for all processes.  So only
> the first process trying the SID will take time, followup processes will
> get the cached results from cygserver.
>
> Other than that, except for ignoring ACLs entirely (noacl) I have
> no idea how to solve this problem differently.

Yes, I understand there's nothing Cygwin can do beforehand -- that
means sense.  I guess what I'm saying is that Cygwin doesn't appear to
be caching SIDs in certain scenarios.

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?  If not and it's something you're willing to
take a look at, I can certainly come up with a little script to
demonstrate the issue.

--
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



More information about the Cygwin mailing list