X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; q=dns; s=default; b=Ha 6Qr90lFRGNIrbShXnH3/Z8O/ReaHIai5hE9cc3jFjxbUdCoyp6lpvg/+GnucxzsU FOOfwgCcWMHGyr4n2XkYnbHKUWCQBQOOyyEq/ET5+MMdlFpNpqZPbN610W4S39OR 5CdlIRuV/DU3zfl2FO6+tSsUKfLPyIMW/uXcLa9YQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; s=default; bh=KyrfT+b6 GxrdJzCCRO9JZklQu48=; b=F+lxhg9yB5qloxjSRDeNUUK4jN5fyQdNMj1uLAUF Id5fjJtwMhl+v1oau/OWgeYgvgQimxa7rjnFFXDxm30hfsgFBl/BfbRPtVUPl+Kk uLp4S3vTklUDaPVc6NS8b1qWQD8qVoAyp+CT8YPKko7QdmsibgWCS/w3id5DHICp 6f8= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.5 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-vk0-f45.google.com MIME-Version: 1.0 X-Received: by 10.31.147.136 with SMTP id v130mr8403360vkd.72.1449713285483; Wed, 09 Dec 2015 18:08:05 -0800 (PST) In-Reply-To: References: Date: Thu, 10 Dec 2015 10:08:05 +0800 Message-ID: Subject: Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.4.0-0.9 From: kuaf To: cygwin Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes Hi, I came across 'child_info_fork' issues when trying install ruby 'tmuxinator' gem. Rebaseall seemed not solve this problem. I installed ruby 2.2.3 following the link https://gist.github.com/DQNEO/67442bbe0c60f3220595. Then, issue the command `gem install tmuxinator`, got the errors below: 1240 [main] ruby 4032 child_info_fork::abort: 1 [main] ruby 3032 child_info_fork::abort: unable to remap cygssl-1.0.0.dll to same address as parent (0x690000) - try running rebaseaFetching: thor-0.19.1.gem (100%)Successfully installed erubis-2.7.0rbenv: error in gem-rehash (Errno::EAGAIN: Resource temporarily unavailable - rbenv) 2 [main] ruby 3644 child_info_fork::abort: C:\cygwin\bin\cygssp-0.dll: Loaded to different address: parent(0x2D0000) != child(0x260000 270 [main] ruby 3752 child_info_fork::abort: C:\cygwin\bin\cygssp-0.dll: Loaded to different address: parent(0x2D0000) != child(0x3D0000 62 [main] ruby 1104 child_info_fork::abort: C:\cygwin\bin\cygssp-0.dll: Loaded to different address: parent(0x2D0000) != child(0x260000 66 [main] ruby 1848 child_info_fork::abort: address space needed by 'cygz.dll' (0x3E0000) is already occupied 1 [main] ruby 2636 child_info_fork::abort: C:\cygwin\bin\cygssp-0.dll: Loaded to different address: parent(0x2D0000) != child(0x260000 287 [main] ruby 4088 child_info_fork::abort: address space needed by 'cygz.dll' (0x3E0000) is already occupied 227 [main] ruby 324 child_info_fork::abort: address space needed by 'fcntl.so' (0x710000) is already occupied 65 [main] ruby 3580 child_info_fork::abort: address space needed by 'cygz.dll' (0x3E0000) is already occupied 253 [main] ruby 3648 child_info_fork::abort: address space needed by 'fcntl.so' (0x710000) is already occupied 86 [main] ruby 3908 child_info_fork::abort: C:\cygwin\bin\cygssp-0.dll: Loaded to different address: parent(0x2D0000) != child(0x3D0000 484 [main] ruby 2236 child_info_fork::abort: address space needed by 'fcntl.so' (0x710000) is already occupied 18 [main] ruby 3684 child_info_fork::abort: address space needed by 'cygssl-1.0.0.dll' (0x690000) is already occupied 415 [main] ruby 2328 child_info_fork::abort: C:\cygwin\bin\cygssp-0.dll: Loaded to different address: parent(0x2D0000) != child(0x260000 3 [main] ruby 2324 child_info_fork::abort: C:\cygwin\bin\cygssp-0.dll: Loaded to different address: parent(0x2D0000) != child(0x260000 5 [main] ruby 2932 child_info_fork::abort: unable to remap fcntl.so to same address as parent (0x710000) - try running rebaseall 437 [main] ruby 1580 child_info_fork::abort: address space needed by 'cygz.dll' (0x3E0000) is already occupied 368 [main] ruby 1656 child_info_fork::abort: address space needed by 'cygz.dll' (0x3E0000) is already occupied 61 [main] ruby 956 child_info_fork::abort: address space needed by 'cygssl-1.0.0.dll' (0x690000) is already occupied 59 [main] ruby 1356 child_info_fork::abort: address space needed by 'cygz.dll' (0x3E0000) is already occupiedFetching: erubis-2.7.0.gem (100%)$ gem install tmuxinator 2015-12-07 23:55 GMT+08:00 Corinna Vinschen : > Hi Cygwin friends and users, > > > I released TEST version 2.4.0-0.9 of Cygwin. > > - This version patches the Windows 10 1511 workaround added to > 2.4.0-0.7. Cygwin now always uses a self-created main thread stack > in a memory area with very low probability of collision with the OS. > The fix addresses the problem reported in > https://cygwin.com/ml/cygwin/2015-12/msg00077.html > > > ====================================================================== > > Due to the imminent holiday schedule, I postponed the official release > of Cygwin 2.4.0 to early 2016. > > Testing is still highly appreciated... > > ====================================================================== > > > This is the "new POSIX ACL handling reloaded" release. > > In local testing I successfully integrated AuthZ into the current Cygwin > code to generate more correct user permissions by being able to generate > effective permissions for arbitrary users. > > This success convinced me that it might be possible to pick up the POSIX > permission rewrite originally targeted for the 2.0.0 release and try to > update it using AuthZ and generally revamp it to reflect effective > permissions better. > > My local testing looks good, but this is a major change, so this code > really needs a lot more testing in various scenarios. Especially > some Windows ACLs created in corporate environments are often a hard > nut to crack, and the example from > > https://cygwin.com/ml/cygwin/2015-04/msg00513.html > > which was the ultimate downfall of the original implementation is > the stuff which needs some good testing. > > There's, as usual, a downside: AuthZ leans a bit to the slow side. > Cygwin caches information already gathered once on a per-process basis, > but in locally crafted worst case scenarios (`ls' on lots of file owned > by lots of different users and groups) the slowdown may be up to 25%. > But that's really just a worst case, in the usual scenarios the slowdown > should be mostly unnoticable. > > To alleviate the problem, the AuthZ code is fortunately only called for > non-Cygwin ACLs and Cygwin ACLs created before this release. Within a > pure Cygwin environment (e.g., some build directory only used with > Cygwin tools) AuthZ should be practically unused. > > Apart from the aforementioned code changes to "just do it right", there > are two additional changes I implemented for this new POSIX ACL revamp > release: > > - I reverted the questionable change I added to 2.0.0-0.7 in terms of > chmod group permission handling. The original description of this > change was: > > If you have a non-trivial ACL with secondary accounts and thus a > mask value, chmod is supposed to change only the mask, not the > permissions of the primary group. However, if the primary group has > few permissions to begin with, the result is really surprising. ls > -l would, e.g., show read/write perms for the group, but the group > might still have only read perms. > > Personally I find this chmod behaviour really, really bad, so I took > the liberty to change it in a way which gives a much less surprising > result: If you call chmod on a non-trivial ACL, the group > permissions will be used for the primary group and the mask. > > - setfacl(1) now accepts the combination of the -b and -k options, just as > on Linux. > > As for the description what this implementation strives for, please see > http://linux.die.net/man/5/acl > > ============================================================================ > > What's new: > ----------- > > - New, unified implementation of POSIX permission and ACL handling. The > new ACLs now store the POSIX ACL MASK/CLASS_OBJ permission mask, and > they allow to inherit the S_ISGID bit. ACL inheritance now really > works as desired, in a limited, but theoretically equivalent fashion > even for non-Cygwin processes. > > To accommodate standard Windows ACLs, the POSIX permissions of the > owner and all other users in the ACL are computed using the Windows > AuthZ API. This may slow down the computation of POSIX permissions > noticably in some circumstances, but is generally more correct. The > new code also ignores SYSTEM and Administrators group permissions when > computing the MASK/CLASS_OBJ permission mask on old ACLs, and it > doesn't deny access to SYSTEM and Administrators group based on the > value of MASK/CLASS_OBJ when creating the new ACLs. > > The new code now handles the S_ISGID bit on directories as on Linux: > Setting S_ISGID on a directory causes new files and subdirs created > within to inherit its group, rather than the primary group of the user > who created the file. This only works for files and directories > created by Cygwin processes. > > - New API: rpmatch. > > > What changed: > ------------- > > - setfacl(1) now allows to use the -b and -k option combined to allow reducing > an ACL to only reflect standard POSIX permissions. > > - Fix (numeric and monetary) decimal point and thousands separator in > fa_IR and ps_AF locales to be aligned with Linux. > > > Bug Fixes > --------- > > - Not a bug fix as such, but a workaround for new behaviour in Windows 10 > version 1511 64 bit. This version introduces a problem which existed in > a similar variation (just vice versa) in XP and Server 2003 64 bit as well. > An unexpected stack arrangement when starting a 64 bit Cygwin application > from a 32 bit application (e.g. 32 bit CMD.EXE) broke Cygwin's fork. > Addresses: https://cygwin.com/ml/cygwin/2015-12/msg00003.html > > - Replaced old, buggy strtold implementation with well-tested gdtoa version > from David M. Gay. > Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00205.html > > - Fix handling of relative paths in native symlinks if the target is in a > drive's root dir or one level below. > Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00277.html > > - Fix a SEGV when calling `kill -l 0'. > Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00430.html > > - Fix a race condition in signal handling. > Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00387.html > > ============================================================================ > > > Have fun, > Corinna > > -- > Corinna Vinschen Please, send mails regarding Cygwin to > Cygwin Maintainer 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 > -- 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