From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) by sourceware.org (Postfix) with ESMTPS id 603953858400 for ; Tue, 26 Oct 2021 09:28:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 603953858400 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1Mpkwn-1n22Iy0cH7-00qDwy for ; Tue, 26 Oct 2021 11:28:29 +0200 Received: by calimero.vinschen.de (Postfix, from userid 500) id 8E448A80DAB; Tue, 26 Oct 2021 11:28:28 +0200 (CEST) Date: Tue, 26 Oct 2021 11:28:28 +0200 From: Corinna Vinschen To: cygwin-developers@cygwin.com Subject: Re: malloc crash Message-ID: Reply-To: cygwin-developers@cygwin.com Mail-Followup-To: cygwin-developers@cygwin.com References: <97873b16-7ec3-02d7-1861-3ec62a79c37e@cornell.edu> <4b322eb0-4941-6b8f-6f46-aa76caf5a66f@cornell.edu> <2819d0db-3c5c-2d31-2b21-91efafb7f8f4@maxrnd.com> <20211026091855.7aaf2de97d10174121cbc8f9@nifty.ne.jp> <20211026175229.1eda36caab1b03314a8cf165@nifty.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Provags-ID: V03:K1:dVqs55sHCJrRkoRO/iQzhfS3NYugcvQiw99lCO61HqI4GMY5J1G lK5W4pZfFqyPLypDlMhbZh+UgTK6IZ81ryAw3aoMFXrSKxDMWF4XR4p1NR0/zyDXpDT1dF6 HyJBR1YwT8ziI08dy5JcGFfKmvHQcRfQj8qXmytbXQQNOgcc/l6QKSAzP1V1ynPYKia/Vpv 9glsI+VU50Uc4HVNE/gBw== X-UI-Out-Filterresults: notjunk:1;V03:K0:bsWHWJAwY+M=:9sXBz0btqp35GvmdIms6rm mW2Vvw/oJnS9kSSmNIf3NJXa7og0MXhXGLUWOhsZyzeRrWAs6OLFKKs9ELj7jT27ylFo/hds1 uuxigXdc5BNT1WohIWrCfp7dLt8jCU0gKV3Sx5xVSpFicMQ1dlegLYMD6H4RC/fAr2mO+l1ZV O8sRTjjYB03qLZO4PeX7CmpHlKAHz0eU/an+ag/HTwv1MV8j/gtMJj0dTBImQ4Tfa9ur8C62k BCHKmZwuDgccmWrodphr0LijsUuVf9sS1qdewDWAVdbZNwsjQ5XBS0B1LRMbjqoorbNbPwnj8 8g2NDcznFWAet3CmLQ3MaWVs2viJ9fyaYWOelAc0Sx9XlmCjm/zeJa79rUJSLvftH8G2y75yx b+iTk4o5jBhTa9/YJsCgPOqxEk6Y3vEroGQcnBVK9SihhfpS1vgsIbW3Ks1kU2FMwOHbN3TMb iS4JFeeiYl8N/Z7Vshad982oFLeqPwB3qdmW+LoK+xfwsgFo+WkC8c1pwViiUPg97853XjKvS 24azDrcyo7KZ46QxfzZWZ1GMS4Kth6qygYCew2MQBIQnjvcnD8EBF1JGjQULWOV+JCbwraUr1 0HBSb0LMYvL0jbqV+whWcMgGswFy2RG/YypJBQwYfIVDIJI0DM1LzcxsHwq9RV4JgeAVtRv4D j/SHv8CkQMrROQLsmb74t7Dwrn0MqRFz1zYe/tFoWO/c1I38Cc3uoAtj5ToyEpMgdo4+/dF7D 1Uqz1sI5kiWzEnXJ X-Spam-Status: No, score=-105.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, GOOD_FROM_CORINNA_CYGWIN, JMQ_SPF_NEUTRAL, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Oct 2021 09:28:35 -0000 On Oct 26 01:59, Mark Geisert wrote: > Takashi Yano wrote: > > I tried the following patch, and confirmed that the issue has > > been disappeared. I do not notice any other problems so far > > with this patch. > > > > diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc > > index 6f4723bb0..0d541ec14 100644 > > --- a/winsup/cygwin/dcrt0.cc > > +++ b/winsup/cygwin/dcrt0.cc > > @@ -773,6 +773,10 @@ dll_crt0_0 () > > do_global_ctors (&__CTOR_LIST__, 1); > > ^^^^^^^^^^^^^^^ > > > cygthread::init (); > > + /* malloc_init() has been moved from dll_crt0_1() to here so that > > + malloc() can be called in fixup_after_exec(). */ > > + malloc_init (); > > + > > if (!child_proc_info) > > { > > setup_cygheap (); > > @@ -857,7 +861,7 @@ dll_crt0_1 (void *) > > on a functioning malloc and it's possible that the user's program may > > have overridden malloc. We only know about that at this stage, > > unfortunately. */ > > - malloc_init (); > > + /* malloc_init() has been moved to dll_crt0_0(). */ > > user_shared->initialize (); > > #ifdef CYGHEAP_DEBUG > > > > > > Where is the "constructor chain" you mentioned? > > See above. Try moving your new lines above the call to do_global_ctors(). > Also note the comment just above the original location of those lines.. > you're now ignoring what the comment warns about. So we need malloc_init_0 and malloc_init_1, right? :) Corinna