plotting from octave: address space already occupied, fork aborts

Marco atzeri marco.atzeri@gmail.com
Wed Sep 14 12:14:00 GMT 2011


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



More information about the Cygwin mailing list