delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/03/11/07:03:19

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=bA/Xxn+HG0E0yTiAfIrQBWUVTl5RilFnsfweSD+Tfl9orF4rLxtm8
EsoUCUYMB13YR60Wtz7E8FHFDTNo7JxfndzgPaR3YBl76qSagKasrhhUkP6oRAuR
n8UwExQ3iXNNxIc7VGHsLChKU5/h2juo3oq8Bo7KLS/oAbPb9l7E3c=
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=sCjOVoNiXlUqsv06L5IheP1rOOU=; b=VIoguDCbPB+j5NMi7WO59o+qRkjy
Y78+QH+FzANCt68moV2i/sLlicbuY8Mww94TjgEaAIkCXQMsWq6EkeuP9/jvJgSv
hsPucl9AM32oEQkbdXnslj4ciOJO+PtcjwwPEivVgalvXoq6FuwZH+ih//ol/HWg
DUyux4C95dXjTrY=
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=-4.6 required=5.0 tests=AWL,BAYES_50 autolearn=ham version=3.3.2
X-HELO: calimero.vinschen.de
Date: Tue, 11 Mar 2014 12:02:56 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: 1.7.25, Windows 7: dumper doesn't generate core file
Message-ID: <20140311110256.GK28681@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <531E4C3A DOT 8000605 AT constrainttec DOT com>
MIME-Version: 1.0
In-Reply-To: <531E4C3A.8000605@constrainttec.com>
User-Agent: Mutt/1.5.21 (2010-09-15)

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

Hi Sam,

On Mar 11 10:35, Sam Liapis AT constrainttec DOT com wrote:
> As a disclaimer I'm new to Cygwin and memory mapping that's alluded
> to in this post.
>=20
> My brief was to investigate and resolve an issue with dumper not
> producing a core.
>=20
> With that I'll proceed with outlining the journey including my
> findings so far.
>=20
> I'll begin with the error message given by dumper when run in verbose mod=
e:
> (Note: I modified debug output to provide base address of excluded memory)
> [,..]
> Code analysis reveals a few shortcomings leading up to this failure.
> Firstly the process of
> identifying sections to exclude, includes sorting and checking that
> regions do not overlap.
> Upon closer inspection the function in question at
> ...winsup/utils/parse_pe.cc appears to
> have a couple of problems.
>=20
>     a) "if (q =3D=3D p + 1)" at line 60 always resolves true bypassing
> subsequent loop code.
>=20
>     b) The 'size' parameter at line 63 is a global instead of
> p->size. The test expression
>         should be if (p->base + p->size > q->base) in order to test
> for overlapping regions.

This looks very wrong indeed.

> [...]
> Even if sort_and_check () worked correctly it wouldn't prevent
> dumper failure it just raises an alert.
>=20
> Secondly when dumper builds a list of memory regions to dump into a
> core file it has no logic to cater
> for overlapping sections to exclude. Here in lies my first question
> regarding this issue:
>=20
>=20
> Question 1: SHOULD MEMORY REGIONS IDENTIFIED FOR EXCLUSION EVER OVERLAP?

I can't really answer this question safely, but AFAIK, the answer is
no.  The sections and memory layout in a pe/coff file are so that the
sections have unique VMAs, including debug sections.  An overlap of
sections should never occur, otherwise the Windows loader would have
refused to load the executable into memory anyway.  Unless I'm missing
something...

> Question 2: IS THE CODE MODIFICATION AN ACCEPTABLE SOLUTION TO THE PROBLE=
M?

Maybe, but first it would be helpful if somebody could explain why
sections should be able to overlap at all.  That's puzzeling me.

As for patches, did you see http://cygwin.com/contrib.html
For small, obvious patches, we don't need the copyright assignment.
Rule of thumb is < 10 lines.


Thanks,
Corinna

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

--QNDPHrPUIc00TOLW
Content-Type: application/pgp-signature

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

iQIcBAEBAgAGBQJTHu1gAAoJEPU2Bp2uRE+gCvsP/2M0+Yr6Uml3XH9my8dg8oH8
rGByeUBakspMGZmbHs94piw5nHphDdSJU7qMoNzl+RgDlBx2UZ84mWgIyeNki4DL
88Sy3pA91B06aqNzPYU2ci6cYtZ9BxCXw7kbij5LOEb0YXo7gQKuYLtN/uRbbA7/
/9+EcqG8wd8u1+srV4TGoCfqBbbFxq5pdTTnKPPB+oI1H0eaoC/3czMi6rIT87oo
EE7bSLpfBpnUO4Cda1ACfZcW7XMsrcrmm9mFEmaGDx3y+GREpJRavLTh9+i9rAil
e4NGcTt1j+ZBiO/YRsaB0+qwTmox9to+hhvUaGKaq2gDvgyCig1xWM8KhmoVIram
g5H1039ygXDdbIHzgGwd9JqjFY1j58vqBHZQsqJh1T3LJavCBcBjo/le979HDDm3
jC0GxgJ82jpWhNRxgswZBzQ1BxqMZvwK1w/NydbcpH5hygAOzqxnV5ufguGNoqoV
LMpQqLmgypTR1999dRDo/dEk+xRxFRIKj11OhutE/snBfbb1V+Mvp6qV8ENTSZ8U
/FI1Cw40YRTpeJfYNtLSU41VjvIHkj/Y40PF1w4YnXTqS3HvGaCGLTY0/sTUv/Uc
InSTIr9OuGRSpdlPjwJyzYapyCVnjm6vd9y//pMApfQiroiFHAG+O44oZ5/cipsn
IYGMnehfJHzpdkzJP8J0
=5Y7Q
-----END PGP SIGNATURE-----

--QNDPHrPUIc00TOLW--

- Raw text -


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