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]

Re: bzr problem


Achim Gratz wrote:
> Katsumi Yamaoka writes:
>>> I'd venture to guess that the DLL(s) in question belong to a Python
>>> package.  If so, does the rebaseall script you are using look at those
>>> libraries at all?
>>
>> As far as I can observe, those DLLs are listed in TEMP/rebase.lst
>> (that rebaseall temporarily generates), and `rebaseall -v' shows
>> that they are processed by `rebase'.  Thanks.

> You could dump the contents of the rebase database then and check what
> the base address for this library is supposed to be.  Chances are that
> it is very much higher than what your example of a fork fail shows.  In
> my experience, such low base addresses indicate BLODA; however if a
> library is indeed rebased into this region it has almost zero chances of
> correctly forking in that address range.

Sorry, I don't know what the proper base address is, how it is
decided, nor what a value causes.  If possible, could you spend
a little time to look into the rebaseall log I made?  Here it is:

http://www.jpl.org/tmp/rebaseall_log.txt

At that time, I ran `rebaseall -v' and verified it ran `rebase'
as follows:

rebase -v -n -s -4\
 -T /cygdrive/c/Users/yamaoka/AppData/Local/Temp/rebase.lst

BTW, when I run `bzr update' for the Emacs trunk, it shows a warning
that varies like:

0 [main] python2.7 1300 child_info_fork::abort: unable to remap\
_ARC4.dll to same address as parent (0xBE0000) - try running rebaseall
0 [main] python2.7 4180 child_info_fork::abort: address space needed by\
 '_socket.dll' (0x860000) is already occupied
0 [main] python2.7 8072 child_info_fork::abort: address space needed by\
 'operator.dll' (0x3D0000) is already occupied

rebaseall_log.txt shows that those DLLs were rebased into:

/usr/lib/python2.7/site-packages/Crypto/Cipher/_ARC4.dll:\
 new base = 36df0000, new size = 10000
/usr/lib/python2.7/lib-dynload/_socket.dll:\
 new base = 37170000, new size = 20000
/usr/lib/python2.7/lib-dynload/operator.dll:\
 new base = 36f90000, new size = 10000

As for "_ARC4.dll", how does "36df0000" mean "0xBE0000"?

Thanks in advance.
Regards,

P.S. I tried running rebaseall also for some files I installed in
/usr/local, but it didn't help.  What I did then was:

--- rebaseall~	2013-01-16 16:36:08.000000000 +0000
+++ rebaseall	2013-07-16 09:47:40.982715800 +0000
@@ -221,6 +221,8 @@
     ;;
 esac
 
+find /usr/local -regex '.+\.\(dll\|so\|oct\)$' >> "$TmpFile"
+
 # Append user supplied file list, if any
 if [ -n "${FileList}" ]
 then


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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