This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.7.5: cygwin programs throw STATUS_ACCESS_VIOLATION exceptions


On Mon, Apr 19, 2010 at 09:32, Christopher Faylor
<cgf-use-the-mailinglist-please@cygwin.com> wrote:
> On Mon, Apr 19, 2010 at 02:20:48AM +0100, Dave Korn wrote:
>>On 18/04/2010 23:09, Yuval Emek wrote:
>>
>>> The context of the file xterm.exe.stackdump is:
>>> Exception: STATUS_ACCESS_VIOLATION at eip=610202F7
>>> eax=00CE00F8 ebx=61229E44 ecx=7530783F edx=002D20F0 esi=00000000 edi=0022FA14
>>> ebp=61020A10 esp=0022C7E4 program=C:\cygwin\bin\xterm.exe, pid 4640, thread main
>>> cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
>>> Stack trace:
>>> Frame ? ? Function ?Args
>>> End of stack trace
>>
>>$ addr2line --exe cygwin-1.7.5-1/winsup/cygwin/cygwin1.dbg
>>610202F7
>>/ext/build/netrel/src/cygwin-1.7.5-1/winsup/cygwin/dll_init.cc:78
>>
>> ? ?71 ?/* Initialize an individual DLL */
>> ? ?72 ?int
>> ? ?73 ?dll::init ()
>> ? ?74 ?{
>> ? ?75 ? ?int ret = 1;
>> ? ?76
>> ? ?77 ? ?/* Why didn't we just import this variable? */
>> ? ?78 ? ?*(p.envptr) = __cygwin_environ;
>> ? ?79
>>
>> ?Ah. ?Hmm. ?That certainly does look like it's nothing to do with the DEP or
>>anything else; either we're missing a null pointer check here, or there's some
>>reason why that pointer's never supposed to be null at this point in the code
>>but somehow it is.
>
> p.envptr is supposed to be filled in by the call to _cygwin_crt0_common
> in cygwin_attach_dll. ?It is supposed to be set to the address of the
> "environ" variable in the DLL. ?It is not supposed to be NULL. ?That
> assignment should actually not even be necessary but the fact that
> envptr may be NULL is a problem. ?Of course, it could just be some
> non-NULL garbage too. ?Running in gdb and getting a stack trace would be
> instructive.

Can you be more specific? (I have been using cygwin for a while, but I
never debugged it beforehand.)
I can install gdb using setup.exe . What should I do then in order to
obtain a stack trace?

Thanks,

    Yuval

>
> The handling of the environ pointer has always made my head hurt. ?In
> retrospect, I wish I'd simplified it for 1.7.x.
>
> cgf
>
> --
> 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
>
>

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]