From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-02.nifty.com (conssluserg-02.nifty.com [210.131.2.81]) by sourceware.org (Postfix) with ESMTPS id 5C6CE384A02C for ; Wed, 3 Mar 2021 09:56:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5C6CE384A02C Received: from Express5800-S70 (y085178.dynamic.ppp.asahi-net.or.jp [118.243.85.178]) (authenticated) by conssluserg-02.nifty.com with ESMTP id 1239uJKK015866 for ; Wed, 3 Mar 2021 18:56:20 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-02.nifty.com 1239uJKK015866 X-Nifty-SrcIP: [118.243.85.178] Date: Wed, 3 Mar 2021 18:56:21 +0900 From: Takashi Yano To: cygwin@cygwin.com Subject: Re: segfault on 32bit cygwin snapshot Message-Id: <20210303185621.b048287526901af6a4c8200a@nifty.ne.jp> In-Reply-To: References: <9d7b9dc2-cb92-498b-7655-e9c618114c87@gmail.com> <20210221072954.db2dcbd523ed366e4dfcb0d0@nifty.ne.jp> <7480c946-8e02-aba2-c06f-6b39f630699f@gmail.com> <20210301095546.dce31a474bd0cec2c3518f87@nifty.ne.jp> <20210301212542.8b1749f92af62c01b008f25a@nifty.ne.jp> <20210302200308.62db4fe01f78fb35a538784f@nifty.ne.jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2021 09:56:39 -0000 Hi Corinna, On Tue, 2 Mar 2021 16:48:45 +0100 Corinna Vinschen wrote: > On Mar 2 20:03, Takashi Yano via Cygwin wrote: > > On Mon, 1 Mar 2021 21:25:42 +0900 > > Takashi Yano wrote: > > > On Mon, 1 Mar 2021 09:55:46 +0900 > > > Takashi Yano wrote: > > > > On Sun, 28 Feb 2021 19:48:28 +0100 > > > > Marco Atzeri wrote: > > > > > On 20.02.2021 23:29, Takashi Yano wrote: > > > > > > On Sat, 20 Feb 2021 22:01:38 +0100 > > > > > > Marco Atzeri wrote: > > > > > >> MC using latest snapshot 32bit 2021-02-19 (and 2021-02-10) > > > > > >> > > > > > >> now fails at startup with > > > > > >> > > > > > >> Exception: STATUS_ACCESS_VIOLATION at eip=61083736 > > > > > > > > > > > > Thanks for the report. I found the cause of this issue. > > > > > > I will submit a patch to fix it. > > > > > > > > > > > > > > > > mc is now fine with 2021-02-22 > > > > > > > > > > but I found another issue > > > > > > > > > > $ /usr/bin/lilypond > > > > > GNU LilyPond 2.20.0 > > > > > Segmentation fault (core dumped) > > > > > > > > > > on 3.1.7 it works fine > > > > > > > > I found this problem causes after the commit: > > > > > > > > commit 532b91d24e9496c7988b2b1dda7fc0e8b161f782 > > > > Author: Corinna Vinschen > > > > Date: Mon Dec 14 12:29:23 2020 +0100 > > > > > > > > Cygwin: Make sure newer apps get uname_x even when loading uname dynamically > > > > > > > > if an application built after API version 334 loads uname dynamically, > > > > it actually gets the old uname, rather than the new uname_x. Fix this by > > > > checking the apps API version in uname and call uname_x instead, if it's > > > > a newer app. > > > > > > > > Signed-off-by: Corinna Vinschen > > > > > > > > Reverting this commit solves the issue. > > > > > > > > Corinna, could you please have a look? > > > > > > The following check code does not work as expected if > > > newly build exe file is linked with old dll which calls > > > uname() as in this case. > > > > > > if (CYGWIN_VERSION_CHECK_FOR_UNAME_X) > > > return uname_x (in_name); > > > > > > Any idea? > > > > Ping Corinna? > > I have no idea how we could fix that, other than by rebuilding the DLLs > which call uname, too. We can't check the Cygwin build of all DLLs an > executable is linked to. I have checked all /usr/bin/*.dll in my cygwin installation and found following dlls call uname() rather than uname_x(). /usr/bin/cyggcj-16.dll /usr/bin/cyggstreamer-1.0-0.dll /usr/bin/cygguile-17.dll /usr/bin/cygguile-2.0-22.dll /usr/bin/cyghwloc-15.dll /usr/bin/cygLLVM-3.8.dll /usr/bin/cygLLVM-3.9.dll /usr/bin/cygLLVM-4.0.dll /usr/bin/cygLLVM-5.0.dll /usr/bin/cygLLVMSupport-3.7.dll /usr/bin/cygoctinterp-7.dll /usr/bin/cygpulsecommon-11.1.dll /usr/bin/cygQt5Core-5.dll /usr/bin/cygQt5WebKit-5.dll /usr/bin/cygQtWebKit-4.dll /usr/bin/cygslang-2.dll /usr/bin/cygwebkitgtk-3.0-0.dll /usr/bin/cygwx_baseu-2.8-0.dll /usr/bin/libzsh-5.8.dll I also confirm that the same problem occurs under cygwin snapshot 2021-02-22 if the following code is compiled with Qt5 because this program is linked to /usr/bin/cygQt5Core-5.dll. #include #include #include int main(int argc, char **argv) { QApplication app(argc, argv); QLabel *label = new QLabel(QSysInfo::kernelType()); label->show(); return app.exec(); } Do you think rebuilding all of these (or maybe more) dlls is only the solution? -- Takashi Yano