1.7.7: 'Bad address' errors when using Windows 2003 R2 WOW64

Gerry Reno greno@verizon.net
Tue Feb 8 19:48:00 GMT 2011


On 02/07/2011 01:19 PM, Gerry Reno wrote:
> I'm retitling this issue to reflect the proper topic.
>
>
> My Cygwin installation on Windows 2003 R2 WOW64 is getting "Bad address"
> on certain file accesses.  I observed this when running a bash login
> shell where when /etc/profile is being run errors of the type: 'Bad
> address' are seen when trying to run the scripts in /etc/profile.d/
> directory.
>
> And in this thread it appears to be related to running on 64 bit
> hardware even when using 32 bit mode:
>
>     http://www.cygwin.com/ml/cygwin/2010-01/msg00933.html
>
>
> And as I said in my previous postings under "1.7.7: PATH in Bash shells"
> we are running Windows 2003 DATACENTER R2 WOW64 as shown in the cygcheck
> output I attached to a previous posting.
>
> So it appears that if this "Bad address" problem was fixed from the last
> problem report that apparently there are still some places where it
> occurs and I'd like to find out from the Cygwin developers what we can
> do to work around the issue or if they could fix the problem.
>
>
> Regards,
> Gerry
>
>
>   

Here is some further investigations of the "Bad address" problem I've
done today:

    bash-4.1$
    bash-4.1$ grep -i "bad address" /var/log/setup*
    /var/log/setup.log.full:/etc/postinstall/coreutils.sh: line 18:
    /etc/preremove/coreutils-manifest.lst: Bad address
    bash-4.1$
    bash-4.1$ cd /etc/profile.d/
    bash-4.1$
    bash-4.1$ ls -l
    total 8
    -rw-r--r-- 1 Administrator None 143 Jun 25  2010 lang.csh
    -rw-r--r-- 1 Administrator None 130 Jun 25  2010 lang.sh
    -rw-r--r-- 1 Administrator root 258 Aug 24 11:44 lapack0.csh
    -rw-r--r-- 1 Administrator root 470 Aug 24 11:44 lapack0.sh
    -rw-r--r-- 1 Administrator root 109 Dec  3 05:17 openssl.csh
    -rw-r--r-- 1 Administrator root  41 Dec  3 05:17 openssl.sh
    -rwxr-xr-x 1 Administrator root  74 Mar 16  2010 xinit.csh
    -rwxr-xr-x 1 Administrator root  44 Mar 16  2010 xinit.sh
    bash-4.1$
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash: /etc/profile.d/lapack0.sh: Bad address
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash: /etc/profile.d/lapack0.sh: Bad address
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash: /etc/profile.d/lapack0.sh: Bad address
    bash-4.1$
    bash-4.1$ rm lapack0.sh
    bash-4.1$
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    bash: /etc/profile.d/openssl.sh: Bad address
    bash-4.1$
    bash-4.1$ (for p in $(ls /etc/profile.d/*.sh);do . $p;done)
    Segmentation fault (core dumped)
    bash-4.1$
    bash-4.1$ source /etc/profile.d/lapack0.sh
    bash: pipe error: Bad file descriptor
    Press any key to continue . . .


As you can see it is not just the lapack0.sh file in /etc/profile.d/. 
Even when I remove lapack0.sh the problem just moves to another file.

And the problem is not consistent except when I try to run bash as a
login shell and there it occurs without fail for some reason.

The fact that I'm seeing errors like:

    Bad address
    Segmentation fault (core dumped)
    bash: pipe error: Bad file descriptor


leads me to think there is some type of stack corruption going on.

So that led me to search for stack issues on WOW64 and I got a lot of hits.

Here's a link to one of them as a sample:

    http://zachsaw.blogspot.com/2010/11/wow64-bug-getthreadcontext-may-return.html



So I don't know where this leaves me as far as this problem.  I've got
packages installed and configured so a complete reinstall would be
little painful.  And based on what I'm reading about WOW64 and stack
issues I'm not sure that even a reinstall would prevent this problem
from reoccurring unless there was some fix I haven't found yet.

I'm attaching the cygcheck.out from this machine although I don't know
how much use it will be with this problem.

Please let me know if I can provide anything else.


Regards,
Gerry


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cygcheck.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110208/a306e51d/attachment.ksh>
-------------- next part --------------
--
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


More information about the Cygwin mailing list