On 2017-07-22 22:47+0100 Phil Rosenberg wrote:

Attached is a new patch series in a tarball. I don't see a huge need
to keep two separate branches any more. In fact I just tried to
disentangle my latest few commits into two branches using git rebase
-i and endured a whole world of pain.

Hi Phil:

Thanks very much for this third version of your exception handler
private topic branch.  It does sound like you prefer to keep your
development environment simpler (at least for now) with just one
branch so I will take that approach as well.

After unpacking the tarball here in

~irwin/Phil.Rosenberg/20170722/exception_handler/

I did the following:

# Create up-to-date master branch
git checkout master
git fetch
git merge --ff-only origin/master
# create new private topic branch from that branch
git checkout -b exception_handler3
# Apply _all_ your commits to that branch
cat ~irwin/Phil.Rosenberg/20170722/exception_handler/*.patch |git am

The result here of that last command was the following:

Applying: Added functions that will record memory allocations in the PLStream
Applying: Part way through plmalloc implementation
Applying: Removed plinitializememorylist and plfreeall calls
Applying: Fix issue with growing memorylist
Applying: Added missing ;
Applying: Added Memory allocation function declarations to plplotP.h
Applying: Added some further memory management functions and check for PLStream 
memory
/home/software/plplot/HEAD/plplot.git/.git/rebase-apply/patch:104: trailing 
whitespace.
//Cause a pointer to no longer be managed by plplot, warning: 1 line adds whitespace errors.
Applying: Fixed some problems with memory management and performed style update.
/home/software/plplot/HEAD/plplot.git/.git/rebase-apply/patch:98: trailing 
whitespace.

warning: 1 line adds whitespace errors.
Applying: moved memory management functions from plstrm.h to plplotP.h removing 
duplicate definitions.
Applying: Removed c_usplparseopts function, which was pollution from another 
branch
Applying: Removed use of plmalloc and plfree from plcont.c. This was pollution 
from another branch.
Applying: Added Exception handling macros/functions/variables
Applying: Add some test code for exception handling
Applying: Fixed PLENDTRY/PLTHROW bug
Applying: Remove plexit calls from advancejumpbuffer and plinitialisememorylist
Applying: Added some comments around PLTRY, PLCATCH and PLENDTRY
Applying: Free memory from jumpbuffer stack in plend1
Applying: Added PLTRY blocks to all the api functions in core.c
Applying: Added use of plmalloc to the contour code.
Applying: Restyle only

So all your commits applied cleanly on this fresh and up-to-date topic branch
aside from some extremely minor trailing whitespace issues which should
be easy for me to fix (but I won't do that yet) after the fact
by running the (Unix-tools-only) scripts/remove_trailing_whitespace.sh.

I tested that branch by setting the environment variable
CFLAGS='-g' (to generate line-number information in valgrind
reports), making a fresh configuration of PLplot with
the -DVALGRIND_ALL_TESTS=ON cmake option, and running

make VERBOSE=1 test_c_psc >& test_c_psc.out

Unlike my original good benchmark with this test, the result for this
branch was not clean, i.e. test_c_psc.out (collected in the attached
tarball) ends with an actual valgrind error for example 14.  For
historical reasons examples 14, 17, and 29 are done last so because of
this error for example 14, examples 17 and 29 were not executed, but
all the rest of our standard examples from 00 to 33 (except for 32
which we historically do not test because it has not been propagated
to languages other than C so there is no interesting basis of
comparison) were run and returned success (a 0 exit code). However,
the commands

software@raven> grep -L "0 errors from 0 contexts" 
examples/valgrind.x??c.psc.log
examples/valgrind.x11c.psc.log
examples/valgrind.x14c.psc.log
examples/valgrind.x21c.psc.log
software@raven> grep -L "no leaks are possible" examples/valgrind.x??c.psc.log
examples/valgrind.x14c.psc.log

demostrate there are imperfect valgrind results for examples 11, 14,
and 21 and actually looking at those three files (also collected in
the attached tarball) show those errors are quite serious in nature,
e.g., the initial trouble for all three is an invalid write which is
normally quite bad.  Furthermore, for example 14 that initial error
compounded so badly that valgrind itself exited with an error message
(and non-zero exit code).  I hope these collected valgrind reports
with exact source code line numbers will help you debug all these issues
so we can get back to perfect valgrind reports for the next iteration.

This is already long enough with an attachment for you to respond to
as well so I will place my further response to your additional remarks in a
separate e-mail.

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
__________________________

Attachment: exception_handler_report.tar.gz
Description: tarball of error report and valgrind log files concerning your third version of

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to