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:message-id:date:from:reply-to:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=v8YXTEO1rUEp24Ig BCETJMFa1k/wvMUPrgjrhQ+flUhoauVvP1jgLv4P7zAgFqrlXZJN0pUbpG7giWFi QqLIZvd6BXSsPdL3gU2+XmvTJzmHlNRg0EwPZXRTSOKKUTH/cYrRHENFlPaCEKS/ P52jDhIieuj50QJYM1J/FS9NxWs= 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:message-id:date:from:reply-to:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; s=default; bh=+IsjHhXx53nhQCLFmnaRID oK8G0=; b=un3aMH1MGSGD1GwZ8ltmnGkkracM8X6Ex0CwUZSKJnc1NSDhculmU2 u1T+iNzU5fGQO88+WSBUocGx4dVr+sa7EBcXcLJza6pY00g5Z7cPeiN+DKI0JqAH yKbXVyZ6lXOVicjTQI//aeNQ72VaekYSslBCf4+lyKDgmwyCU1FZs= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , 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=-2.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: vms173011pub.verizon.net Message-id: <524DF640.9080701@cygwin.com> Date: Thu, 03 Oct 2013 18:57:04 -0400 From: "Larry Hall (Cygwin)" Reply-to: cygwin AT cygwin DOT com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: fixing BLODA-caused fork failures References: <524DE69B DOT 1090301 AT cs DOT utoronto DOT ca> In-reply-to: <524DE69B.1090301@cs.utoronto.ca> Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7bit On 10/3/2013 5:50 PM, Ryan Johnson wrote: > On 03/10/2013 4:55 PM, Adam Kellas wrote: >> My company uses Cygwin and we experience fairly frequent fork >> failures, believed to be BLODA-related. I say "believed to be" because >> in this corporate environment, like many, we cannot uninstall the >> virus scanner even long enough to see what happens without it. The >> presumed culprit in our case is Microsoft Forefront Endpoint >> Protection, by the way. >> >> So we need Cygwin and we're stuck with Forefront, putting us between a >> rock and a hard place. It's clear from the documentation and mailing >> list that the official stance wrt BLODA is "sorry, can't help you" and >> I understand and accept that. I'm looking for the answer to a related >> question: are BLODA-caused fork failures a logically unsolvable >> problem due to the way Windows works or is it just a matter of round >> tuits? In other words, if we were (hypothetically) able to pay someone >> to make MS Forefront and Cygwin play nicely together, would that have >> a chance of success? And would the Cygwin maintainers allow such work >> into the code base or consider it an unfortunate precedent? > I can't comment on actual code changes, but having played around quite a bit > in the fork code, I can at least speak a little to the technical part. > > BLODA commonly causes two classes of symptoms: > > 1. Fork failures due to injecting dlls at inopportune locations or otherwise > messing with address space layouts in a way that violates posix semantics > (memory-mapping a file where some cygwin dll should have gone, for example). > Cygwin can do nothing, because the damage is invariably done before > cygwin1.dll loads. The problem can only be fixed if the BLODA were to be > more circumspect about where it injects things, which is unlikely because > Windows processes normally care very little (if at all) about address space > layouts. > > 2. Various file-related errors due to the BLODA touching/locking files at > inopportune times (e.g. right when a cygwin process tries to delete the > file, leading to an "unable to delete" error). This is simple Windows > locking at play, which Cygwin actually respects (unlike many Windows > programs). Again, there's little cygwin can do to address the problem on its > side, because the file really is locked... > > ... all of which is the long way of explaining why the official stance is > "sorry, you're SOL" ... Nothing I say here should be misconstrued to in any way contradict what Ryan just said. Its a very good summary of the difficulties caused by BLODA. But as a point of practicality, 64-bit Cygwin can help with some cases of DLL address space collisions. So if you haven't experimented with 64-bit Cygwin in your environment, it may be worth your time. -- Larry _____________________________________________________________________ A: Yes. > Q: Are you sure? >> A: Because it reverses the logical flow of conversation. >>> Q: Why is top posting annoying in email? -- 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