Hi Andrew:

I have recently been doing some tests of familying devices
_without_ the -fam option, and I discovered a memory management
issue for -dev svgqt for this corner case.

software@raven> valgrind examples/c/x02c -dev svgqt -o test.epsqt
==22913== Memcheck, a memory error detector
==22913== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et
al.
==22913== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright
info
==22913== Command: examples/c/x02c -dev svgqt -o test.epsqt
==22913==

*** PLPLOT WARNING ***
All pages after the first skipped because family file output not
specified.

==22913== Invalid read of size 8
==22913==    at 0x779A3A8: QPainter::end() (in
/usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.2)
==22913==    by 0x6E01600: plD_eop_svgqt(PLStream*) (in
/home/software/plplot_svn/HEAD/build_dir/drivers/qt.so)
==22913==    by 0x4E4C5A6: plP_eop (in
/home/software/plplot_svn/HEAD/build_dir/src/libplplotd.so.11.0.0)
==22913==    by 0x40134E: demo2 (in
/home/software/plplot_svn/HEAD/build_dir/examples/c/x02c)
==22913==    by 0x400D85: main (in
/home/software/plplot_svn/HEAD/build_dir/examples/c/x02c)
==22913==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==22913== 
==22913== 
==22913== Process terminating with default action of signal 11 (SIGSEGV)
==22913==  Access not within mapped region at address 0x0
==22913==    at 0x779A3A8: QPainter::end() (in
/usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.2)
==22913==    by 0x6E01600: plD_eop_svgqt(PLStream*) (in
/home/software/plplot_svn/HEAD/build_dir/drivers/qt.so)
==22913==    by 0x4E4C5A6: plP_eop (in
/home/software/plplot_svn/HEAD/build_dir/src/libplplotd.so.11.0.0)
==22913==    by 0x40134E: demo2 (in
/home/software/plplot_svn/HEAD/build_dir/examples/c/x02c)
==22913==    by 0x400D85: main (in
/home/software/plplot_svn/HEAD/build_dir/examples/c/x02c)
==22913==  If you believe this happened as a result of a stack
==22913==  overflow in your program's main thread (unlikely but
==22913==  possible), you can try to increase the size of the
==22913==  main thread stack using the --main-stacksize= flag.
==22913==  The main thread stack size used in this run was 8388608.
==22913== 
==22913== HEAP SUMMARY:
==22913==     in use at exit: 1,017,715 bytes in 7,267 blocks
==22913==   total heap usage: 57,682 allocs, 50,415 frees, 7,520,506
bytes allocated
==22913== 
==22913== LEAK SUMMARY:
==22913==    definitely lost: 1,560 bytes in 5 blocks
==22913==    indirectly lost: 5,344 bytes in 166 blocks
==22913==      possibly lost: 117,185 bytes in 335 blocks
==22913==    still reachable: 893,626 bytes in 6,761 blocks
==22913==         suppressed: 0 bytes in 0 blocks
==22913== Rerun with --leak-check=full to see details of leaked memory
==22913== 
==22913== For counts of detected and suppressed errors, rerun with: -v
==22913== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 10 from
6)
Segmentation fault

Other familied devices for this device driver (e.g., pngqt and epsqt)
without the -fam option give valgrind-clean results as do all three
familied qt devices if the -fam option is used.  So I am sure the
issue is svgqt handles the no-familying case slightly differently
than pngqt and epsqt, but the difficulty is finding where this
error occurs in our svgqt-related code.

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
__________________________

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to