On 11/18/2016 02:34 AM, Alan W. Irwin wrote:
On 2016-11-17 20:43-0500 Hazen Babcock wrote:

Sorry, it appears that I was missing the qttools5-dev package.

Glad that "how to build" issue is sorted out.

As an aside it looks like x02c works fine with Qt5 even in -fam mode.

Does that mean valgrind reports no memory management issues?  That is
a pretty reliable measurement of the probability of encountering
segfaults with Qt5, and would be an important improvement compared to
my Qt5 version 5.3.2 from Debian Jessie.

I just meant that it ran without segfaulting. However it does also seem to have fewer invalid reads than the Qt4 equivalent.

$ qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu

-Hazen

==3178== Memcheck, a memory error detector
==3178== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==3178== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==3178== Command: ./x02c -fam -dev pngqt -o ex2
==3178== 
==3178== Conditional jump or move depends on uninitialised value(s)
==3178==    at 0x12B5713D: ??? (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x8DD21D3: ??? (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DEC9A5: g_signal_emit_valist (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DED554: g_signal_emit_by_name (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DD98F7: g_object_set_valist (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DD9FCB: g_object_set (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x77A2935: ??? (in 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.5.1)
==3178==    by 0x772649C: QStyleFactory::create(QString const&) (in 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.5.1)
==3178==    by 0x76BF754: QApplication::style() (in 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.5.1)
==3178==    by 0x76BFB1C: QApplicationPrivate::initialize() (in 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.5.1)
==3178==    by 0x76BFB6E: QApplicationPrivate::construct() (in 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.5.1)
==3178==    by 0x7134421: initQtApp(bool) (qt.cpp:104)
==3178== 
==3178== Conditional jump or move depends on uninitialised value(s)
==3178==    at 0x908E3F8: g_utf8_offset_to_pointer (in 
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.1)
==3178==    by 0x12B5A734: ??? (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x12B5AD38: ??? (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x12B5B06E: ??? (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x8DD1FA4: g_closure_invoke (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DE3AFB: ??? (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DECD5B: g_signal_emit_valist (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DED08E: g_signal_emit (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x12CE9B53: gtk_widget_realize (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x12CEAE67: gtk_widget_set_parent (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x12B89A32: gtk_fixed_put (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x8DD50A6: g_cclosure_marshal_VOID__OBJECTv (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178== 
==3178== Conditional jump or move depends on uninitialised value(s)
==3178==    at 0x908E425: g_utf8_offset_to_pointer (in 
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.1)
==3178==    by 0x12B5A734: ??? (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x12B5AD38: ??? (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x12B5B06E: ??? (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x8DD1FA4: g_closure_invoke (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DE3AFB: ??? (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DECD5B: g_signal_emit_valist (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x8DED08E: g_signal_emit (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178==    by 0x12CE9B53: gtk_widget_realize (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x12CEAE67: gtk_widget_set_parent (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x12B89A32: gtk_fixed_put (in 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.30)
==3178==    by 0x8DD50A6: g_cclosure_marshal_VOID__OBJECTv (in 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.1)
==3178== 
==3178== Invalid read of size 1
==3178==    at 0x51679C0: __strcmp_sse2_unaligned (strcmp-sse2-unaligned.S:24)
==3178==    by 0x83C04CC: QCoreApplication::applicationFilePath() (in 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x83C269F: QCoreApplication::applicationDirPath() (in 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x81C64F5: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x81C6906: QLibraryInfo::platformPluginArguments(QString const&) 
(in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x7CDAF93: QGuiApplicationPrivate::createPlatformIntegration() 
(in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.5.1)
==3178==    by 0x7CDBECC: QGuiApplicationPrivate::createEventDispatcher() (in 
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.5.1)
==3178==    by 0x83C17E5: QCoreApplication::init() (in 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x83C1855: 
QCoreApplication::QCoreApplication(QCoreApplicationPrivate&) (in 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x7CDDCC8: 
QGuiApplication::QGuiApplication(QGuiApplicationPrivate&) (in 
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.5.1)
==3178==    by 0x76BFBCC: QApplication::QApplication(int&, char**, int) (in 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.5.1)
==3178==    by 0x7134421: initQtApp(bool) (qt.cpp:104)
==3178==  Address 0x6d854c0 is 0 bytes inside a block of size 10 free'd
==3178==    at 0x4C2F74B: operator delete[](void*) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3178==    by 0x713451F: closeQtApp() (qt.cpp:117)
==3178==    by 0x71352F7: plD_tidy_rasterqt(PLStream*) (qt.cpp:482)
==3178==    by 0x4E5C10D: plP_tidy (plcore.c:234)
==3178==    by 0x4E6D79A: plGetFam (plctrl.c:2778)
==3178==    by 0x71356C3: plD_bop_pngqt(PLStream*) (qt.cpp:578)
==3178==    by 0x4E5C026: plP_bop (plcore.c:211)
==3178==    by 0x4E89893: c_plbop (plpage.c:125)
==3178==    by 0x400ED8: demo2 (x02c.c:70)
==3178==    by 0x400E5B: main (x02c.c:28)
==3178==  Block was alloc'd at
==3178==    at 0x4C2E80F: operator new[](unsigned long) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3178==    by 0x71343AC: initQtApp(bool) (qt.cpp:95)
==3178==    by 0x71346FE: plD_init_rasterqt(PLStream*) (qt.cpp:279)
==3178==    by 0x4E5BDE0: plP_init (plcore.c:144)
==3178==    by 0x4E61738: c_plinit (plcore.c:2345)
==3178==    by 0x400E51: main (x02c.c:24)
==3178== 
==3178== Invalid read of size 1
==3178==    at 0x4C31FB4: strcmp (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3178==    by 0x83C04CC: QCoreApplication::applicationFilePath() (in 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x83C269F: QCoreApplication::applicationDirPath() (in 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x81C64F5: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x81C6906: QLibraryInfo::platformPluginArguments(QString const&) 
(in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x7CDAF93: QGuiApplicationPrivate::createPlatformIntegration() 
(in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.5.1)
==3178==    by 0x7CDBECC: QGuiApplicationPrivate::createEventDispatcher() (in 
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.5.1)
==3178==    by 0x83C17E5: QCoreApplication::init() (in 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x83C1855: 
QCoreApplication::QCoreApplication(QCoreApplicationPrivate&) (in 
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==3178==    by 0x7CDDCC8: 
QGuiApplication::QGuiApplication(QGuiApplicationPrivate&) (in 
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.5.1)
==3178==    by 0x76BFBCC: QApplication::QApplication(int&, char**, int) (in 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.5.1)
==3178==    by 0x7134421: initQtApp(bool) (qt.cpp:104)
==3178==  Address 0x6d854c1 is 1 bytes inside a block of size 10 free'd
==3178==    at 0x4C2F74B: operator delete[](void*) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3178==    by 0x713451F: closeQtApp() (qt.cpp:117)
==3178==    by 0x71352F7: plD_tidy_rasterqt(PLStream*) (qt.cpp:482)
==3178==    by 0x4E5C10D: plP_tidy (plcore.c:234)
==3178==    by 0x4E6D79A: plGetFam (plctrl.c:2778)
==3178==    by 0x71356C3: plD_bop_pngqt(PLStream*) (qt.cpp:578)
==3178==    by 0x4E5C026: plP_bop (plcore.c:211)
==3178==    by 0x4E89893: c_plbop (plpage.c:125)
==3178==    by 0x400ED8: demo2 (x02c.c:70)
==3178==    by 0x400E5B: main (x02c.c:28)
==3178==  Block was alloc'd at
==3178==    at 0x4C2E80F: operator new[](unsigned long) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3178==    by 0x71343AC: initQtApp(bool) (qt.cpp:95)
==3178==    by 0x71346FE: plD_init_rasterqt(PLStream*) (qt.cpp:279)
==3178==    by 0x4E5BDE0: plP_init (plcore.c:144)
==3178==    by 0x4E61738: c_plinit (plcore.c:2345)
==3178==    by 0x400E51: main (x02c.c:24)
==3178== 
==3178== 
==3178== HEAP SUMMARY:
==3178==     in use at exit: 1,650,693 bytes in 17,078 blocks
==3178==   total heap usage: 141,293 allocs, 124,215 frees, 27,274,266 bytes 
allocated
==3178== 
==3178== LEAK SUMMARY:
==3178==    definitely lost: 4,440 bytes in 10 blocks
==3178==    indirectly lost: 19,928 bytes in 836 blocks
==3178==      possibly lost: 2,660 bytes in 31 blocks
==3178==    still reachable: 1,370,417 bytes in 15,195 blocks
==3178==                       of which reachable via heuristic:
==3178==                         length64           : 6,848 bytes in 77 blocks
==3178==                         newarray           : 1,904 bytes in 39 blocks
==3178==         suppressed: 0 bytes in 0 blocks
==3178== Rerun with --leak-check=full to see details of leaked memory
==3178== 
==3178== For counts of detected and suppressed errors, rerun with: -v
==3178== Use --track-origins=yes to see where uninitialised values come from
==3178== ERROR SUMMARY: 16 errors from 5 contexts (suppressed: 0 from 0)
------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to