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: List-Subscribe: List-Archive: List-Post: List-Help: , 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 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 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="l0l+eSofNeLXHSnY" Content-Disposition: inline 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--