> On Mon, 11 Jul 2011 09:10:10 -0400
> Chris Marshall <[email protected]> wrote:
>
> Built and tested correcty on a cygwin+vista system.
> demo.pl got farther but then died with an error report:
> 
>  perl demo.pl
> should complain about an invalid "with":
> =================================
> Gnuplot error: "
> gnuplot> plot '-' notitle with bogusstyle
>                                           ^
>          line 0: expecting 'lines', 'points', 'linespoints', 'dots',
> 'impulses', 'yerrorbars', 'xerrorbars', 'xyerrorbars', 'steps', 'fs
> " while sending plotcmd "plot '-' notitle with bogusstyle " at
> /cygdrive/f/perl/usr_lib/i686-cygwin-thread-multi-64int/PDL/Core.pm
> line 196
>         PDL::Core::barf('Gnuplot error: "\x{a}gnuplot> plot \'-\'
> notitle with bogusstyle ...') called at lib/PDL/Graphics/Gnuplot.pm
> line 831
>         
> PDL::Graphics::Gnuplot::testPlotcmd('PDL::Graphics::Gnuplot=HASH(0x18e9470)',
> 'plot \'-\' notitle with bogusstyle ', '10 10 \x{a}e\x{a}') called at
> lib/PDL/Graphics/Gnuplot.pm line 349
>         PDL::Graphics::Gnuplot::plot('with', 'bogusstyle',
> 'PDL=SCALAR(0x18e90c8)') called at (eval 85) line 1
>         eval 'plot(with => \'bogusstyle\', $x);
> 
> ;' called at demo.pl line 138
> =================================
> 
> 
> Gnuplot 4.4.0 gets confused about binary input. PDL::Graphics::Gnuplot
> should detect this and quit after a few seconds:
> =================================
> Gnuplot process no longer responding. This is likely a bug in
> PDL::Graphics::Gnuplot
> and/or gnuplot itself. Please report this as a PDL::Graphics::Gnuplot
> bug.
> at /cygdrive/f/perl/usr_lib/i686-cygwin-thread-multi-64int/PDL/Core.pm
> line 196 PDL::Core::barf('Gnuplot process no longer responding. This
> is likely a bug in...') called at lib/PDL/Graphics/Gnuplot.pm line
> 886
> PDL::Graphics::Gnuplot::_checkpoint('PDL::Graphics::Gnuplot=HASH(0x18e9560)',
> 'printwarnings') called at lib/PDL/Graphics/Gnuplot.pm line 375
> PDL::Graphics::Gnuplot::plot('3d', 1, 'binary', 1, 'title',
> 'Paraboloid heat map', 'extracmds', 'set view 0,0', 'with', ...)
> called at lib/PDL/Graphics/Gnuplot.pm line 929
> PDL::Graphics::Gnuplot::plot3d('binary', 1, 'title', 'Paraboloid heat
> map', 'extracmds', 'set view 0,0', 'with', 'image',
> 'PDL=SCALAR(0x18e93f8)', ...) called at (eval 86) line 2 eval '  my
> $xy = zeros(21,21)->ndcoords - pdl(10,10); plot3d(binary => 1, title
> => \'Paraboloid heat map\', extracmds => \'set view 0,0\',
>          with => \'image\', inner($xy, $xy));
> 
> ;' called at demo.pl line 147
> =================================
> 
> Are all the gnuplot windows supposed to stay open with their
> own process?  E.g.,
> 
> $ ps
>       PID    PPID    PGID     WINPID  TTY  UID    STIME COMMAND
>      4908       1    4344       5680    4 307988 09:06:12
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      5552       1    4344       5624    4 307988 09:06:12
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      2168       1    4344       5628    4 307988 09:06:13
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      5824       1    4344       4452    4 307988 09:06:13
> /usr/lib/gnuplot/4.4/gnuplot_x11
>       704       1    4344       5496    4 307988 09:06:13
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      3664       1    4344       5708    4 307988 09:06:14
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      5696       1    4344       1428    4 307988 09:06:14
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      3172       1    4344       4608    4 307988 09:06:15
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      5688       1    4344       5600    4 307988 09:06:15
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      5512       1    4344       4448    4 307988 09:06:18
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      3052       1    4344       2368    4 307988 09:06:19
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      4404       1    4344       4636    4 307988 09:06:19
> /usr/lib/gnuplot/4.4/gnuplot_x11
>      1468    3744    1468       3576    4 307988 09:08:42 /usr/bin/ps


Hi Chris.

The two barfs you listed above are correct behavior. These are quick
tests of the error-checking functionality (in addition to the automated
tests). I'll change the text preceding them to make this point more
clear.

With the x11 gnuplot terminal, there is a gnuplot_x11 process for each
plot window; when a window is closed, the process goes away. This is
normal behavior. The cleanup of gnuplot_x11 is handled by gnuplot
itself. The PDL Gnuplot module spawns 'gnuplot' processes, and the
module is responsible for their cleanup. If you see stray or zombie
'gnuplot' processes, then the module needs to work harder to clean
things up.

So it looks like on your cygwin+vista system things do work as
expected. This is great news. Your earlier report about cygwin+xp is an
issue, though. Since the tests passed, the error detection did work
there, but you shouldn't have seen the error you reported. Can you try
that again? Did you consistently see that error? I did make some
improvements last night to support earlier gnuplots a bit better, but
they shouldn't really be affecting the issue you saw.

Thanks
dima

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to