Marc Girod
Fri Sep 30 17:56:00 GMT 2011


I keep my installation up-to-date on a weekly basis, and never fail to
rebaseall/peflagsall as many times as needed to be able to start emacs
in an X session without fork errors. Then I do a perlrebase.

However, I eventually get STATUS_ACCESS_VIOLATION errors, in 
various contexts, e.g. (last now) doing a dired.
I have been keeping the *stackdump files produced, and even logging
their contents for fear they would get overwritten.
I note that the value of eip (instruction pointer register?) reported is
often the same. Here are the data for the last event:

~> ls -ltr *.stackdump
-rwxrwxrwx 1 emagiro EEI-ATusers 647 Mar 10  2011 xauth.exe.stackdump
-rwxrwxrwx 1 emagiro EEI-ATusers 320 Jul 18 10:39 bash.exe.stackdump
-rwxrwxrwx 1 emagiro EEI-ATusers 320 Jul 18 10:56 XWin.exe.stackdump
-rwxrwxrwx 1 emagiro EEI-ATusers   0 Sep 22 06:44 sh.exe.stackdump
-rwxrwxrwx 1 emagiro EEI-ATusers 325 Sep 30 10:40 emacs-X11.exe.stackdump
~> cat emacs-X11.exe.stackdump
Exception: STATUS_ACCESS_VIOLATION at eip=6102048B
eax=01B23D00 ebx=61248414 ecx=75E6B363 edx=00276818 esi=00000000
ebp=61020C00 esp=0022C7CC program=C:\cygwin\bin\emacs-X11.exe, pid 4628,
thread main
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame     Function  Args
End of stack trace

Also, in the cygwin shell which from which the X session is launched,
I got:

   2 [main] emacs-X11 4628 exception::handle: Exception:
726 [main] emacs-X11 4628 open_stackdumpfile: Dumping stack trace to
   2 [main] emacs 6660 child_copy: linked dll data write copy failed,
0x26B000..0x274C8C, done 0, windows pid 6692, Win32 error 487

And I checked:

~> net helpmsg 487

Attempt to access invalid address.

My understanding, from reading previous threads in the list, is that
some Windows process performs DLL injection, which modifies the
memory map of the emacs process, so that it doesn't match the 
expectation of 'ls' while being forked as part of executing 'dired'.

Is there any way to identify this Windows process, or the exact DLL,
so as to know in advance how to rebase the processes to avoid this
conflict? Can I use the above data for that purpose?
Or is it doomed?
And is my understanding flawed?

View this message in context:
Sent from the Cygwin list mailing list archive at

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list