delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/03/21/14:16:55

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
MIME-Version: 1.0
Message-ID: <15514.12648.934526.894670@asv-058.sjc.ca.bbnow.net>
Date: Thu, 21 Mar 2002 11:15:52 -0800
From: Stephen Weeks <sweeks AT acm DOT org>
To: cygwin AT cygwin DOT com
Subject: Re: mmap of large amount returns invalid pointer
In-Reply-To: <20020319115739.U29574@cygbert.vinschen.de>
X-Mailer: VM 6.89 under 21.1 (patch 14) "Cuyahoga Valley" XEmacs Lucid

> Could you please describe what happens in the error case
> in plain English?  I see that there could be a timing problem in
> fork() but I'd like to read how the error looks like.

The process mmaps some memory, writes to the memory, and then forks.
After the fork, the parent unmaps the memory and exits, while the
child reads from the memory.  From looking at the strace, I see that
the Cygwin fork implementation allows the parent process to continue
before ensuring that the child has completed the memory copy.  In this
case, the parent unmaps the memory before the child can copy it.
Hence, we see the following line in the strace, which indicates the
failure in the child process (138).

 1813  914381 [main] fork 138 fixup_mmaps_after_fork: ReadProcessMemory failed for MAP_PRIVATE address 0x2A230000, Win32 error 998
c:\sweeks\tmp\fork.exe: *** recreate_mmaps_after_fork_failed

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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