Subject: Re: 1.7.0-62: segfault when PATH is not set
From: Denis Excoffier <[email-masked]>
To: [email-masked]
Cc: Denis Excoffier <[email-masked]>
Date: Mon, 19 Oct 2009 21:18:10 +0200
List-Id: <cygwin.cygwin.com>

On 2009-10-19 11:36, Corinna Vinschen wrote:

> On Oct 17 04:33, Denis Excoffier wrote:
>> Hello,
>>
>> I've installed all the Cygwin-1.7.0 packages uptodate, on my  
>> Windows XP
>> machine.
>> I do experience a segmentation fault whenever i launch a program  
>> when the
>> PATH is not set.
>>
>> When PATH is badly set (but set), nothing happens (and the result  
>> is OK).
>>
>> See below how to reproduce. When i switch back to 1.7.0-61, the  
>> problem
>> disappears. On a Windows 2000 machine, the same happens.
>>
>> Thank you to spend a little time to take my problem into  
>> consideration.
>>
>> Denis Excoffier.
>>
>> jupiter% uname -a
>> CYGWIN_NT-5.1 JUPITER 1.7.0(0.214/5/3) 2009-10-03 14:33 i686 Cygwin
>> jupiter% date --version | head -1
>> date (GNU coreutils) 7.0
>> jupiter% env --version | head -1
>> env (GNU coreutils) 7.0
>> jupiter% env - PATH=/usr/bin /usr/bin/date
>> Fri Oct 16 17:26:37 RDT 2009
>> jupiter% env - PATH=/nonexistent /usr/bin/date
>> Fri Oct 16 17:26:37 RDT 2009
>> jupiter% env - PATHOS=/nonexistent /usr/bin/date
>> Segmentation fault (core dumped)
>
> Strange.  I can't reproduce this:
>
>  $ env - PATHOS=/dqd /usr/bin/date
>  Mon Oct 19 11:26:46 WEDT 2009
>
>  $ env - PATHOS=/nonexistent /usr/bin/env
>  PATHOS=/nonexistent
>  SYSTEMROOT=C:\Windows
>  WINDIR=C:\Windows
>
You're right, it seems that LC_CTYPE is also involved in this. Please  
try under sh:

$ export LC_CTYPE=
$ env - PATHOS=/nonexistent /usr/bin/date
Mon Oct 19 13:12:40 RDT 2009

$ export LC_CTYPE=dummy
$ env - PATHOS=/nonexistent /usr/bin/date
Segmentation fault (core dumped)

$ export LC_CTYPE=C
$ env - PATHOS=/nonexistent /usr/bin/date
Mon Oct 19 13:12:40 RDT 2009

$ export LC_CTYPE=fr_FR.ISO-8859-15
$ env - PATHOS=/nonexistent /usr/bin/date
Segmentation fault (core dumped)

$ export LC_CTYPE=dummy
$ env - PATHOS=/nonexistent /usr/bin/date
Mon Oct 19 13:12:41 RDT 2009
$ env - PATHOS=/nonexistent /usr/bin/env
PATHOS=/nonexistent
SYSTEMROOT=C:\WINNT
WINDIR=C:\WINNT

Hope this helps.

Regards.

Denis Excoffier.

--
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