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: plotting from octave: address space already occupied, fork aborts


On 9/14/2011 4:52 AM, Paul wrote:
I am using the 2011-08-29 snapshot at http://cygwin.com/snapshots because
cygwin-1.7.9-1 does not allow me to write to, or create, files on network drives
(http://cygwin.com/packages/cygwin/cygwin-1.7.9-1).

snapshot is fine. (1.7.9-1 has a bug that does not allow to plot on any MS system)


I am using Windows 7 Enterprise 64-bit.


My current problem is using plotting commands from Octave.  It is not a gnuplot
problem because I can plot from gnuplot.  If I plot the simplest thing from
octave [ e.g. plot( 1:10 , 1:10 ) ], I get:

    5 [main] octave-3.4.2 2892 child_info_fork::abort: address space needed by
'max.oct' (004F0000) is already occupied
    error: popen2: process creation failed -- Resource temporarily unavailable
    error: called from:
    error:   /usr/share/octave/3.4.2/m/plot/__gnuplot_open_stream__.m at line 30,
column 44
    error:   /usr/share/octave/3.4.2/m/plot/__gnuplot_drawnow__.m at line 72,
column 19

I already did rebaseall and peflagsall from ash.  I ensured there were no cygwin
processes running, then invoked ash from the DOS command prompt.  I also
rebooted after peflagsall.

What else can I try?

Hi Paul,
your problem is a new one :-(

max.oct is a dll of octave, and its base address is not 004F0000

$ objdump -p /lib/octave/3.4.2/oct/i686-pc-cygwin/max.oct |grep ImageBase

ImageBase 686c0000

I guess that another dll is loaded at 686c0000, so max.oct
is loaded too near at 004000000, the base address of any exe

$ objdump -p /bin/gnuplot.exe |grep ImageBase
ImageBase               00400000

$ objdump -p /bin/octave-3.4.2.exe |grep ImageBase
ImageBase               00400000

So when octave fork gnuplot, gnuplot take that address space
and max.oct can not be loaded at the previous 004F0000.

peflagsall is not aware that .oct are also dll, so you could try with

$ peflagsall -s 'exe|dll|so|oct'



Regards
Marco




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