| delorie.com/archives/browse.cgi | search |
| 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:from:to:subject:date:message-id:references | |
| :in-reply-to:content-type:content-id:content-transfer-encoding | |
| :mime-version; q=dns; s=default; b=RkQ39Cr0uc1he4BAz7sWaWR0vpNRW | |
| i21+IYXaKFxOkfy0lV4O47podQ7Ah+Vas3FwTycajqMNRxTcIRKg8SpP8rE1cv9i | |
| MBGwKs5pnQ3HcJL9vDXDvuVtbrT3jU7x/8xcwufByqVO1N+0StRSSqznvLno/vZp | |
| o+TY65VJdCNu+I= | |
| 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:from:to:subject:date:message-id:references | |
| :in-reply-to:content-type:content-id:content-transfer-encoding | |
| :mime-version; s=default; bh=UTrL4fw9JgIvlZmdnMMBsXFCo8Y=; b=gU/ | |
| JpwAO74dLl0ZlWkOyuavL9VcKswQsv9JOKpX+gvDHJ9oFL/+A6NtO8lbEvkgFQX2 | |
| U6jjXRSzjpGKsPSVGp2Rj6ZpI63G1eBmCDCOz2Xc5iS1lJ6V+d7bM8PT8gEntwLJ | |
| khlk5oV/XgmOIIyIWAwLp5EGnuXfM3KeWHHI4M04= | |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| 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-Spam-SWARE-Status: | No, score=-11.4 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_NUMSUBJECT,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=retry, tomorrow |
| X-HELO: | NAM02-SN1-obe.outbound.protection.outlook.com |
| DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=cornell.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qqy6V7Ah52KpWGz0tii5xEYXISj+FkQxMWYthJ4eEzM=; b=o91Rn49Ezns3hCMYHkFDL/bjzL17kFJre1lUHLFfVQWDw7+0nxHLV7mWFxNiaGUcTgjitYlaQWouHY1syP6RfSArM6dB7pYxGCjUREij+5U18xXb4HRB4NhrU+u3V7z02Hqxwhs5UXyuMIl0xOKq9ym9me7lMbLS8QBycY+Lq8Y= |
| From: | Ken Brown <kbrown AT cornell DOT edu> |
| To: | "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com> |
| Subject: | Re: fixup_mmaps_after_fork failure with cygwin-3.0.0 |
| Date: | Sun, 17 Feb 2019 14:56:49 +0000 |
| Message-ID: | <0587a444-6849-b35f-60b1-700282408f07@cornell.edu> |
| References: | <1d506605-a0af-12c2-6faf-ac74ab842182 AT cornell DOT edu> <20190217090820 DOT GI4256 AT calimero DOT vinschen DOT de> <20190217091308 DOT GK4256 AT calimero DOT vinschen DOT de> |
| In-Reply-To: | <20190217091308.GK4256@calimero.vinschen.de> |
| user-agent: | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 |
| authentication-results: | spf=none (sender IP is ) smtp.mailfrom=kbrown AT cornell DOT edu; |
| received-spf: | None (protection.outlook.com: cornell.edu does not designate permitted sender hosts) |
| x-ms-exchange-senderadcheck: | 1 |
| MIME-Version: | 1.0 |
| X-MS-Exchange-CrossTenant-mailboxtype: | HOSTED |
| X-IsSubscribed: | yes |
| X-MIME-Autoconverted: | from base64 to 8bit by delorie.com id x1HEv4Sn030633 |
On 2/17/2019 4:13 AM, Corinna Vinschen wrote:
> On Feb 17 10:08, Corinna Vinschen wrote:
>> On Feb 17 00:11, Ken Brown wrote:
>>> I'm getting a lot of errors like this when building emacs from its git repo:
>>>
>>> EMACSLOADPATH= '../src/emacs.exe' -batch --no-site-file --no-site-lisp --eval
>>> '(setq load-prefer-newer t)' -f batch-byte-compile ../../master/lisp/finder.el
>>> 1 [main] emacs 26848 fixup_mmaps_after_fork: VirtualProtectEx failed for
>>> MAP_PRIVATE address 0x6FFFFCD0000, Win32 error 5
>>> 190 [main] emacs 26848 C:\Users\kbrown\src\emacs\x86_64\src\emacs.exe: ***
>>> fatal error in forked process - recreate_mmaps_after_fork_failed
>>> 619 [main] emacs 26848 cygwin_exception::open_stackdumpfile: Dumping stack
>>> trace to emacs.exe.stackdump
>>> 1 [main] emacs 27052 fork: child -1 - forked process 26848 died
>>> unexpectedly, retry 0, exit code 0x100, errno 11
>>
>> Weird. I built at least gawk and openssh with 3.0 already and I
>> didn't notice this problem.
>>
>>> A bisection points to the following as the first bad commit:
>>>
>>> commit 69cc7a068656b5c6ef07ca079a213f801e02e650
>>> Author: Corinna Vinschen <corinna AT vinschen DOT de>
>>> Date: Sun Jan 27 13:15:15 2019 +0100
>>>
>>> Cygwin: fork: restrict parent handle perms and drop handle after use
>>>
>>>
>>> I'll try to do some debugging and/or provide further information tomorrow, but I
>>> thought I'd start with this preliminary report.
>>
>> That would be nice. It's not clear to me which permission is missing.
>> The first part of the patch has been reverted in 3.0.0, so
>> child_info_spawn::get_parent_handle opens the parent with
>> PROCESS_VM_READ again. The second patch has been reworked as well,m
>> the current perms are
>>
>> PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ | SYNCHRONIZE
>>
>> If I may place a bet, please try to replace
>> PROCESS_QUERY_LIMITED_INFORMATION with PROCESS_QUERY_INFORMATION
That didn't change anything. Just to make sure I understood correctly, here's
what I tried:
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -814,7 +814,7 @@ child_info::child_info (unsigned in_cb, child_info_types chtype,
allow the child to copy cygheap etc. from the parent to itself. If
we're forking, we also need handle duplicate access. */
parent = NULL;
- DWORD perms = PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ
+ DWORD perms = PROCESS_QUERY_INFORMATION | PROCESS_VM_READ
| SYNCHRONIZE;
if (type == _CH_FORK)
{
> On second thought, an even better candidate may be PROCESS_VM_OPERATION.
That's even worse. With that change, simply invoking 'make' leads to the same
error.
>> What OS is that? W7?
W10 1803 with WSL installed.
I'll keep looking at this, but let me know if you have further ideas. It would
be nice if I could come up with a simple test case, but at the moment all I have
is, "clone the emacs git repo and try to build".
Ken
--
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
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |