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]

[1.7] rebaseall doesn't solve the problem


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/


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