delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2019/02/17/09:57:05

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


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019