delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/11/10/08:28:53

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:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=UyCiH+OMGHofs1rBWiNvB4JfWcukmK/RNyKVCTQ52MIPTMcHHJ8Y4
m+h2lwindaI+pnXDRAfrloLHQweFnnWtnCAH6gcVx5FviNZim2CL9+O/+GCmAHNF
PlCCfwuuoaCKmTzaBie/jNlqlWlPqzHphHqbMahKq30YNv4m4+UwU8=
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:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=QJ4kWvqsPEUQCVGEGd23nqCqWBY=; b=vLJNOfAy6qqaPulXAVMiQwYupvE7
b540TSu74PqLQgTUOjUrwpohyBTsxy/TWcY1LO8e1J7FrwbsuSSyt9mgD/CzoPDg
2wCMf5wDYqUpsxK4gP4jSt29ueALWzqCw4WUJG5wxRIe2GCfYzKwF4a3N/K6v58z
xRNIhh9AymPi26c=
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-Virus-Found: No
X-Spam-SWARE-Status: No, score=-5.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2
X-HELO: calimero.vinschen.de
Date: Mon, 10 Nov 2014 14:28:33 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.8
Message-ID: <20141110132833.GH2782@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <announce DOT 20141107091107 DOT GS28195 AT calimero DOT vinschen DOT de> <545D36C5 DOT 5060006 AT aol DOT com> <20141110111416 DOT GE2782 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
In-Reply-To: <20141110111416.GE2782@calimero.vinschen.de>
User-Agent: Mutt/1.5.23 (2014-03-12)

--9sSKoi6Rw660DLir
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Nov 10 12:14, Corinna Vinschen wrote:
> On Nov  7 16:16, Tim Prince wrote:
> >=20
> > On 11/7/2014 4:11 AM, Corinna Vinschen wrote:
> > >
> > > - GCC 4.9.2-1 DLLs accidentally call __cxa_atexit with the wrong DSO
> > >   handle value.  This Cygwin update allows this scenario throughout.
> > >   It now understands *any* DSO handle value, as long as it's a pointer
> > >   into the DSO's address space.
> > >   This fixes: https://cygwin.com/ml/cygwin/2014-11/msg00122.html
> > >
> > >   If you don't build applications or DLLs with Cygwin, you can safely
> > >   ignore this change.
> > >
> > >
> > > If you want to help testing this new release (which I seriously hope
> > > for), you can find it in your setup-x86.exe or setup-x86_64.exe as
> > > "test" release.
> > >
> > >
> > >
> > I take it from now on it should be OK to take the default for=20
> >=20
> > __cxa_atexit
> >=20
> > when configuring to build gcc.  Thanks for explanation.
> > I'm repeating some tests with 1.7.33-0.8 and gcc/gfortran 4.9.2-1
> >=20
> > no surprises, thanks (following segfault apparently unchanged, running =
with AV and Defender disabled, but failure not seen with gfortran 5.0):
> >=20
> > Program received signal SIGSEGV: Segmentation fault - invalid memory re=
ference.
> >=20
> > Backtrace for this error:
> > 1181925 [main] profile_omp 3684 fixup_mmaps_after_fork: ReadProcessMemo=
ry failed
> >  for MAP_PRIVATE address 0x6FE5FC60000, Win32 error 998
>=20
> This probably means that there's an mmap'ed memory region which Cygwin
> has in its bookkeeping list, but which doesn't exist in the parent
> process anymore.  The problem here is that it's totally unclear how
> something like this could have happened.
> [...]
> Does that happen under Cygwin 1.7.32 as well?  Can you create a simple
> testcase, preferredly in plain C, which allows to reproduce this?

The only reason I can think of would be the fork synchronization between
parent and child allowing the parent to unmap memory before the child
copied it.

However, I fail to reproduce this with default application means:

#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/mman.h>

int
main ()
{
  int status;
  void *addr;

  addr =3D mmap (NULL, 65536, PROT_READ | PROT_WRITE,
               MAP_ANONYMOUS | MAP_PRIVATE, -1, (size_t) 0);
  printf ("Address %p\n", addr);
  switch (fork ())
    {
    case 0:     // child
      printf ("child %p\n", addr);
      break;
    case -1:
      break;
    default:    // parent
      munmap (addr, 65536);
      wait (&status);
      break;
    }
  return 0;
}


Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--9sSKoi6Rw660DLir
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJUYL2BAAoJEPU2Bp2uRE+ga8wP/A0ucd1F8GjqN2cSGYzLayMc
VNvd2ZqameNta/YNWxRfrscvssYEepopT6E23O8Bkz4jAI9l9VdHGLP8Ot02IigE
X+JlCAM0t5+Q6SxqylWMu/UfjvUoXhrMZsAKER+7BehtyWMOe+U53YFkRfwWGM8c
ow7ElPSytejaOhwXWZhsfo+Js9jvSUj7sDVPiGzXImUZrhPsIJso+lUem7jew+mL
zbcVI6rHf4v9tL2dqbqadY1HPI1dG4JiZOggnU00fJbYCGqdkD4h+5I2rm/bi3wP
RhyWxU81gEVlpTWeIPvT1aYQP9N2AIJy0C8LLP0a2fenXfcWKmeTdCIrAXS7Egjs
Zq1xoUkUa5N5ffbdMwZOG/KIJHzT8n4AcvYYjRLbP7LB+Pi4PwYRa7+TWM/kldCc
Hkpq5P2Hjff7nGiWNi5RFujdk296HKis8JXLraaiB4LZ1sAKOPDfsSVtKQ0TOV4x
24l19DggXo8uPbn0YI9EzDOADIQTE9W9s8G4DEaTF7XjhSMUsljF2xGN8u1JInPD
5PthbFNYQIQrOdoXNCHfJoUfd2P3BdhQ4zvEI0zrXANkLfCgHuS/NVchJBuD9KRg
H4w26Zv2EcfkaK2y0t1rl9R/Im1LHd9bLvjcsRfsF/2rIKtDi0+HTpYA3ff1ad4J
DR9TkW00gl1MZQdwJFFu
=DCO6
-----END PGP SIGNATURE-----

--9sSKoi6Rw660DLir--

- Raw text -


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