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: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.4.0-0.4


2015-11-29 21:14 GMT+01:00 Corinna Vinschen <corinna-cygwin@cygwin.com>:
> On Nov 29 18:10, Corinna Vinschen wrote:
>> On Nov 29 15:10, Kacper Michajlow wrote:
>> > 2015-11-29 13:59 GMT+01:00 Corinna Vinschen <corinna-cygwin@cygwin.com>:
>> > > Status 0xC0000078 aka Win32 error 1337 means "invalid SID".  And the
>> > > SID 1-5-32-1001 is in fact invalid.  The S-1-5-32 prefix denotes a builtin
>> > > account, but the RID 1001 is invalid for a builtin group.  1001 is the
>> > > RID of your user account, though, but that would be prefixed by the SID
>> > > of your machine, which looks like S-1-5-21-XXXXXXXX-YYYYYYYY-ZZZZZZZZ.
>> > > I don't see how this broken SID came into life, unless your /etc/passwd
>> > > and/or /etc/group files are broken (hand edited perhaps?).
>> >
>> > I guess I only changed shell to zsh in /etc/passwd, but no other
>> > changes were made. So I have no idea how they could get corrupted
>> > either.
>>
>> They aren't.  There is no 1-5-32-1001 SID in those files and both files
>> look entirely insuspicious.  Given that Cygwin doesn't create any such
>> SID from scratch, I'm totally puzzled where this SID is coming from.
>> Your mkdir trace output doesn't show this SID anywhere else either.
>> This definitely requires more debugging...
>
> I think I found it.  The problem was the handling of Microsoft Accounts
> on machines still using passwd and group files.  And the additional
> group entry for the user with a gid different from the user's uid was
> required to uncover this problem.  This is fortunately a border case,
> but the fix seemed to be simple so I applied it and added a comment
> so as not to forget why we have to do that.
>
>> > Works.
>>
>> Ok, that's good to know.  Now I just have to find out where this
>> weird SID was created :-P
>
> That fall into place after I realized what was happening.  The gid
> 1001 didn't exist in /etc/group so Cygwin calls the function to
> evaluate a SID from a computed UID/GID, and this in turn generated
> the invalid 1-5-32-1001 SID.  WHile writing this I realized that
> I should harden this part of the code to accept only RIDs < 1000...
>
>> > I personally am fine with abandoning /etc/passwd and /etc/group. This
>> > is good enough solution for me. Though there might be other people
>> > with the same issue.
>>
>> This seems to be a bug in Cygwin, and with the content of your files I
>> finally managed to reproduce the issue.  I'm planning to debug this next
>> week and, hopefully, come up with a patch.  It would be nice if you
>> could do another test then in your environment :}
>
> I just uploaded new developer snapshots to https://cygwin.com/snapshots/
> and a new test release 2.4.0-0.6 with the aforementioned patch.  Please
> give any of them a try.

I can confirm that the issue is fixed in 2.4.0-0.6. Thanks for great support!

-Kacper

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