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: ruby rebase / remap problems


On 22/01/2013 22:38, David Stacey wrote:
I have a 'kitchen sink' Cygwin installation from 2013-01-14. This gives 'rebase' errors when running the following command (taken from a ./configure script):

$ ruby -r mkmf -e 'exit(have_func("rb_hash_foreach") ? 0 : 1)'
checking for rb_hash_foreach()... 0 [main] ruby 3064 child_info_fork::abort: unable to remap transdb.so to same address as parent (01090000) - try running rebaseall
1 [main] ruby 1268 child_info_fork::abort: unable to remap etc.so to same address as parent (010A0000) - try running rebaseall
1 [main] ruby 3748 child_info_fork::abort: unable to remap transdb.so to same address as parent (01090000) - try running rebaseall
1 [main] ruby 3148 child_info_fork::abort: unable to remap etc.so to same address as parent (010A0000) - try running rebaseall
1 [main] ruby 472 child_info_fork::abort: unable to remap transdb.so to same address as parent (01090000) - try running rebaseall
1 [main] ruby 1648 child_info_fork::abort: unable to remap etc.so to same address as parent (010A0000) - try running rebaseall


The 'rubyrebase' shell script (submitted to this list about a year ago) came to my rescue:
http://www.cygwin.com/ml/cygwin/2012-02/msg00701.html

I may have been a little premature here - rubyrebase appeared to fix the immediate issue above, but in doing so it moved my rebase problem somewhere else :-(


Forgive my naive understanding of this, but I gather that rebaseall allocates a portion of memory for each Cygwin dll. Presumably, this bucket of memory is finite, so is it possible that Cygwin could ever grow to a size where it effectively runs out of rebasing address space - particularly on XP, which doesn't support Address Space Layout Randomization?

I ask this for two reasons:

1. If I install just ruby and g++ into a fresh Cygwin installation, then ruby works fine. I add more packages, do a rebaseall, and still ruby runs fine. Again, I add more packages, followed by a rebaseall, and ruby is OK. I only get the rebase / remap errors after installing absolutely everything. So we either have a clash with another Cygwin package, or we have hit some finite resource problem.

2. A 'kitchen sink' installation from 2012-12-19 works fine, so (presumably) it is something that has gone into Cygwin in the last month that has triggered this problem. In that time, the GStreamer packages have been added to Cygwin, and these have introduced over 200 dlls. [Although I pick on GStreamer, this is no criticism of Yaakov or his excellent work]

All of the above is complete hypothesis, and could be totally wrong. But to my rather naive understanding of the rebase problem it seems feasible. So, has Cygwin simply outgrown Windows XP?

Dave.



--
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]