On Mon, Mar 12, 2012 at 07:51:03PM -0000, James Johnston wrote:
> I have also noticed this issue; again it was with the XML serialization 
> functions like Andres Martinelli originally noted.  The root of the problem 
> is that Windows environment variables are not case sensitive, while they 
> *are* in a Unix environment.  Cygwin passes an environment block with 
> duplicate identically-named variables (if case insensitive; unique if case 
> sensitive), and this will make some Windows programs go boom, because they 
> assume the block is maintained in a case-insensitive manner.
> The big problem as I see it is that Cygwin, out-of-the-box, creates an 
> environment block that violates a basic assumption of Windows programs - that 
> the environment block is not case sensitive.  I don't know what the solution 
> should be, but it's not this.
> 
> From /etc/profile:
> 
> tmp=$(cygpath -w "$ORIGINAL_TMP" 2> /dev/null)
> temp=$(cygpath -w "$ORIGINAL_TEMP" 2> /dev/null)
> TMP="/tmp"
> TEMP="/tmp"
> 
> This code is what causes the crash, by creating these "duplicate" (from a 
> Windows perspective) keys.
> 
> I would guess that any Windows program that tries to do case-insensitive 
> lookups in the environment is liable to crash.  At the very least, it won't 
> necessarily give you the answer you expect (if both "TEMP" and "temp" store 
> different values and you do a case insensitive lookup of "TeMp", which is 
> going to be returned if you don't crash?)

There is a test release for base-files addressing this issue. Could
you try if that solves this problem for you?

-- 
Huella de clave primaria: AD8F BDC0 5A2C FD5F A179  60E7 F79B AB04 5299 EC56

Attachment: signature.asc
Description: Digital signature

Reply via email to