* Strange errors running gcc tests on Cygwin @ 2017-03-04 5:44 Daniel Santos 2017-03-04 11:27 ` Tim Prince via cygwin 2017-03-05 2:49 ` Daniel Santos 0 siblings, 2 replies; 29+ messages in thread From: Daniel Santos @ 2017-03-04 5:44 UTC (permalink / raw) To: JonY, cygwin Hello. I'm trying to validate a gcc patchset that affects msabi functions, so I need good test results on Cygwin, but my unpatched tests are getting hundreds of failures for which I cannot determine the cause. I'm running Cygwin 64 bit on Windows 7 in a qemu vm (with kvm). My sources are on a C: drive (gcc's HEAD a from a few days ago), but I didn't make that device large enough, so I had to add a second device on D for the builds. I have cygdrive set to / (in /etc/fstab, I have "none / cygdrive binary,posix=0,user 0 0"), but the file names it's printing is using the D: format instead of /d. Example: FAIL: gfortran.dg/coarray/sync_3.f90 -fcoarray=single -O2 output pattern test, is D:/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/sync_3.exe: error while loading shared libraries: cyggfortran-4.dll: cannot open shared object file: No such file or directory That might not actually be the problem. I do NOT have fortran installed. I have run a successful "make bootstrap" so the build tree should have the correct Fortran libs. The file "cyggfortran-4.dll" does exist at the location /d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/libgfortran/.libs/cyggfortran-4.dll. The even stranger part is that these errors aren't in the build from my patched sources. Maybe something changed in my environment? I ran my patched tests firsts, which resulted in much fewer failures and I haven't re-run them yet to see if it's failing now or not. Any ideas? This is the snippet from the log for the above failure: Executing on host: /d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/../../gfortran -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/../../ -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/ /c/Users/daniel/proj/sys/gcc/work0/gcc/testsuite/gfortran.dg/coarray/sync_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -fcoarray=single -O2 -fcheck=all -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs -L/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs -L/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs -o ./sync_3.exe (timeout = 300) spawn /d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/../../gfortran -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/../../ -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/ /c/Users/daniel/proj/sys/gcc/work0/gcc/testsuite/gfortran.dg/coarray/sync_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -fcoarray=single -O2 -fcheck=all -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs -L/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs -L/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs -o ./sync_3.exe PASS: gfortran.dg/coarray/sync_3.f90 -fcoarray=single -O2 (test for excess errors) Setting LD_LIBRARY_PATH to .:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc:.:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc spawn [open ...] D:/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/sync_3.exe: error while loading shared libraries: cyggfortran-4.dll: cannot open shared object file: No such file or directory PASS: gfortran.dg/coarray/sync_3.f90 -fcoarray=single -O2 execution test FAIL: gfortran.dg/coarray/sync_3.f90 -fcoarray=single -O2 output pattern test, is D:/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/sync_3.exe: error while loading shared libraries: cyggfortran-4.dll: cannot open shared object file: No such file or directory , should match Fortran runtime error: Invalid image number -1 in SYNC IMAGES Executing on host: /d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/../../gfortran -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/../../ -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/ /c/Users/daniel/proj/sys/gcc/work0/gcc/testsuite/gfortran.dg/coarray/sync_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -fcoarray=lib -O2 -lcaf_single -fcheck=all -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs -L/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs -L/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs -o ./sync_3.exe (timeout = 300) spawn /d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/../../gfortran -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/../../ -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/ /c/Users/daniel/proj/sys/gcc/work0/gcc/testsuite/gfortran.dg/coarray/sync_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -fcoarray=lib -O2 -lcaf_single -fcheck=all -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs -L/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs -B/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs -L/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs -o ./sync_3.exe PASS: gfortran.dg/coarray/sync_3.f90 -fcoarray=lib -O2 -lcaf_single (test for excess errors) Setting LD_LIBRARY_PATH to .:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc:.:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc spawn [open ...] D:/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/sync_3.exe: error while loading shared libraries: cyggfortran-4.dll: cannot open shared object file: No such file or directory PASS: gfortran.dg/coarray/sync_3.f90 -fcoarray=lib -O2 -lcaf_single execution test FAIL: gfortran.dg/coarray/sync_3.f90 -fcoarray=lib -O2 -lcaf_single output pattern test, is D:/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/sync_3.exe: error while loading shared libraries: cyggfortran-4.dll: cannot open shared object file: No such file or directory , should match Fortran runtime error: Invalid image number -1 in SYNC IMAGES Also, this is how I have configured gcc: /c/Users/daniel/proj/sys/gcc/work0/configure --host=x86_64-pc-cygwin --build=x86_64-pc-cygwin --target=x86_64-pc-cygwin --prefix=/home/daniel/local/gcc-head-test-unpatched-x86_64-pc-cygwin --enable-stage1-checking=yes,rtl --enable-lto --enable-gold=yes --enable-bootstrap --with-system-zlib Thanks, Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-04 5:44 Strange errors running gcc tests on Cygwin Daniel Santos @ 2017-03-04 11:27 ` Tim Prince via cygwin 2017-03-05 2:49 ` Daniel Santos 1 sibling, 0 replies; 29+ messages in thread From: Tim Prince via cygwin @ 2017-03-04 11:27 UTC (permalink / raw) To: cygwin On 3/4/2017 12:48 AM, Daniel Santos wrote: > Hello. I'm trying to validate a gcc patchset that affects msabi > functions, so I need good test results on Cygwin, but my unpatched > tests are getting hundreds of failures for which I cannot determine > the cause. I'm running Cygwin 64 bit on Windows 7 in a qemu vm (with > kvm). My sources are on a C: drive (gcc's HEAD a from a few days > ago), but I didn't make that device large enough, so I had to add a > second device on D for the builds. I have cygdrive set to / (in > /etc/fstab, I have "none / cygdrive > binary,posix=0,user 0 0"), but the file names it's printing is using > the D: format instead of /d. Example: > > FAIL: gfortran.dg/coarray/sync_3.f90 -fcoarray=single -O2 output > pattern test, is > D:/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/sync_3.exe: > error while loading shared libraries: cyggfortran-4.dll: cannot open > shared object file: No such file or directory > > That might not actually be the problem. I do NOT have fortran > installed. I have run a successful "make bootstrap" so the build tree > should have the correct Fortran libs. The file "cyggfortran-4.dll" > does exist at the location > /d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/libgfortran/.libs/cyggfortran-4.dll. > The even stranger part is that these errors aren't in the build from > my patched sources. Maybe something changed in my environment? I ran > my patched tests firsts, which resulted in much fewer failures and I > haven't re-run them yet to see if it's failing now or not. Any ideas? > .... > Also, this is how I have configured gcc: > > /c/Users/daniel/proj/sys/gcc/work0/configure --host=x86_64-pc-cygwin > --build=x86_64-pc-cygwin --target=x86_64-pc-cygwin > --prefix=/home/daniel/local/gcc-head-test-unpatched-x86_64-pc-cygwin > --enable-stage1-checking=yes,rtl --enable-lto --enable-gold=yes > --enable-bootstrap --with-system-zlib > > In order to test gfortran 7.1 without installing, you will need to copy cyggfortran-4.dll into a folder which is on LD_LIBRARY_PATH. make check uses only the dll paths associated with the active gcc (presumably your bootstrap compiler). Why not compare your configure and test results against gcc test results posts? -- Tim Prince -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-04 5:44 Strange errors running gcc tests on Cygwin Daniel Santos 2017-03-04 11:27 ` Tim Prince via cygwin @ 2017-03-05 2:49 ` Daniel Santos 2017-03-05 3:49 ` JonY 1 sibling, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-05 2:49 UTC (permalink / raw) To: Tim Prince; +Cc: JonY, cygwin HAH! Well I hadn't actually subscribed to the mailing list and decided to check the archive to see if anybody replied only to the list. (I'm subscribed now) > In order to test gfortran 7.1 without installing, you will need to copy > cyggfortran-4.dll into a folder which is on LD_LIBRARY_PATH. make check > uses only the dll paths associated with the active gcc (presumably your > bootstrap compiler). There should be no reason to have to install gfortran. The gcc documentation (https://gcc.gnu.org/install/prerequisites.html) states the compiler requirements to be a working ISO C++98 compiler and makes no mention of the need for an existing Fortran compiler or libraries. This has all been built in the bootstrap. $ ll $(pwd)/x86_64-pc-cygwin/libgfortran/.libs/cyggfortran-4.dll -rwxrwxr-x+ 1 daniel None 9124325 Mar 3 19:15 /d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/libgfortran/.libs/cyggfortran-4.dll* > Why not compare your configure and test results > against gcc test results posts? Well, that's the silly thing; when I ran all of this on my patched code, I did not get these errors. I'm planning on re-running them kind-of in hopes that I *will* get these errors so that my compare will be clean, but to me this is still not good. make check should NEVER be using any native compilers or gcc libraries because that would entirely defeat the purpose of doing the tests. I would like to understand what it causing this. Perhaps it is some type of regression? Note that it claims to be setting the LD_LIBRARY_PATH with this directory as the second element: Setting LD_LIBRARY_PATH to .:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc:.:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc spawn [open ...] D:/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/sync_3.exe: error while loading shared libraries: cyggfortran-4.dll: cannot open shared object file: No such file or directory This further implies that, if it is looking in the local environment for a library and not the build tree, then *all* test results could be invalid due to it using compilers and libraries locally installed rather than from the build tree, which would be very bad -- a regression that hides other regressions! As much as I just want to get my own tests done, I suppose I better debug this. *sigh* Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-05 2:49 ` Daniel Santos @ 2017-03-05 3:49 ` JonY 2017-03-05 4:20 ` Daniel Santos ` (2 more replies) 0 siblings, 3 replies; 29+ messages in thread From: JonY @ 2017-03-05 3:49 UTC (permalink / raw) To: Daniel Santos, Tim Prince; +Cc: cygwin [-- Attachment #1.1: Type: text/plain, Size: 2170 bytes --] On 03/05/2017 02:52 AM, Daniel Santos wrote: > Well, that's the silly thing; when I ran all of this on my patched code, > I did not get these errors. I'm planning on re-running them kind-of in > hopes that I *will* get these errors so that my compare will be clean, > but to me this is still not good. make check should NEVER be using any > native compilers or gcc libraries because that would entirely defeat the > purpose of doing the tests. I would like to understand what it causing > this. Perhaps it is some type of regression? Note that it claims to be > setting the LD_LIBRARY_PATH with this directory as the second element: > > > Setting LD_LIBRARY_PATH to > .:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc:.:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libgfortran/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/x86_64-pc-cygwin/./libquadmath/.libs:/d/builds/head-test-unpatched-x86_64-pc-cygwin/gcc > > spawn [open ...] > D:/builds/head-test-unpatched-x86_64-pc-cygwin/gcc/testsuite/gfortran2/sync_3.exe: > error while loading shared libraries: cyggfortran-4.dll: cannot open > shared object file: No such file or directory > Cygwin does NOT use LD_LIBRARY_PATH, Cygwin uses PATH like all Windows programs. It is one aspect that does not conform to *nix expectations. Running tests under Cygwin is also complicated by the condition all DLLs do not get rebased at runtime, or a fork() can fail. > > This further implies that, if it is looking in the local environment for > a library and not the build tree, then *all* test results could be > invalid due to it using compilers and libraries locally installed rather > than from the build tree, which would be very bad -- a regression that > hides other regressions! > > As much as I just want to get my own tests done, I suppose I better > debug this. *sigh* > > Daniel > > I suppose you can try to run s/LD_LIBRARY_PATH/PATH/g to see how it goes. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 858 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-05 3:49 ` JonY @ 2017-03-05 4:20 ` Daniel Santos 2017-03-05 7:23 ` Daniel Santos 2017-03-05 7:32 ` Daniel Santos 2 siblings, 0 replies; 29+ messages in thread From: Daniel Santos @ 2017-03-05 4:20 UTC (permalink / raw) To: JonY; +Cc: Tim Prince, cygwin On 03/04/2017 09:46 PM, JonY wrote: > Cygwin does NOT use LD_LIBRARY_PATH, Cygwin uses PATH like all Windows > programs. It is one aspect that does not conform to *nix expectations. Wonderful, this simplifies it greatly! I was wondering why the dlls were under /usr/bin. :) Anyway, I'm waiting for the gcc bugzilla database to come back up and I'll file the bug. > Running tests under Cygwin is also complicated by the condition all DLLs > do not get rebased at runtime, or a fork() can fail. > >> This further implies that, if it is looking in the local environment for >> a library and not the build tree, then *all* test results could be >> invalid due to it using compilers and libraries locally installed rather >> than from the build tree, which would be very bad -- a regression that >> hides other regressions! >> >> As much as I just want to get my own tests done, I suppose I better >> debug this. *sigh* >> >> Daniel >> >> > I suppose you can try to run s/LD_LIBRARY_PATH/PATH/g to see how it goes. Well since I've gone this far I might as well come up with a patch for the problem as well. Luckily, I somehow made a mistake about the problem *not* happening on my first run of tests because I double checked and it did! I guess the compare_tests script isn't perfect. Also, I should make certain that this doesn't affect other tests (for instance, we need to be certain that we're loading the correct libgcc). Thanks for the help! Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-05 3:49 ` JonY 2017-03-05 4:20 ` Daniel Santos @ 2017-03-05 7:23 ` Daniel Santos 2017-03-05 7:32 ` Daniel Santos 2 siblings, 0 replies; 29+ messages in thread From: Daniel Santos @ 2017-03-05 7:23 UTC (permalink / raw) To: JonY, Tim Prince; +Cc: cygwin Seeing how this means that gcc testsuite results are useless for exposing regressions in gcc libraries, I've opened a gcc bug report. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79867 Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-05 3:49 ` JonY 2017-03-05 4:20 ` Daniel Santos 2017-03-05 7:23 ` Daniel Santos @ 2017-03-05 7:32 ` Daniel Santos 2017-03-05 11:08 ` David Billinghurst 2 siblings, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-05 7:32 UTC (permalink / raw) To: JonY, Tim Prince; +Cc: cygwin Is this a documentation error then? (from https://cygwin.com/cygwin-ug-net/setup-env.html) The LD_LIBRARY_PATH environment variable is used by the Cygwin function dlopen () as a list of directories to search for .dll files to load. This environment variable is converted from Windows format to UNIX format when a Cygwin process first starts. Most Cygwin applications do not make use of the dlopen () call and do not need this variable. Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-05 7:32 ` Daniel Santos @ 2017-03-05 11:08 ` David Billinghurst 2017-03-07 1:59 ` Daniel Santos 0 siblings, 1 reply; 29+ messages in thread From: David Billinghurst @ 2017-03-05 11:08 UTC (permalink / raw) To: cygwin On 5/03/2017 18:36, Daniel Santos wrote: > Is this a documentation error then? (from > https://cygwin.com/cygwin-ug-net/setup-env.html) > > The LD_LIBRARY_PATH environment variable is used by the Cygwin > function > dlopen () as a list of directories to search for .dll files to > load. This > environment variable is converted from Windows format to UNIX > format when a > Cygwin process first starts. Most Cygwin applications do not make > use of > the dlopen () call and do not need this variable. No. LD_LIBRARY_PATH is used by dlopen (). PATH is one of the locations searched by Windows when starting applications, see https://msdn.microsoft.com/en-us/library/7d83bc18.aspx -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-05 11:08 ` David Billinghurst @ 2017-03-07 1:59 ` Daniel Santos 2017-03-07 13:58 ` cyg Simple 0 siblings, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-07 1:59 UTC (permalink / raw) To: cygwin On 03/05/2017 05:08 AM, David Billinghurst wrote: > No. > > LD_LIBRARY_PATH is used by dlopen (). > > PATH is one of the locations searched by Windows when starting > applications, see https://msdn.microsoft.com/en-us/library/7d83bc18.aspx Thank you for this clarification. So load-time dlls are resolved (in ntdll.exe or some such) using PATH and run-time dlls loaded with dlopen() are resolved with LD_LIBRARY_PATH? I'm obviously not intimate with Cygwin's architecture, but I'm guessing that explicitly using LoadLibrary is still going to use PATH. So it seems that libgcc on Cygwin is called cyggcc_s-seh-1.dll on lives in /usr/bin. This makes the gcc test harness's attempt to switch between host and target compilers problematic because we can't remove /usr/bin from the PATH. We can can prepend the built-tree's path, but it's still a bit unsettling that, if something goes wrong with the build-tree, we can still end up loading the installed libgcc instead of failing. Still, it will be better than the current situation. Thank you for your help with this. Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-07 1:59 ` Daniel Santos @ 2017-03-07 13:58 ` cyg Simple 2017-03-07 23:21 ` Daniel Santos 0 siblings, 1 reply; 29+ messages in thread From: cyg Simple @ 2017-03-07 13:58 UTC (permalink / raw) To: cygwin On 3/6/2017 9:03 PM, Daniel Santos wrote: > On 03/05/2017 05:08 AM, David Billinghurst wrote: >> No. >> >> LD_LIBRARY_PATH is used by dlopen (). >> >> PATH is one of the locations searched by Windows when starting >> applications, see https://msdn.microsoft.com/en-us/library/7d83bc18.aspx > > Thank you for this clarification. So load-time dlls are resolved (in > ntdll.exe or some such) using PATH and run-time dlls loaded with > dlopen() are resolved with LD_LIBRARY_PATH? I'm obviously not intimate > with Cygwin's architecture, but I'm guessing that explicitly using > LoadLibrary is still going to use PATH. You're obviously not intimate with Windows either. The search algorithm in Windows is more involved than PATH. You need to study more. -- cyg Simple -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-07 13:58 ` cyg Simple @ 2017-03-07 23:21 ` Daniel Santos 2017-03-08 0:36 ` David Billinghurst 0 siblings, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-07 23:21 UTC (permalink / raw) To: cygwin On 03/07/2017 07:58 AM, cyg Simple wrote: > On 3/6/2017 9:03 PM, Daniel Santos wrote: >> On 03/05/2017 05:08 AM, David Billinghurst wrote: >>> No. >>> >>> LD_LIBRARY_PATH is used by dlopen (). >>> >>> PATH is one of the locations searched by Windows when starting >>> applications, see https://msdn.microsoft.com/en-us/library/7d83bc18.aspx >> Thank you for this clarification. So load-time dlls are resolved (in >> ntdll.exe or some such) using PATH and run-time dlls loaded with >> dlopen() are resolved with LD_LIBRARY_PATH? I'm obviously not intimate >> with Cygwin's architecture, but I'm guessing that explicitly using >> LoadLibrary is still going to use PATH. > You're obviously not intimate with Windows either. The search algorithm > in Windows is more involved than PATH. You need to study more. > My concern is with the dynamic portion of this behavior -- what is affected by environment variables. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-07 23:21 ` Daniel Santos @ 2017-03-08 0:36 ` David Billinghurst 2017-03-08 5:14 ` Daniel Santos 0 siblings, 1 reply; 29+ messages in thread From: David Billinghurst @ 2017-03-08 0:36 UTC (permalink / raw) To: cygwin, Daniel Santos On 8/03/2017 10:25, Daniel Santos wrote: > My concern is with the dynamic portion of this behavior -- what is > affected by environment variables. Many years ago I ran a nightly build/test of gcc under cygwin and reported the results to gcc-testresults. There may be is discussion on the gcc mailing lists from c2000-2005. If you search "site:gcc.gnu.org David Billinghurst cygwin" you ??might?? find something relevant. From memory, I got it all working by * building gcc and friends * using find to locate all the .exe and .dll files in the build tree * worked out by trial and error which files were needed at run time by the test suite. * setting PATH when running the testsuite so that the directories containing (new) required .exe and .dll were in front of any system directories * making sure that PATH wasn't reset by the testsuite * looking at places where LD_LIBRARY_PATH was set/modified by the testsuite and checking if cygwin needed PATH to match * (submitting patched to fix gcc testsuite under cygwin) Once that was done it all "just worked" until it broke again. Good luck. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-08 0:36 ` David Billinghurst @ 2017-03-08 5:14 ` Daniel Santos 2017-03-08 8:21 ` Brian Inglis 0 siblings, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-08 5:14 UTC (permalink / raw) To: David Billinghurst, cygwin On 03/07/2017 06:36 PM, David Billinghurst wrote: > On 8/03/2017 10:25, Daniel Santos wrote: > >> My concern is with the dynamic portion of this behavior -- what is >> affected by environment variables. > > Many years ago I ran a nightly build/test of gcc under cygwin and > reported the results to gcc-testresults. There may be is discussion > on the gcc mailing lists from c2000-2005. If you search > "site:gcc.gnu.org David Billinghurst cygwin" you ??might?? find > something relevant. > > From memory, I got it all working by > > * building gcc and friends > * using find to locate all the .exe and .dll files in the build tree > * worked out by trial and error which files were needed at run time by > the test suite. > * setting PATH when running the testsuite so that the directories > containing (new) required .exe and .dll were in front of any system > directories > * making sure that PATH wasn't reset by the testsuite > * looking at places where LD_LIBRARY_PATH was set/modified by the > testsuite and checking if cygwin needed PATH to match > * (submitting patched to fix gcc testsuite under cygwin) > > Once that was done it all "just worked" until it broke again. Good luck. > Thank you very much for this. This is the path that I was kind-of setting off on, I just wanted to try one more time to run the tests as-is, this time with only one make job and see if I could get the mass of failures to match so that I could say that my patches cause "no additional errors" (ignoring the fact that there's 16k total failures), but I can't even get the breakages to match up. (This is another topic, when I run tests in parallel I eventually end up with some "broken pipe" errors and that make job hangs). I found some of your patches, pity it got re-broken. I have a bug open for this here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79867. In the end, I think that this should be fixed by adding some new "black box" interfaces to DejaGnu that manage the executable and library search paths. Then gcc's testsuite should deprecate ANY direct access to any of the *PATH environment variables in favor of this new interface in DejaGnu. As it is, the gcc code already changes both LD_LIBRARY_PATH and SHLIB_PATH to support HP-UX (not sure if any other systems use the latter), so it's already gotten a little hairy. In order to facilitate this cleanly, I think that libgcc needs to be moved out of /usr/bin and into /usr/lib/gcc/<triplet>/<version>/ and then have that added to the PATH and LD_LIBRARY_PATH somewhere (autoexec.bat? registry? I have no idea). Having an /sbin/ldconfig would be the most ideal mechanism of managing this. (Anybody want a little project? :) The test harness regularly toggles in between the host and target compiler. We need a clean and reproducible set of steps for running tests on Cygwin. Somewhere, these tests should be run regularly, maybe on a server/compiler farm somewhere under a VM, so that breakages can be addressed as soon as they appear rather than when somebody wants to touch the ms_abi code and has to test on Cygwin -- how I ended up here. :) Thanks again for the help! Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-08 5:14 ` Daniel Santos @ 2017-03-08 8:21 ` Brian Inglis 2017-03-09 22:48 ` Daniel Santos 0 siblings, 1 reply; 29+ messages in thread From: Brian Inglis @ 2017-03-08 8:21 UTC (permalink / raw) To: cygwin On 2017-03-07 22:18, Daniel Santos wrote: > On 03/07/2017 06:36 PM, David Billinghurst wrote: >> On 8/03/2017 10:25, Daniel Santos wrote: >>> My concern is with the dynamic portion of this behavior -- what >>> is affected by environment variables. >> Many years ago I ran a nightly build/test of gcc under cygwin and >> reported the results to gcc-testresults. There may be is discussion >> on the gcc mailing lists from c2000-2005. If you search >> "site:gcc.gnu.org David Billinghurst cygwin" you ??might?? find >> something relevant. >> From memory, I got it all working by >> * building gcc and friends >> * using find to locate all the .exe and .dll files in the build >> tree >> * worked out by trial and error which files were needed at run time >> by the test suite. >> * setting PATH when running the testsuite so that the directories >> containing (new) required .exe and .dll were in front of any >> system directories >> * making sure that PATH wasn't reset by the testsuite >> * looking at places where LD_LIBRARY_PATH was set/modified by the >> testsuite and checking if cygwin needed PATH to match >> * (submitting patched to fix gcc testsuite under cygwin) >> Once that was done it all "just worked" until it broke again. Good >> luck. > Thank you very much for this. This is the path that I was kind-of > setting off on, I just wanted to try one more time to run the tests > as-is, this time with only one make job and see if I could get the > mass of failures to match so that I could say that my patches cause > "no additional errors" (ignoring the fact that there's 16k total > failures), but I can't even get the breakages to match up. (This is > another topic, when I run tests in parallel I eventually end up with > some "broken pipe" errors and that make job hangs). > I found some of your patches, pity it got re-broken. I have a bug > open for this here: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79867. In the end, I > think that this should be fixed by adding some new "black box" > interfaces to DejaGnu that manage the executable and library search > paths. Then gcc's testsuite should deprecate ANY direct access to any > of the *PATH environment variables in favor of this new interface in > DejaGnu. As it is, the gcc code already changes both LD_LIBRARY_PATH > and SHLIB_PATH to support HP-UX (not sure if any other systems use > the latter), so it's already gotten a little hairy. > In order to facilitate this cleanly, I think that libgcc needs to be > moved out of /usr/bin and into /usr/lib/gcc/<triplet>/<version>/ and > then have that added to the PATH and LD_LIBRARY_PATH somewhere > (autoexec.bat? registry? I have no idea). Having an /sbin/ldconfig > would be the most ideal mechanism of managing this. (Anybody want a > little project? :) The test harness regularly toggles in between the > host and target compiler. > We need a clean and reproducible set of steps for running tests on > Cygwin. Somewhere, these tests should be run regularly, maybe on a > server/compiler farm somewhere under a VM, so that breakages can be > addressed as soon as they appear rather than when somebody wants to > touch the ms_abi code and has to test on Cygwin -- how I ended up > here. :) After any Windows Update, or a lot of package installs, you may want look at running rebase-trigger full[rebase] before rebooting to remove all Cygwin and Windows processes, then (with no Cygwin services or processes running) run Cygwin setup-x86{,_64} to rebase everything and maximize memory available to Cygwin processes. This could be critical if you are doing any builds under Cygwin 32 and have a lot of packages and/or large exes/dlls installed. If you are running a lot of Cygwin services, cron or Scheduled Tasks, and/or background processes, you may want to look at running cygserver to cache process info and common system info (including SAM/AD). Setup cygserver initially by running cygserver-config with elevated/admin rights, and start it at system startup by running cygrunsrv with elevated/admin rights. If you ever expect to be running more than 62 simultaneous Cygwin processes on a system, bump kern.srv.process_cache_size in /etc/cygserver.conf created by cygserver-config to one of the higher values recommended in the man page. I found this seemed to reduce process startup overhead and eliminated random broken pipes, hung, and failed processes due to a lot of shell forking. Preallocate contiguous paging space at double RAM to reduce the chance that any set of Windows processes will reduce Windows free memory too low for an instant, and cause something to hang or fail, by giving Windows somewhere to page out a lot of LRU pages from inactive processes. I found that if Windows (at least up to W7) free memory ever got too low, especially when all processors are pegged, it seemed unable to dynamically allocate and use more paging space to alleviate the crunch. The situation may have improved on Windows 10, but I've already allocated the paging space, and uninstalled some (probably buggy) hogs that seemed to only ever allocate memory and never free any. YMMV -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-08 8:21 ` Brian Inglis @ 2017-03-09 22:48 ` Daniel Santos 2017-03-09 23:51 ` Brian Inglis 0 siblings, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-09 22:48 UTC (permalink / raw) To: cygwin First of all, thank you for your response! On 03/08/2017 02:21 AM, Brian Inglis wrote: > After any Windows Update, or a lot of package installs, you may want > look at running > rebase-trigger full[rebase] > before rebooting to remove all Cygwin and Windows processes, then > (with no Cygwin services or processes running) run Cygwin > setup-x86{,_64} to rebase everything and maximize memory available > to Cygwin processes. So does rebase organize the Cygwin dlls and reassign them all new base loading addresses? So far I've only done the 64-bit tests using Cygwin. I haven't even gotten to 64-bit mingw or 32 bit. Also, I have *not* done a Windows Update since I have installed. Could this be an OS issue that was addressed in some patch? I'm running Windows 7 Ultimate SP1. > This could be critical if you are doing any builds under Cygwin 32 > and have a lot of packages and/or large exes/dlls installed. > > If you are running a lot of Cygwin services, cron or Scheduled Tasks, > and/or background processes, you may want to look at running cygserver > to cache process info and common system info (including SAM/AD). I'm only running sshd -- no cron or "at" jobs (except whatever Windows installs by its self). However, gcc's make check spawns a LOT of processes. > Setup cygserver initially by running cygserver-config with > elevated/admin rights, and start it at system startup by running > cygrunsrv with elevated/admin rights. > If you ever expect to be running more than 62 simultaneous Cygwin > processes on a system, bump kern.srv.process_cache_size in > /etc/cygserver.conf created by cygserver-config to one of the higher > values recommended in the man page. > I found this seemed to reduce process startup overhead and eliminated > random broken pipes, hung, and failed processes due to a lot of shell > forking. I didn't know about cygserver, so I tried it out and set the kern.srv.process_cache_size to 256. I ran a make -kj4 check and had broken pipes within a few short minutes. I tried it again running make -k check, but on two directories at once and got broken pipes somewhere along the way (before they completed). So I should probably try it with only a single make running at once. Even with just the two instances of make (with one job each), there are many processes of bash, make, expect, etc. That's just one of the challenges of a Cygwin venture -- Windows was never designed for light process creation (or thread creation for that matter). A lot of the *nix software concepts are hinged upon that lightweight, copy-on-write fork, whereas Windows-based concepts seem to be centered more around pre-spawning and maintaining thread pools and task-specific services. > Preallocate contiguous paging space at double RAM to reduce the chance > that any set of Windows processes will reduce Windows free memory too > low for an instant, and cause something to hang or fail, by giving > Windows somewhere to page out a lot of LRU pages from inactive > processes. I'm not sure how to go about this. Should I bring the VM down, mount the image with ntfs-g3 and dd if=/dev/zero it or is there another way? Also, I don't know what Windows expects to see in a pagefile. Or maybe defrag. I'll look at it. > I found that if Windows (at least up to W7) free memory ever got too > low, especially when all processors are pegged, it seemed unable to > dynamically allocate and use more paging space to alleviate the > crunch. From watching the system monitor, I can see that I never get above 35% memory usage. I've assigned 4GiB of ram to the VM and Windows never seems to use more than 280MiB for page cache (I guess that's due to the license-specific limitation) -- at least there is abundant caching happening at the host level (3-ish GiB). > The situation may have improved on Windows 10, but I've already > allocated the paging space, and uninstalled some (probably buggy) > hogs that seemed to only ever allocate memory and never free any. > > YMMV As far as the dll search path issue, I *think* I have a woorking patchset in gcc and DejaGnu to resolve the dll load problems. (I haven't yet done the on-off switch yet, so it's basically hard-coded. I found a Tcl "is_Cygwin" procedure in git-gui that I'm going to borrow for now.) So while my make check is still failing with broken pipes, I appear to have resolved the issue with the dll search path. It would probably help if I can figure out where the broken pipe actually occurs and try to get that piece to log more verbosly. I'm guessing it's from expect. This is the exact error message: FAIL: gcc.c-torture/execute/20000822-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects execution test parent: sync byte write: broken pipe^M make[3]: Leaving directory '/d/builds/head-test-moutline-x86_64-pc-cygwin/gcc' Don't worry about the FAILed test. The main thing is that after each broken pipe message, I see make "leaving" that directory, so it doesn't finish the rest of the tests in that directory. Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-09 22:48 ` Daniel Santos @ 2017-03-09 23:51 ` Brian Inglis 2017-03-10 0:01 ` Tim Prince via cygwin ` (2 more replies) 0 siblings, 3 replies; 29+ messages in thread From: Brian Inglis @ 2017-03-09 23:51 UTC (permalink / raw) To: cygwin On 2017-03-09 15:53, Daniel Santos wrote: > First of all, thank you for your response! > > On 03/08/2017 02:21 AM, Brian Inglis wrote: >> After any Windows Update, or a lot of package installs, you may want >> look at running >> rebase-trigger full[rebase] >> before rebooting to remove all Cygwin and Windows processes, then >> (with no Cygwin services or processes running) run Cygwin >> setup-x86{,_64} to rebase everything and maximize memory available >> to Cygwin processes. > > So does rebase organize the Cygwin dlls and reassign them all new > base loading addresses? So far I've only done the 64-bit tests using > Cygwin. I haven't even gotten to 64-bit mingw or 32 bit. Also, I have > *not* done a Windows Update since I have installed. Could this be an > OS issue that was addressed in some patch? I'm running Windows 7 > Ultimate SP1. Windows DLLs updated or added could increase in size and overlap Cygwin's assumed address space allocated by rebase. Mingw has no problem as native Windows programs, but Cygwin emulates how Unix uses shared libraries [handwaving simplification], so Cygwin 32 has problems with limited 32 bit space available to programs. >> This could be critical if you are doing any builds under Cygwin 32 >> and have a lot of packages and/or large exes/dlls installed. >> >> If you are running a lot of Cygwin services, cron or Scheduled Tasks, >> and/or background processes, you may want to look at running cygserver >> to cache process info and common system info (including SAM/AD). > > I'm only running sshd -- no cron or "at" jobs (except whatever > Windows installs by its self). However, gcc's make check spawns a LOT > of processes. Which was why I suggested it. >> Setup cygserver initially by running cygserver-config with >> elevated/admin rights, and start it at system startup by running >> cygrunsrv with elevated/admin rights. >> If you ever expect to be running more than 62 simultaneous Cygwin >> processes on a system, bump kern.srv.process_cache_size in >> /etc/cygserver.conf created by cygserver-config to one of the higher >> values recommended in the man page. >> I found this seemed to reduce process startup overhead and eliminated >> random broken pipes, hung, and failed processes due to a lot of shell >> forking. > I didn't know about cygserver, so I tried it out and set the > kern.srv.process_cache_size to 256. I ran a make -kj4 check and had > broken pipes within a few short minutes. I tried it again running > make -k check, but on two directories at once and got broken pipes > somewhere along the way (before they completed). So I should probably > try it with only a single make running at once. > > Even with just the two instances of make (with one job each), there > are many processes of bash, make, expect, etc. That's just one of the > challenges of a Cygwin venture -- Windows was never designed for > light process creation (or thread creation for that matter). A lot of > the *nix software concepts are hinged upon that lightweight, > copy-on-write fork, whereas Windows-based concepts seem to be > centered more around pre-spawning and maintaining thread pools and > task-specific services. Bump to 310 as optimal max - see man cygserver. Should be started before sshd and any other Cygwin processes and should be configured to start sshd. >> Preallocate contiguous paging space at double RAM to reduce the chance >> that any set of Windows processes will reduce Windows free memory too >> low for an instant, and cause something to hang or fail, by giving >> Windows somewhere to page out a lot of LRU pages from inactive >> processes. > > I'm not sure how to go about this. Should I bring the VM down, mount > the image with ntfs-g3 and dd if=/dev/zero it or is there another > way? Also, I don't know what Windows expects to see in a pagefile. Or > maybe defrag. I'll look at it. <Win-Break> or Control Panel/System/Advanced system settings/ /Advanced tab/Performance [Settings] button/Advanced tab/ /Virtual memory [Change] button/Virtual Memory dialogue box: [ ] Automatically manage... uncheck ... (@) Custom size: select Initial size (MB): [ 8192 ] double RAM Maximum size (MB): [ 16384 ] just in case ( ) System managed size deselect ( ) No paging file deselect then select *[Set]* button and reboot if prompted. You may have to allocate more VM disk space if insufficent. >> I found that if Windows (at least up to W7) free memory ever got too >> low, especially when all processors are pegged, it seemed unable to >> dynamically allocate and use more paging space to alleviate the >> crunch. > > From watching the system monitor, I can see that I never get above > 35% memory usage. I've assigned 4GiB of ram to the VM and Windows > never seems to use more than 280MiB for page cache (I guess that's > due to the license-specific limitation) -- at least there is abundant > caching happening at the host level (3-ish GiB). Start Task Manager/Performance tab/Open Resource Monitor link at bottom/ /Resource Monitor/Memory tab/Physical Memory pane at bottom/ Free should never go much below 100MB and trouble is almost certain if you ever hit single digits even for an instant. >> The situation may have improved on Windows 10, but I've already >> allocated the paging space, and uninstalled some (probably buggy) >> hogs that seemed to only ever allocate memory and never free any. > As far as the dll search path issue, I *think* I have a woorking > patchset in gcc and DejaGnu to resolve the dll load problems. (I > haven't yet done the on-off switch yet, so it's basically hard-coded. > I found a Tcl "is_Cygwin" procedure in git-gui that I'm going to > borrow for now.) So while my make check is still failing with broken > pipes, I appear to have resolved the issue with the dll search path. Ensure that all Cygwin dlls including anything you build are included in every rebase, and do an incremental rebase after every build. > It would probably help if I can figure out where the broken pipe > actually occurs and try to get that piece to log more verbosly. I'm > guessing it's from expect. This is the exact error message: > > FAIL: gcc.c-torture/execute/20000822-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects execution test > parent: sync byte write: broken pipe^M > make[3]: Leaving directory '/d/builds/head-test-moutline-x86_64-pc-cygwin/gcc' > > Don't worry about the FAILed test. The main thing is that after each > broken pipe message, I see make "leaving" that directory, so it > doesn't finish the rest of the tests in that directory. BTDT PITA -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-09 23:51 ` Brian Inglis @ 2017-03-10 0:01 ` Tim Prince via cygwin 2017-03-10 18:56 ` Achim Gratz 2017-03-12 4:04 ` Daniel Santos 2 siblings, 0 replies; 29+ messages in thread From: Tim Prince via cygwin @ 2017-03-10 0:01 UTC (permalink / raw) To: cygwin On 3/9/2017 6:51 PM, Brian Inglis wrote: > On 2017-03-09 15:53, Daniel Santos wrote: > >>> If you are running a lot of Cygwin services, cron or Scheduled Tasks, >>> and/or background processes, you may want to look at running cygserver >>> to cache process info and common system info (including SAM/AD). >> I'm only running sshd -- no cron or "at" jobs (except whatever >> Windows installs by its self). However, gcc's make check spawns a LOT >> of processes. > Which was why I suggested it. Even on linux, I don't find it satisfactory to run make check without limiting processes to number of cores. On cygwin and wsl, make check seems to run into deadlocks or at least disastrous timeouts when running multiple processes. With a single process, cygwin runs it more reliably than wsl does. Conversely, sometimes (rarely) wsl can run make check-c and make check-fortran simultaneously. So it takes typically 2 full days to build and make check on cygwin. -- Tim Prince -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-09 23:51 ` Brian Inglis 2017-03-10 0:01 ` Tim Prince via cygwin @ 2017-03-10 18:56 ` Achim Gratz 2017-03-10 20:30 ` Brian Inglis 2017-03-13 16:35 ` Daniel Santos 2017-03-12 4:04 ` Daniel Santos 2 siblings, 2 replies; 29+ messages in thread From: Achim Gratz @ 2017-03-10 18:56 UTC (permalink / raw) To: cygwin Brian Inglis writes: > Ensure that all Cygwin dlls including anything you build are included > in every rebase, and do an incremental rebase after every build. Don't do this, it's not what incremental rebase is for. I've specifically implemented the "ephemeral" option to rebase to temporarily deal with DLL in staging directories without polluting the global rebase map. The rebase map is still used if you specify that in order to work around the address space used by the installation, but the newl rebased libraries don't get recorded there. Since that rebase is throw-away you have to specify all the ephemeral DLL that can potentially collide in each invocation of rebase. That's still easier than doing a full rebase once you're done building. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Waldorf MIDI Implementation & additional documentation: http://Synth.Stromeko.net/Downloads.html#WaldorfDocs -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-10 18:56 ` Achim Gratz @ 2017-03-10 20:30 ` Brian Inglis 2017-03-10 20:48 ` Achim Gratz 2017-03-13 16:35 ` Daniel Santos 1 sibling, 1 reply; 29+ messages in thread From: Brian Inglis @ 2017-03-10 20:30 UTC (permalink / raw) To: cygwin On 2017-03-10 11:56, Achim Gratz wrote: > Brian Inglis writes: >> Ensure that all Cygwin dlls including anything you build are >> included in every rebase, and do an incremental rebase after every >> build. > Don't do this, it's not what incremental rebase is for. I've > specifically implemented the "ephemeral" option to rebase to > temporarily deal with DLL in staging directories without polluting > the global rebase map. The rebase map is still used if you specify > that in order to work around the address space used by the > installation, but the newl rebased libraries don't get recorded > there. Since that rebase is throw-away you have to specify all the > ephemeral DLL that can potentially collide in each invocation of > rebase. That's still easier than doing a full rebase once you're done > building. Has that been released yet or is it implied in options -O --oblivious and -T --filelist=FILE as documented in NEWS? $ uname -srvmo CYGWIN_NT-10.0 2.7.0(0.306/5/3) 2017-02-12 13:18 x86_64 Cygwin $ rebase --version rebase version 4.4.2 (imagehelper version 0.11) -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-10 20:30 ` Brian Inglis @ 2017-03-10 20:48 ` Achim Gratz 0 siblings, 0 replies; 29+ messages in thread From: Achim Gratz @ 2017-03-10 20:48 UTC (permalink / raw) To: cygwin Brian Inglis writes: > Has that been released yet or is it implied in options -O --oblivious > and -T --filelist=FILE as documented in NEWS? Yes, -O is the option I was talking about (it now also implies -s, so you don't need explicitly say that). The typical use would be with -T as you say, maybe feeding in the list of files from a pipe: find … | rebase -OT - Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Wavetables for the Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-10 18:56 ` Achim Gratz 2017-03-10 20:30 ` Brian Inglis @ 2017-03-13 16:35 ` Daniel Santos 2017-03-13 17:25 ` Marco Atzeri 1 sibling, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-13 16:35 UTC (permalink / raw) To: cygwin On 03/10/2017 12:56 PM, Achim Gratz wrote: > Brian Inglis writes: >> Ensure that all Cygwin dlls including anything you build are included >> in every rebase, and do an incremental rebase after every build. > Don't do this, it's not what incremental rebase is for. I've > specifically implemented the "ephemeral" option to rebase to temporarily > deal with DLL in staging directories without polluting the global rebase > map. The rebase map is still used if you specify that in order to work > around the address space used by the installation, but the newl rebased > libraries don't get recorded there. Since that rebase is throw-away you > have to specify all the ephemeral DLL that can potentially collide in > each invocation of rebase. That's still easier than doing a full rebase > once you're done building. Well this is interesting. What happens if there is a collision? Will a detailed error message exist anywhere (syslogs, NT's event log, etc.)? So when I run gcc's bootstrap, I'm building dlls that sit (temporarily) in the build directory. If I do not explicitly rebase these, can I end up with collisions if I try to use them? Thanks, Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-13 16:35 ` Daniel Santos @ 2017-03-13 17:25 ` Marco Atzeri 2017-03-15 16:50 ` Daniel Santos 0 siblings, 1 reply; 29+ messages in thread From: Marco Atzeri @ 2017-03-13 17:25 UTC (permalink / raw) To: cygwin On 13/03/2017 17:39, Daniel Santos wrote: > On 03/10/2017 12:56 PM, Achim Gratz wrote: >> Brian Inglis writes: >>> Ensure that all Cygwin dlls including anything you build are included >>> in every rebase, and do an incremental rebase after every build. >> Don't do this, it's not what incremental rebase is for. I've >> specifically implemented the "ephemeral" option to rebase to temporarily >> deal with DLL in staging directories without polluting the global rebase >> map. The rebase map is still used if you specify that in order to work >> around the address space used by the installation, but the newl rebased >> libraries don't get recorded there. Since that rebase is throw-away you >> have to specify all the ephemeral DLL that can potentially collide in >> each invocation of rebase. That's still easier than doing a full rebase >> once you're done building. > > Well this is interesting. What happens if there is a collision? Will a > detailed error message exist anywhere (syslogs, NT's event log, etc.)? > > So when I run gcc's bootstrap, I'm building dlls that sit (temporarily) > in the build directory. If I do not explicitly rebase these, can I end > up with collisions if I try to use them? The risk of collision is very low on 64 bit. It is higher on 32 bit but as gcc don't depend on other libraries, I don't expect that to happen. If happens you can rebase in tree before running the tests, providing the list of new dll to rebase. I used it when I had problem on testing Octave; but Octave dlls with debugging symbols are huge and pull tons of other dlls so the collision was almost sure on 32bit > Thanks, > Daniel Regards Marco -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-13 17:25 ` Marco Atzeri @ 2017-03-15 16:50 ` Daniel Santos 2017-03-15 19:36 ` Brian Inglis 0 siblings, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-15 16:50 UTC (permalink / raw) To: cygwin On 03/13/2017 12:25 PM, Marco Atzeri wrote: > The risk of collision is very low on 64 bit. > It is higher on 32 bit but as gcc don't depend on other libraries, > I don't expect that to happen. > > If happens you can rebase in tree before running the tests, > providing the list of new dll to rebase. > I used it when I had problem on testing Octave; but Octave > dlls with debugging symbols are huge and pull tons of > other dlls so the collision was almost sure on 32bit I'm not so much concerned about the outcome of an individual run, but of test integrity, reliability and repeatability. gcc's testsuite should be something you can fire off and forget about until it finishes (it current takes about 14 hours 100). A test should fail when there's a bug and not when the god of random numbers frowns. The possibility of this type of problem means that fewer developers are going to be willing to get on Cygwin and so gcc will be crappier and tend to break on Cygwin. (This is combined with the fact that SO much of DejaGnu & gcc tests are already broken on Cygwin). If this is a possible issue at all, it should be managed somewhere IN gcc's build process. I've been through a few of weeks of BS now and I'm just starting on my 32-bit tests. I would very much like to be able to come up with an automated process that can be run on a server somewhere under a VM using an LVM read/write snapshot, so that the environment can be easily reset to a pristine state (i.e., freshly installed Windows & Cygwin) with minimal I/O. If I can solve this problem and the "broken pipe" issue then we might be getting close! Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-15 16:50 ` Daniel Santos @ 2017-03-15 19:36 ` Brian Inglis 2017-03-16 20:55 ` Daniel Santos 0 siblings, 1 reply; 29+ messages in thread From: Brian Inglis @ 2017-03-15 19:36 UTC (permalink / raw) To: cygwin On 2017-03-15 10:54, Daniel Santos wrote: > On 03/13/2017 12:25 PM, Marco Atzeri wrote: >> The risk of collision is very low on 64 bit. It is higher on 32 bit >> but as gcc don't depend on other libraries, I don't expect that to >> happen. I've seen "won't happen" take from 6 minutes to 6 months *after* going into production while passing good, long QA tests ;^> >> If happens you can rebase in tree before running the tests, >> providing the list of new dll to rebase. I used it when I had >> problem on testing Octave; but Octave dlls with debugging symbols >> are huge and pull tons of other dlls so the collision was almost >> sure on 32bit > > I'm not so much concerned about the outcome of an individual run, > but of test integrity, reliability and repeatability. gcc's > testsuite should be something you can fire off and forget about until > it finishes (it current takes about 14 hours 100). A test should > fail when there's a bug and not when the god of random numbers > frowns. The possibility of this type of problem means that fewer > developers are going to be willing to get on Cygwin and so gcc will > be crappier and tend to break on Cygwin. (This is combined with the > fact that SO much of DejaGnu & gcc tests are already broken on > Cygwin). If this is a possible issue at all, it should be managed > somewhere IN gcc's build process. I've been through a few of weeks of > BS now and I'm just starting on my 32-bit tests. Do the local rebase on your build targets as detailed in my question to Achim and his response. Rerun after any system change or build. > I would very much like to be able to come up with an automated > process that can be run on a server somewhere under a VM using an > LVM read/write snapshot, so that the environment can be easily reset > to a pristine state (i.e., freshly installed Windows & Cygwin) with > minimal I/O. If I can solve this problem and the "broken pipe" issue > then we might be getting close! Have you checked the Cygwin BLODA list, uninstalled everything you can, disabled all services you're not using, and stopped packages from putting "accelerators" in the systray? There are some good web pages on disabling services useless to you but not MS ;^> I did this before and after W10 upgrades and life is quieter and more productive. YMMV -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-15 19:36 ` Brian Inglis @ 2017-03-16 20:55 ` Daniel Santos 2017-03-17 5:17 ` Brian Inglis 0 siblings, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-16 20:55 UTC (permalink / raw) To: cygwin On 03/15/2017 02:36 PM, Brian Inglis wrote: > Do the local rebase on your build targets as detailed in my question > to Achim and his response. Rerun after any system change or build. Alright, I think I've got it now, thank you. I'll experiment with it first and then I'm guessing that this might eventually belong in libtool or some such, although I'm guessing that that wouldn't work unless we could have two databases, the system database and a temporary build database. I'm not yet sure what the correct solution should be. >> I would very much like to be able to come up with an automated >> process that can be run on a server somewhere under a VM using an >> LVM read/write snapshot, so that the environment can be easily reset >> to a pristine state (i.e., freshly installed Windows & Cygwin) with >> minimal I/O. If I can solve this problem and the "broken pipe" issue >> then we might be getting close! > Have you checked the Cygwin BLODA list, uninstalled everything you can, > disabled all services you're not using, and stopped packages from > putting "accelerators" in the systray? Thank you for the BLODA list. There are currently no programs listed in the uninstall. > There are some good web pages > on disabling services useless to you but not MS ;^> I did this before > and after W10 upgrades and life is quieter and more productive. YMMV The first thing I've done when installing Windows in the past is to have the network cable unplugged and disable every service that I think I don't need because experience has taught me not to trust Windows. Occasionally, I've had to re-enable services that it turned out I did need. Are there any pretty list of "stupid windows services" out there that you recommend? Also, I'm not doing any windows/lanman networking, so I disable computer browser and the like. I'm also building the current cygwin1.dll from git as I've seen a few messages about bugs being fixed that could be related. Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-16 20:55 ` Daniel Santos @ 2017-03-17 5:17 ` Brian Inglis 2017-03-18 13:48 ` Daniel Santos 0 siblings, 1 reply; 29+ messages in thread From: Brian Inglis @ 2017-03-17 5:17 UTC (permalink / raw) To: cygwin On 2017-03-16 14:59, Daniel Santos wrote: > On 03/15/2017 02:36 PM, Brian Inglis wrote: >> Do the local rebase on your build targets as detailed in my question >> to Achim and his response. Rerun after any system change or build. > > Alright, I think I've got it now, thank you. I'll experiment with it > first and then I'm guessing that this might eventually belong in > libtool or some such, although I'm guessing that that wouldn't work > unless we could have two databases, the system database and a > temporary build database. I'm not yet sure what the correct solution > should be. rebase -OT file - contains list of paths to all built DLLs - uses the existing database to relocate your DLLs above existing Cygwin uses. >>> I would very much like to be able to come up with an automated >>> process that can be run on a server somewhere under a VM using an >>> LVM read/write snapshot, so that the environment can be easily reset >>> to a pristine state (i.e., freshly installed Windows & Cygwin) with >>> minimal I/O. If I can solve this problem and the "broken pipe" issue >>> then we might be getting close! >> Have you checked the Cygwin BLODA list, uninstalled everything you can, >> disabled all services you're not using, and stopped packages from >> putting "accelerators" in the systray? > > Thank you for the BLODA list. There are currently no programs listed > in the uninstall. You may not be installing much with Windows Setup but may want to ensure you uninstall any stuff like Adobe Flash, Adobe Reader, Oracle Java, MS Silverlight, games, other "conveniences", "freebies", utilities, etc. pushed on you. You may be able to uninstall MS SQL Server, its CLR, SSDT but don't know impact. You have to keep MS.NET, PowerShell if installed as they may be used by MS processes. >> There are some good web pages >> on disabling services useless to you but not MS ;^> I did this before >> and after W10 upgrades and life is quieter and more productive. YMMV > > The first thing I've done when installing Windows in the past is to > have the network cable unplugged and disable every service that I > think I don't need because experience has taught me not to trust > Windows. Occasionally, I've had to re-enable services that it turned > out I did need. Are there any pretty list of "stupid windows > services" out there that you recommend? Also, I'm not doing any > windows/lanman networking, so I disable computer browser and the > like. https://blog.brankovucinec.com/2016/07/12/powershell-reclaim-windows-10/ and linked github forks I found informative and useful - key to customize as YMMV. > I'm also building the current cygwin1.dll from git as I've seen a few > messages about bugs being fixed that could be related. You can download Cygwin snapshots: dll only, dbg, pkg, src, directly from https://cygwin.com/snapshots for x86{_64,} - instructions given on page. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-17 5:17 ` Brian Inglis @ 2017-03-18 13:48 ` Daniel Santos 2017-03-18 14:52 ` cyg Simple 0 siblings, 1 reply; 29+ messages in thread From: Daniel Santos @ 2017-03-18 13:48 UTC (permalink / raw) To: cygwin On 03/17/2017 12:17 AM, Brian Inglis wrote: > On 2017-03-16 14:59, Daniel Santos wrote: > >> Alright, I think I've got it now, thank you. I'll experiment with it >> first and then I'm guessing that this might eventually belong in >> libtool or some such, although I'm guessing that that wouldn't work >> unless we could have two databases, the system database and a >> temporary build database. I'm not yet sure what the correct solution >> should be. > rebase -OT file - contains list of paths to all built DLLs - uses the > existing database to relocate your DLLs above existing Cygwin uses. Yes, but that won't work from libtool. libtool isn't going to know what other dlls you happen to be building in your project. (I don't actually know libtools internals yet, and never really wanted to. :) So this might need to be some ugly add-on to the Makefile *sigh*. >> Thank you for the BLODA list. There are currently no programs listed >> in the uninstall. > You may not be installing much with Windows Setup but may want to ensure > you uninstall any stuff like Adobe Flash, Adobe Reader, Oracle Java, > MS Silverlight, games, other "conveniences", "freebies", utilities, etc. > pushed on you. You may be able to uninstall MS SQL Server, its CLR, SSDT > but don't know impact. You have to keep MS.NET, PowerShell if installed > as they may be used by MS processes. OMG! It puts SQL Server on there now? Thanks for the info, I forgot about all of this crap. >> The first thing I've done when installing Windows in the past is to >> have the network cable unplugged and disable every service that I >> think I don't need because experience has taught me not to trust >> Windows. Occasionally, I've had to re-enable services that it turned >> out I did need. Are there any pretty list of "stupid windows >> services" out there that you recommend? Also, I'm not doing any >> windows/lanman networking, so I disable computer browser and the >> like. > https://blog.brankovucinec.com/2016/07/12/powershell-reclaim-windows-10/ > and linked github forks I found informative and useful - key to customize > as YMMV. Ok, thanks. I have a license for Windows 7 and while I know that Windows 10 is "free" I'm just not ready for that step. I will probably have to eventually setup a win10 vm though. >> I'm also building the current cygwin1.dll from git as I've seen a few >> messages about bugs being fixed that could be related. > You can download Cygwin snapshots: dll only, dbg, pkg, src, directly from > https://cygwin.com/snapshots for x86{_64,} - instructions given on page. Yeah, I usually prefer to build it myself. I did test the git cygwin1.dll and it didn't fix the broken pipes (when running make check with more than one -j job). As I've said before, I'm sure there's a race somewhere in Cygwin or some other Cygwin package(s). If I follow through with making this into a repeatable process, I'll likely have to try to diagnose it. Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-18 13:48 ` Daniel Santos @ 2017-03-18 14:52 ` cyg Simple 0 siblings, 0 replies; 29+ messages in thread From: cyg Simple @ 2017-03-18 14:52 UTC (permalink / raw) To: cygwin On 3/18/2017 9:52 AM, Daniel Santos wrote: > > Ok, thanks. I have a license for Windows 7 and while I know that Windows > 10 is "free" I'm just not ready for that step. I will probably have to > eventually setup a win10 vm though. > For me moving from Win7 to Win10 was no big deal other than the time for the updates but that occurred in the background. However, if you're like me I prefer not to be working during such updates. >>> I'm also building the current cygwin1.dll from git as I've seen a few >>> messages about bugs being fixed that could be related. >> You can download Cygwin snapshots: dll only, dbg, pkg, src, directly from >> https://cygwin.com/snapshots for x86{_64,} - instructions given on page. > > Yeah, I usually prefer to build it myself. I did test the git > cygwin1.dll and it didn't fix the broken pipes (when running make check > with more than one -j job). As I've said before, I'm sure there's a > race somewhere in Cygwin or some other Cygwin package(s). If I follow > through with making this into a repeatable process, I'll likely have to > try to diagnose it. Glad to hear you're working to improve Cygwin. -- cyg Simple -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Strange errors running gcc tests on Cygwin 2017-03-09 23:51 ` Brian Inglis 2017-03-10 0:01 ` Tim Prince via cygwin 2017-03-10 18:56 ` Achim Gratz @ 2017-03-12 4:04 ` Daniel Santos 2 siblings, 0 replies; 29+ messages in thread From: Daniel Santos @ 2017-03-12 4:04 UTC (permalink / raw) To: cygwin Thanks for the help Brian. On 03/09/2017 05:51 PM, Brian Inglis wrote: > Windows DLLs updated or added could increase in size and overlap > Cygwin's assumed address space allocated by rebase. > Mingw has no problem as native Windows programs, but Cygwin emulates > how Unix uses shared libraries [handwaving simplification], so > Cygwin 32 has problems with limited 32 bit space available to programs. Well, I tried it anyway and there was no change. > Bump to 310 as optimal max - see man cygserver. > Should be started before sshd and any other Cygwin processes > and should be configured to start sshd. Ah! Well I didn't have sshd set as depending upon cygserver (I do not). There was no change in the outcome however. > <Win-Break> or Control Panel/System/Advanced system settings/ > /Advanced tab/Performance [Settings] button/Advanced tab/ > /Virtual memory [Change] button/Virtual Memory dialogue box: > [ ] Automatically manage... uncheck > ... > (@) Custom size: select > Initial size (MB): [ 8192 ] double RAM > Maximum size (MB): [ 16384 ] just in case > ( ) System managed size deselect > ( ) No paging file deselect > > then select *[Set]* button and reboot if prompted. > You may have to allocate more VM disk space if insufficent. Ok, that's done. > Start Task Manager/Performance tab/Open Resource Monitor link at bottom/ > /Resource Monitor/Memory tab/Physical Memory pane at bottom/ > Free should never go much below 100MB and trouble is almost certain > if you ever hit single digits even for an instant. Well, I'm certainly not watching task manager for 11-12 hours straight. :) However, I seem to continuously have at least 2GiB free. > Ensure that all Cygwin dlls including anything you build are included > in every rebase, and do an incremental rebase after every build. Hmm, so how do I do this? Is this something that the gcc build *should* be doing? If this is really required, I will open a gcc bug report for it. > BTDT PITA I've done a lot of work at the system and kernel level and this SCREAMS race condition to me -- and not necessarily in Cygwin. In fact, I would venture to guess that we're dealing with more than one serious issue and I don't know where they are. It is not at all uncommon for a very common piece of software to have a race condition that is never exposed on one OS but is exposed on another -- this is very common when running programs on Wine, for instance. At current, I seem to be able to run the tests single threaded (one at a time) and get no broken pipes and only 8 time-outs. I suppose that is close enough, but I have 8 total tests that need to be run (cygwin-64, cygwin-32, mingw64 and mingw64 -- both with and without my patches). So this may simply take me many, many days to complete. I'm experimenting with running under wine, but bash.exe is crashing right now (although my Wine had the staging patches, so building w/o them :) Daniel Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 29+ messages in thread
end of thread, other threads:[~2017-03-18 14:52 UTC | newest] Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-03-04 5:44 Strange errors running gcc tests on Cygwin Daniel Santos 2017-03-04 11:27 ` Tim Prince via cygwin 2017-03-05 2:49 ` Daniel Santos 2017-03-05 3:49 ` JonY 2017-03-05 4:20 ` Daniel Santos 2017-03-05 7:23 ` Daniel Santos 2017-03-05 7:32 ` Daniel Santos 2017-03-05 11:08 ` David Billinghurst 2017-03-07 1:59 ` Daniel Santos 2017-03-07 13:58 ` cyg Simple 2017-03-07 23:21 ` Daniel Santos 2017-03-08 0:36 ` David Billinghurst 2017-03-08 5:14 ` Daniel Santos 2017-03-08 8:21 ` Brian Inglis 2017-03-09 22:48 ` Daniel Santos 2017-03-09 23:51 ` Brian Inglis 2017-03-10 0:01 ` Tim Prince via cygwin 2017-03-10 18:56 ` Achim Gratz 2017-03-10 20:30 ` Brian Inglis 2017-03-10 20:48 ` Achim Gratz 2017-03-13 16:35 ` Daniel Santos 2017-03-13 17:25 ` Marco Atzeri 2017-03-15 16:50 ` Daniel Santos 2017-03-15 19:36 ` Brian Inglis 2017-03-16 20:55 ` Daniel Santos 2017-03-17 5:17 ` Brian Inglis 2017-03-18 13:48 ` Daniel Santos 2017-03-18 14:52 ` cyg Simple 2017-03-12 4:04 ` Daniel Santos
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).