delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/09/02/04:32:43

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=DA8VP7fErEQk+fiXM5S61g4WIpmQbfN3RvBWY1jWTvVopho3Ya6Ta
SIAE2wYL0w8SZZjqMIzOsPozG8/LxgQLgv5E51PSFFwv+JEEeQN/82zZLEkgTqfe
VxEmK9pKVXJBlzaEaHM711ce2E9TUSBWwScMJ8bFh/EL4UVgcDoseY=
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=wAX7QR3vTPG1Ylwzm/whqvYXB/E=; b=WDjd4IAjowUdSqJArNyTJUD1SS3z
CidhPED+kSHVMjPktZ77PmwO4VMSP8z0Y49ZZvBgK86thpVEV+JjU88b6q7hNJbt
sEBIVvKRt4kqF/gUWUjzoBbNZQsiYkcAbLOo8OyZmIn1FZ6h8JK5zeMsoK5N3kes
gQkm6YrF4VEVVuU=
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: Tue, 2 Sep 2014 10:30:29 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: [BUG] Nasty bug persists on x86-64
Message-ID: <20140902083029.GL2644@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <007601cfc5ef$09e5bb60$1db13220$%fedin AT samsung DOT com> <20140901152634 DOT GA18880 AT calimero DOT vinschen DOT de> <002d01cfc67c$637d8ad0$2a78a070$%fedin AT samsung DOT com>
MIME-Version: 1.0
In-Reply-To: <002d01cfc67c$637d8ad0$2a78a070$%fedin@samsung.com>
User-Agent: Mutt/1.5.23 (2014-03-12)

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

On Sep  2 11:06, Pavel Fedin wrote:
>  Hello Corinna!
>=20
> > Try `bt' at this point.  Maybe the backtrace shows something of
> > interest.
>=20
>  You haven't read the message completely. 'bt' cannot help since
>  there's no debug information for ntdll and gdb is unable to unwind
>  the stack correctly.
>=20
> > Apart from that, try the latest snapshot from
> > https://cygwin.com/snapshots/  I converted the internal exception
> > handling avoiding crashes from system functions to SEH.  Perhaps the
> > above doesn't show up with it.
>=20
>  I have installed the snapshot, and looks like it's now stable.
>  However, this exception actually persists. I can tell you some more
>  details. The actual malfunction happens when this exception fires
>  twice in a row. I managed to catch this with strace a couple of
>  times, but didn't save logs unfortunately.
>  I want to try to bisect for the origin of this crash. Currently i
>  know that it happens before main(). But is main() a real entry point
>  ? I believe it's not. Can you tell me what is the real binary's entry
>  point in Cygwin ?

There are three entry points:

- init.cc, function dll_entry(), is called when the Cygwin DLL gets
  initialized.  This in turn calls dll_crt0_0() in which the real
  action goes on.  This function runs to completion right before your
  exception, visible by the preceeding debug output
=20=20
    finished dll_crt0_0 initialization

- mainCRTStartup() in crt0.c, linked into the executable, is the "real"
  entry point.  From there it calls cygwin_crt0() in the statically
  linked part of libcygwin.a, which calls _dll_crt0() in dcrt0.cc.
  _dll_crt0 is now part of the DLL.  It performs some basic
  initialization and then calls (indirectly via _cygtls::call) the
  function dll_crt0_1 in dcrt0.cc.  This is where the second part of the
  real action starts.  From here it eventually calls the application's
  main entry point.

- DllMain in lib/dll_entry.c, using the DECLARE_CYGWIN_DLL macro from
  include/cygwin/cygwin_dll.h is the entry point for all cygwin-built
  DLLs.  Basically it calls cygwin_attach_dll in lib/cygwin_attach_dll.c,
  which calls dll_dllcrt0 in dll_init.cc, which calls dll_dllcrt0_1 in
  dll_init.cc.  This function initializes the datastructures for
  bookkeeping DLLs linked to or loaded by the application.

>  Yesterday in the evening i replied from home with some more
>  information, but my reply got lost again :(

Raw email address in your SIG again, perhaps?


Corinna

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

--l0l+eSofNeLXHSnY
Content-Type: application/pgp-signature

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

iQIcBAEBAgAGBQJUBYAlAAoJEPU2Bp2uRE+gIxEP/iHUKwyZwh4Pi48/n6EqpvKA
n1cCOYqGhkaOMGDarbDPKfjVfXD/cmp3uKdI4keh/42Do9m1eP1Es4IUImNvVKZ8
JaTp6trZJ5axqg3b2G/77B+34TIrzr+LyLtzBOrL48SPk2bpRUWCadAxy+jhWI8L
r/f0nuHowbNj4FHSWPy40pPMYY4+Wljk07czAB0NzEuMPnVkc4Ymvx4WKpDB4j8h
msqBgs8p/VFxkli1u9ccjwGTQ8/Y2pxGXNvskyfCpXzQvRnUmnYwlRrdTySRf9NW
ySKI7Mi8mRYhm7zpTKOiDGuqdWuf5u3uHOnGkg0H6A8sDCpmZ+3azMkLPinhOjPr
+xvugMpfz1JPWnbcqCAwMF2hIJKQK7n/C49EmJR0IMIfdzKhq6zuPdhvrlECacdm
yth6qfoQMcBtwXxNBHNC0LGz6UswJ8/j7W+pJg3LXSc9IKYWBXjdk32Bhe3BvYtu
opOhbRIFBVAWAbVlOQdxLSHaimcq6rLQfDGUqSBkw+d6rWrD79nn8VLkZWMOPGWj
11nkTcAcxi6MjD4u8rkw6jfSA0qN/946n+JRGTc5sL1B4YBRsepxk2yuYLZhdcGn
M9VQMPE2hKtwyvpgQH5rX7xHzguTfX6Rb2Dpz5LzVQEoZ84su1uHWdRDAwckfZfC
zGwLvqUkCV54KndkQ5UY
=dbK6
-----END PGP SIGNATURE-----

--l0l+eSofNeLXHSnY--

- Raw text -


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