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