Hi Phil:

Your latest commit (f6dcf09703 = "Fixed reentrant behaviour in
wxPLViewer...") mostly works.  For example, it builds without
issues, and examples 1 and 4 (the first two run by the
test_c_wxwidgets target) appear to work at run-time with
no obvious issues.  However, example 8 now has a subtle
pattern superimposed on the surface that wasn't there
before (and which is not there for any other device), and example 14
segfaults, i.e.,

software@raven> examples/c/x14c -dev wxwidgets

*** PLPLOT ERROR, ABORTING OPERATION ***
Unkown error in plD_init_wxwidgets., aborting operation
Segmentation fault

The valgrind summary for examples 1, 4, and 8 is

ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 6 from 6)

which is good.  But the equivalent result for example 14 is

ERROR SUMMARY: 1586 errors from 50 contexts (suppressed: 6 from 6)

I can give you the full report if you like, but for now I only
give you the first part of that report below since that is probably the
part of the report that you will find of most use for tracking down
the issue.
==23600== Memcheck, a memory error detector
==23600== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==23600== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==23600== Command: examples/c/x14c -dev wxwidgets
==23600==

*** PLPLOT ERROR, ABORTING OPERATION ***
Unkown error in plD_init_wxwidgets., aborting operation
==23600== Invalid read of size 8
==23600==    at 0x6E26914: wxPLDevice::BeginPage(PLStream*) 
(wxwidgets_dev.cpp:867)
==23600==    by 0x6E22848: plD_bop_wxwidgets(PLStream*) (wxwidgets.cpp:352)
==23600==    by 0x4E51FFC: plP_bop (plcore.c:211)
==23600==    by 0x4E56EC3: c_plinit (plcore.c:2271)
==23600==    by 0x4017B9: main (x14c.c:84)
==23600==  Address 0x6a6aba8 is 8 bytes inside a block of size 1,312 free'd
==23600==    at 0x4C279DC: operator delete(void*) (vg_replace_malloc.c:457)
==23600==    by 0x6E224BE: plD_init_wxwidgets(PLStream*) (wxwidgets.cpp:174)
==23600==    by 0x4E51DEC: plP_init (plcore.c:144)
==23600==    by 0x4E56EBE: c_plinit (plcore.c:2270)
==23600==    by 0x4017B9: main (x14c.c:84)

Line 84, of course, is the plinit call, and the only difference there
with other examples use of plinit is the use of the geometry option.

Indeed, I get the same issue for example 1 when -geometry is specified
on the command line:

examples/c/x01c -dev xwin -geometry 800x600
PLplot library version: 5.10.0

*** PLPLOT ERROR, ABORTING OPERATION ***
Unkown error in plD_init_wxwidgets., aborting operation
Segmentation fault

In sum there are 4 issues here introduced or exposed by your recent series of
commits.

(1) Bad abort operation for the "Unkown error...." which causes
substantial memory managment issues.
(2) Error message itself needs a spelling change: Unkown --> Unknown
(3) regression for -geometry option
(4) regression of an added surface pattern artifact for example 8

I suspect issues (1) and (2) have been with us since the start of your
new wxwidgets development, and we are just lucky that issue (3)
provides the test case that exposes (1) and (2).  So to make sure that
the fixes for (1) and (2) are correct, I suggest you fix them before fixing
(3).

Also, please don't get too discouraged by these small but annoying
issues we both keep finding. Instead, just keep plugging away at the
fixes no matter how trivial (such as the above spelling fix).

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
__________________________

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to