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 <cori...@vinschen.de> > > > > 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 <cori...@vinschen.de> > > > > > > > > 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 <QApplication> #include <QLabel> #include <QSysInfo> 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 <takashi.y...@nifty.ne.jp> -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple