delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/10/11/18:56:06

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <3BC62383.6030302@ece.gatech.edu>
Date: Thu, 11 Oct 2001 18:56:03 -0400
From: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1
X-Accept-Language: en-us
MIME-Version: 1.0
To: Richard Elkins <richard DOT elkins AT citicorp DOT com>
CC: cygwin AT cygwin DOT com
Subject: Re: Solution for Oracle 8i on Windows client errors 6 & 487 in Cygwin 1.3.3
References: <200110112244 DOT SAA25078 AT magnolia DOT citicorp DOT com>

The problem is that cygwin1.dll must not be relocated across a fork/exec 
boundary (e.g. bash exec's "oracle.exe" -- in bash's memory space and in 
"oracle.exe"s memory space cygwin1.dll must be located at the same 
place.  However, bash doesn't depend on the oracle DLL's while 
"oracle.exe" does -- and those oracle DLL's conflict with cygwin1.dll. 
So *something* is dynamically relocated during the exec -- bad luck that 
it happens to by cgywin1.dll instead of some other oracle DLL.

By rebasing cygwin1.dll to a location that does not conflict with the 
oracle DLL's, you insure that it is not relocated during THAT exec 
operation (bash -> "oracle.exe") However, you now have a nonstandard 
cygwin1.dll that might conflict with OTHER dlls or executables on your 
system -- and we won't be able to help you with that.  :-(

That's why I suggested rebasing the oracle DLL's instead.

--chuck


Richard Elkins wrote:

> This issue must have been an ImageBase conflict of some sort although I am not sure exactly why it happened (a 
> rebase system call failed?  something else?).  There wasn't much info available.  Anywasy, the tips from Ralph 
> Habacker and Charles Wilson were a big help to me.  
> 
> There are too many Oracle DLLs to rebase all of them; I'd rather focus on one if possible.  So, in a DOS-window, after 
> rebooting [make sure no one is using cygwin1.dll]:
> 
>    cd $CYGWIN\bin
>    rebase -b 0x68000000 cygwin1.dll
> 
> This seems to have done the trick.  Oracle actually works now.  Cygwin seems stable.  I shall be testing more.
> 
> Perhaps the rebase operation would solve a lot of the other reported Win32 error 487 issues.  Anyways, this might be a 
> subject for a general-purpose tip/technote on resolving DLL-conflicts.
> 
> Cheers .. Richard
> 
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
> 
> 



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019