On Feb 20 21:27, Charles Wilson wrote: > Using process explorer, I find that for SOME reason, even in the parent > perl, the Cwd.dll (one of the DLLs shipped with perl, in > /usr/lib/perl5/5.10/i686-pc-cygwin/auto/Cwd/Cwd.dll) is being loaded in > a strange location: > > Image Base: 0x5d6a0000 > Location in Parent: 0x00860000 > Location in Child : 0x014E0000 > > I can't see that there is any conflict at the image base location of > 0x5d6a0000, so I'm not sure why, in the parent, Cwd.dll was loaded that > low. However, the low memory region is rife with conflict, and in fact, > in the child: > > C:\Windows\system32\locale.nls > image base: 0x0 > mapped location: 0x00960000 > mapped size: 0x0037F000 > > which means that locale.nls extends all the way down to 0x005E1000, so > Cwd.dll can't go at 0x00860000.
Hm? Isn't that end_of_mapped_region = mapped_location + mapped_size? > Rebasing won't solve this problem, because Cwd.dll is NOT being loaded > at the rebased (0x5d6a0000) location even tho, as far as I can tell, > there is no conflict there. Instead, it's being loaded at a traffic > heavy location for no good reason that I can see -- and I keep getting > hit by passing cars. > > Help? I'm wondering if that's a result of ASLR in Vista. The document http://taossa.com.nyud.net:8080/archive/bh08sotirovdowd.pdf describes, starting at page 11, a registry key to influence Vista's ASLR behaviour. Does that change the behaviour for you? If so, there's nothing Cygwin can do against that. In the long run, only a native fork() implementation would help. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/