Mail Archives: cygwin/2009/02/20/21:27:34
For the last several days I have been having a terrible time with the old
2 [main] perl 3620 C:\cygwin-1.7\bin\perl.exe: *** fatal error -
unable to remap
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\Cwd\Cwd.dll to same
address as parent(0x860000) != 0x14E0000
5 [main] perl 3636 child_info::sync: wait failed, pid 3620, Win32
error 183
418 [main] perl 3636 fork: child 3620 - died waiting for dll
loading, errno 11
issue. It's being triggered when running the autotools (so the libtool
testsuite is a nightmare, as is trying to package anything using cygport
for 1.7) -- and the culprit is ALWAYS Cwd.dll. I've tried rebasing to
various addresses (0x70000000, 0x68000000, 0x6500000) but to no avail.
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.
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?
--
Chuck
PS. The full output of sysinternal's listdll for the parent (first) and
child (second) is below. But first: in the parent, there are three items
that have an image base of 0x0, so they are "relocated", in addition to
Cwd.dll:
name mapped to mapped size image base
locale.nls 0x19990000 0x0037f000 0x0
locale.nls 0x00a10000 0x0037f000 0x0
oleaccrc.dll 0x008d0000 0x00001000 0x0
Cwd.dll 0x00860000 0x00008000 0x5d6a0000
In the (partially loaded) child, there is as yet only one copy of
locale.nls loaded, and the Cwd.dll that are relocated from their actual
image base:
name mapped to mapped size image base
locale.nls 0x00960000 0x0037f000 0x0
Cwd.dll 0x014e0000 0x00008000 0x5d6a0000
In each case, all of the other dlls are loaded at their actual image
base and are not relocated.
ListDLLs v2.25 - DLL lister for Win9x/NT
Copyright (C) 1997-2004 Mark Russinovich
Sysinternals - www.sysinternals.com
------------------------------------------------------------------------------
perl.exe pid: 4948
Command line: C:\cygwin-1.7\bin\perl.exe -w /usr/bin/autom4te-2.63
--language=m4sh -B libltdl/config libltdl/config/ltmain.m4sh
Base Size Version Path
0x52060000 0x8000 C:\cygwin-1.7\bin\perl.exe
0x77a80000 0x127000 6.00.6001.18000 C:\Windows\system32\ntdll.dll
0x763a0000 0xdb000 6.00.6001.18000 C:\Windows\system32\kernel32.dll
0x61000000 0x300000 1007.00.0000.0000 C:\cygwin-1.7\bin\cygwin1.dll
0x76c10000 0xc6000 6.00.6001.18000 C:\Windows\system32\ADVAPI32.DLL
0x76ab0000 0xc2000 6.00.6001.18051 C:\Windows\system32\RPCRT4.dll
0x5d760000 0x184000 C:\cygwin-1.7\bin\cygperl5_10.dll
0x64ed0000 0x7000 C:\cygwin-1.7\bin\cygcrypt-0.dll
0x75630000 0x3b000 6.00.6001.18000 C:\Windows\system32\rsaenh.dll
0x77c10000 0xaa000 7.00.6001.18000 C:\Windows\system32\msvcrt.dll
0x5d680000 0xd000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\Data\Dumper\Dumper.dll
0x5d050000 0x9000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\IO\IO.dll
0x5d130000 0x7000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\Fcntl\Fcntl.dll
0x5cee0000 0x1c000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\POSIX\POSIX.dll
0x00860000 0x8000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\Cwd\Cwd.dll
0x76130000 0x2c000 6.00.6001.18000 C:\Windows\system32\apphelp.dll
0x73fd0000 0x32000 6.00.6001.18000 C:\Windows\system32\winmm.dll
0x76300000 0x9d000 6.00.6001.18000 C:\Windows\system32\USER32.dll
0x76780000 0x4b000 6.00.6001.18159 C:\Windows\system32\GDI32.dll
0x76480000 0x144000 6.00.6001.18000 C:\Windows\system32\ole32.dll
0x767d0000 0x8d000 6.00.6001.18000 C:\Windows\system32\OLEAUT32.dll
0x74680000 0x39000 4.02.5406.0000 C:\Windows\system32\OLEACC.dll
0x76760000 0x1e000 6.00.6001.18000 C:\Windows\system32\IMM32.DLL
0x76d10000 0xc8000 6.00.6001.18000 C:\Windows\system32\MSCTF.dll
0x77cd0000 0x9000 6.00.6001.18000 C:\Windows\system32\LPK.DLL
0x768e0000 0x7d000 1.626.6001.18000 C:\Windows\system32\USP10.dll
0x6c1b0000 0x5000 8.00.0000.0223 C:\Windows\system32\avgrsstx.dll
------------------------------------------------------------------------------
perl.exe pid: 3620
Command line: C:\cygwin-1.7\bin\perl.exe
Base Size Version Path
0x52060000 0x8000 C:\cygwin-1.7\bin\perl.exe
0x77a80000 0x127000 6.00.6001.18000 C:\Windows\system32\ntdll.dll
0x763a0000 0xdb000 6.00.6001.18000 C:\Windows\system32\kernel32.dll
0x61000000 0x300000 1007.00.0000.0000 C:\cygwin-1.7\bin\cygwin1.dll
0x76c10000 0xc6000 6.00.6001.18000 C:\Windows\system32\ADVAPI32.DLL
0x76ab0000 0xc2000 6.00.6001.18051 C:\Windows\system32\RPCRT4.dll
0x5d760000 0x184000 C:\cygwin-1.7\bin\cygperl5_10.dll
0x64ed0000 0x7000 C:\cygwin-1.7\bin\cygcrypt-0.dll
0x5d680000 0xd000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\Data\Dumper\Dumper.dll
0x5d050000 0x9000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\IO\IO.dll
0x5d130000 0x7000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\Fcntl\Fcntl.dll
0x5cee0000 0x1c000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\POSIX\POSIX.dll
0x014e0000 0x8000
C:\cygwin-1.7\lib\perl5\5.10\i686-cygwin\auto\Cwd\Cwd.dll
--
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/
- Raw text -