X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_20,J_CHICKENPOX_63,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: sourceware.org Message-ID: <499F6682.1090204@cwilson.fastmail.fm> Date: Fri, 20 Feb 2009 21:27:14 -0500 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.19) Gecko/20081209 Thunderbird/2.0.0.19 Mnenhy/0.7.6.666 MIME-Version: 1.0 To: Cygwin Mailing List Subject: [1.7] rebaseall doesn't solve the problem Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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/