On 2014-03-14 20:21-0000 John Duffy wrote:

> Hi
>
> I have the following pseudo code which work well until it freezes...
>
> plsdev("wingcc");
> plspage(0, 0, 1600, 800, 0, 0);
> plspause(0);
> plinit();
>
> for (...) {
> plenv(); // set new x & y max and min parameters
> plline(); // data to plot
> }
>
> plend();
>
> Like I say, it works well until it freezes after a few hundred iterations of 
> displaying data. I would appreciate any help in pointers where to look for 
> problems, my code or within the "wingcc" driver. When the code freezes, 
> Windows reports the plotting window as not responding.

Hi John:

My guess is you are encountering some sort of memory management issue
(heap corruption) or memory leak in the wingcc code or in the PLplot
core library that is triggered by all your iterations.

My bet is on a memory management issue for the combination of
wingcc and the general PLplot -np option that you are using. My
impression is that combination does not work as well as it should. For
example, although results for the wingcc device normally display well
for me on the Wine platform, they only show "transparent" results
(just the frame for the window with everything else leaking through
from the display below) if the -np PLplot option is used.  Of course,
this strange behaviour might just be the result of a Wine bug, but the
other alternative is some memory management issue with how -np is
implemented for the wingcc device driver that is creating a wide
variety of peculiar results on various platforms.

To distinguish whether the problem is in wingcc + the -np option or in
the PLplot core, what happens if you try the equivalent for the svg
device?  (The -np option is ignored in that case since svg is a
file-oriented device.  However, use the command line options

-fam -fflen 3

so that each of your plot pages [generated by plenv] will be written
to a separate file rather than just the first page written to one file
with the rest of the pages dropped).  I also suggest you keep the
number of iterations small until you get an idea of the disk space
consumed by all the different svg page files you are going to generate
by a large number of iterations.

If you do have any trouble with the svg case could you simplify the
example as much as possible while still demonstrating the issue, and
then send me that simplified code so I can try it for myself? I would
be happy to run it here on Linux under valgrind to check for any
memory management or memory leak issues.  Unfortunately, I cannot do
such a check for wingcc since wingcc is Windows only and valgrind is
Unix only.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general

Reply via email to