> 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
