delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:subject:references:to:from:reply-to:message-id | |
:date:mime-version:in-reply-to:content-type | |
:content-transfer-encoding; q=dns; s=default; b=eRS5TormJNBQpuHE | |
tMaodSlk9X71F9qTUZLMU8EuZuKpH8xZ2Cy6RbSzNvlR0zUlXzF2SR9BGDK1RxKn | |
PhRMAGvF+6/TF70TWrcGlgWTtntP+/Xvd1ReVT3oShThTNW/zOP3H+jKHFau5rVj | |
gZ25/hjcjT/c8oE36adr7LqZxm4= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:subject:references:to:from:reply-to:message-id | |
:date:mime-version:in-reply-to:content-type | |
:content-transfer-encoding; s=default; bh=+nhTxFPyz5ZghGWKcwoBXV | |
zyahE=; b=d0m5Rb2P8LWMibcYMAIc1WKsFrpBGK5JVW4nRl1x+iYXt6mDZ8ObPM | |
GmmXUd212WVxLfUtCYXlaT3dqR2JCAxxOY+wS3oiJ2VbDmm/w2R6FoaoXYY7bSU8 | |
nk4n1aYC8PSSJwv3Ok6xAKVRL0dzZwlBklUTuj9oPUYHAazM987ps= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Authentication-Results: | sourceware.org; auth=none |
X-Virus-Found: | No |
X-Spam-SWARE-Status: | No, score=-0.1 required=5.0 tests=AWL,BAYES_05,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=H*R:D*ca, H*r:ip*192.168.1.100, cygrunsrv, Hx-spam-relays-external:sk:smtp-ou |
X-HELO: | smtp-out-no.shaw.ca |
X-Authority-Analysis: | v=2.2 cv=JLBLi4Cb c=1 sm=1 tr=0 a=WqCeCkldcEjBO3QZneQsCg==:117 a=WqCeCkldcEjBO3QZneQsCg==:17 a=IkcTkHD0fZMA:10 a=mDV3o1hIAAAA:8 a=_HyoWGwPqos8q792KwAA:9 a=QEXdDO2ut3YA:10 a=_FVE-zBwftR9WsbkzFJk:22 |
Subject: | Re: Strange errors running gcc tests on Cygwin |
References: | <8fa02a72-e684-2ead-eacb-a5347d7594ae AT pobox DOT com> <82b31abc-7b7f-8f13-fc22-521c9ef84abf AT pobox DOT com> <8bda181f-f0bc-b0dc-2d2d-1bb17031ccee AT gmail DOT com> <b6c0f704-1f04-63ea-8220-ee30d623a9d6 AT pobox DOT com> <583230d9-f45c-aaa0-ed77-5c50863406f5 AT gmail DOT com> <9b872914-d9cf-378e-6eec-96c175a61ffe AT pobox DOT com> <ab35a49e-93e3-4384-bf81-3e8ac99b7194 AT gmail DOT com> <7372df4f-c55d-f9a3-325d-3f8800d67d98 AT pobox DOT com> <aab8c02e-2fe7-8ebf-5f3b-126e0ea0a745 AT gmail DOT com> <a7aca745-bbf2-a356-704a-4956ae6a28b3 AT pobox DOT com> |
To: | cygwin AT cygwin DOT com |
From: | Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca> |
Reply-To: | Brian DOT Inglis AT SystematicSw DOT ab DOT ca |
Message-ID: | <937197c6-f0cd-a7a0-a12f-d3f943ba2c1d@SystematicSw.ab.ca> |
Date: | Wed, 8 Mar 2017 01:21:00 -0700 |
User-Agent: | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 |
MIME-Version: | 1.0 |
In-Reply-To: | <a7aca745-bbf2-a356-704a-4956ae6a28b3@pobox.com> |
X-CMAE-Envelope: | MS4wfPpbPCkaEp76p76kkkgLCPRGH9WmHggTVDpPCfFI5J1wZ42hXG0qPwHHYncHKHFzje0Lx+9EojfeCJzPFoPrOdIAdrLLUwljGbZu6HTM/7s2HoB99h5t 6s82WGS9UQVNgU6eKmjDqYszeBYqnGF/bIRi2WQtTuDcmKYfz6lHqYku3zRAdOIegGZrAWNPaMKs3A== |
X-IsSubscribed: | yes |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |