Memory Leak in QtQuickView App (Valgrind Report)



  • Hi All,
    I have got the below locations as definitely lost.
    But unable to pin point the root-cause as the data are from dynamic Qt libraries .
    Need to know the possible cause for the leak.
    Below are report data for Definitely Lost:

    ==00:00:52:48.877 962== 80 bytes in 10 blocks are definitely lost in loss record 711 of 1,294
    ==00:00:52:48.877 962== at 0x480EBBC: operator new[](unsigned int) (vg_replace_malloc.c:378)
    ==00:00:52:48.877 962== by 0x6684B87: ??? (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:00:52:48.966 962== 456 bytes in 57 blocks are definitely lost in loss record 972 of 1,294
    ==00:00:52:48.966 962== at 0x480EBBC: operator new[](unsigned int) (vg_replace_malloc.c:378)
    ==00:00:52:48.966 962== by 0x66486D3: QQmlContextData::setIdPropertyData(QHash<int, int> const&) (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:01:18:33.733 941== 60 bytes in 5 blocks are definitely lost in loss record 654 of 1,282
    ==00:01:18:33.733 941== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:01:18:33.733 941== by 0x65ECAC7: QQmlJavaScriptExpression::delayedError() (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:00:35:40.945 1110== 2,836 bytes in 230 blocks are definitely lost in loss record 1,136 of 1,316
    ==00:00:35:40.945 1110== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:00:35:40.945 1110== by 0x5021F43: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned int, unsigned int, char const*, unsigned int) (in /usr/lib/libstdc++.so.6.0.21)

    And Below are report for Possibly lost:
    ==00:01:18:33.690 941== 32 bytes in 2 blocks are possibly lost in loss record 532 of 1,282
    ==00:01:18:33.690 941== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:01:18:33.690 941== by 0x5C4C0A3: QPlatformWindow::QPlatformWindow(QWindow*) (in /usr/lib/libQt5Gui.so.5.6.1)

    ==00:01:18:33.768 941== 112 bytes in 1 blocks are possibly lost in loss record 764 of 1,282
    ==00:01:18:33.768 941== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:01:18:33.769 941== by 0x618F083: QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (in /usr/lib/libQt5Quick.so.5.6.1)

    ==00:01:18:33.770 941== 120 bytes in 2 blocks are possibly lost in loss record 772 of 1,282
    ==00:01:18:33.771 941== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:01:18:33.771 941== by 0x5C51093: QSurfaceFormat::QSurfaceFormat() (in /usr/lib/libQt5Gui.so.5.6.1)

    ==00:01:18:33.785 941== 160 bytes in 2 blocks are possibly lost in loss record 816 of 1,282
    ==00:01:18:33.785 941== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:01:18:33.786 941== by 0x576076B: QWaitCondition::QWaitCondition() (in /usr/lib/libQt5Core.so.5.6.1)

    ==00:01:18:33.789 941== 168 bytes in 7 blocks are possibly lost in loss record 829 of 1,282
    ==00:01:18:33.789 941== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:01:18:33.789 941== by 0x65EE3DB: QQmlAbstractBinding::addToObject() (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:01:18:33.861 941== 1,344 bytes in 42 blocks are possibly lost in loss record 1,054 of 1,282
    ==00:01:18:33.861 941== at 0x480FA4C: malloc (vg_replace_malloc.c:291)
    ==00:01:18:33.861 941== by 0x57AD8A7: QListData::detach_grow(int*, int) (in /usr/lib/libQt5Core.so.5.6.1)

    ==00:01:18:33.865 941== 1,600 bytes in 25 blocks are possibly lost in loss record 1,064 of 1,282
    ==00:01:18:33.865 941== at 0x480FCCC: realloc (vg_replace_malloc.c:687)
    ==00:01:18:33.865 941== by 0x57ADA0B: QListData::realloc_grow(int) (in /usr/lib/libQt5Core.so.5.6.1)

    ==00:01:18:33.885 941== 4,188 bytes in 192 blocks are possibly lost in loss record 1,135 of 1,282
    ==00:01:18:33.885 941== at 0x480EBBC: operator new[](unsigned int) (vg_replace_malloc.c:378)
    ==00:01:18:33.885 941== by 0x656C72F: QQmlVMEMetaObject::setVmeMethod(int, QV4::Value const&) (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:01:18:33.909 941== 18,600 bytes in 267 blocks are possibly lost in loss record 1,222 of 1,282
    ==00:01:18:33.909 941== at 0x480EBBC: operator new[](unsigned int) (vg_replace_malloc.c:378)
    ==00:01:18:33.909 941== by 0x658C6D3: QQmlContextData::setIdPropertyData(QHash<int, int> const&) (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:01:18:33.925 941== 2,150,558 bytes in 18,510 blocks are possibly lost in loss record 1,278 of 1,282
    ==00:01:18:33.925 941== at 0x480FA4C: malloc (vg_replace_malloc.c:291)
    ==00:01:18:33.925 941== by 0x576168B: QArrayData::allocate(unsigned int, unsigned int, unsigned int, QFlagsQArrayData::AllocationOption) (in /usr/lib/libQt5Core.so.5.6.1)

    ==00:00:35:40.554 1110== 12 bytes in 1 blocks are possibly lost in loss record 158 of 1,316
    ==00:00:35:40.554 1110== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:00:35:40.554 1110== by 0x57D24CB: QtSharedPointer::ExternalRefCountData::getAndRef(QObject const*) (in /usr/lib/libQt5Core.so.5.6.1)

    ==00:00:35:40.629 1110== 16 bytes in 1 blocks are possibly lost in loss record 299 of 1,316
    ==00:00:35:40.629 1110== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:00:35:40.629 1110== by 0x65AEC73: QQmlError::setDescription(QString const&) (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:00:35:40.769 1110== 44 bytes in 1 blocks are possibly lost in loss record 605 of 1,316
    ==00:00:35:40.769 1110== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:00:35:40.770 1110== by 0x5886EB3: QUrl::detach() (in /usr/lib/libQt5Core.so.5.6.1)

    ==00:00:35:40.947 1110== 2,980 bytes in 30 blocks are possibly lost in loss record 1,142 of 1,316
    ==00:00:35:40.947 1110== at 0x480EBBC: operator new[](unsigned int) (vg_replace_malloc.c:378)
    ==00:00:35:40.947 1110== by 0x656CC2F: QQmlVMEMetaObject::connectAlias(int) (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:00:35:40.956 1110== 4,248 bytes in 177 blocks are possibly lost in loss record 1,176 of 1,316
    ==00:00:35:40.956 1110== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:00:35:40.956 1110== by 0x656F14B: QQmlVMEMetaObject::writeVarProperty(int, QV4::Value const&) (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:00:22:34.043 1105== 112 bytes in 1 blocks are possibly lost in loss record 800 of 1,360
    ==00:00:22:34.043 1105== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:00:22:34.043 1105== by 0x623B213: QQuickItem::setOpacity(double) (in /usr/lib/libQt5Quick.so.5.6.1)

    ==00:01:00:50.521 1104== 32 bytes in 2 blocks are possibly lost in loss record 548 of 1,335
    ==00:01:00:50.521 1104== at 0x480F3EC: operator new(unsigned int) (vg_replace_malloc.c:313)
    ==00:01:00:50.521 1104== by 0x646AA47: QQmlError::operator=(QQmlError const&) (in /usr/lib/libQt5Qml.so.5.6.1)

    ==00:00:11:46.508 967== 3,336 bytes in 11 blocks are possibly lost in loss record 1,125 of 1,291
    ==00:00:11:46.509 967== at 0x480EBBC: operator new[](unsigned int) (vg_replace_malloc.c:378)
    ==00:00:11:46.509 967== by 0x668082F: QQmlPropertyCache::update(QMetaObject const*) (in /usr/lib/libQt5Qml.so.5.6.1)

    Any root cause for mentioned leak??
    Thanks in advance for help :).


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.