Details
-
Bug
-
Resolution: Out of scope
-
P2: Important
-
None
-
4.7.2
-
None
Description
SOFTWARE VERSION:
libmeegotouchcore0 0.21.6-2+0m6
APPLICATION:
meegotouch-demos-widgetsgallery 0.21.6-2+0m6
PRECONDITIONS:
run command:
valgrind --tool=memcheck --leak-check=full --leak-check=full
--show-reachable=yes -v --log-file=widgetsgallery20-1.log
/usr/bin/widgetsgallery
STEPS:
run above command-select applications VIEW- then apps menu,come back to main
menu.tap other all options-display mode,toolbar back to page now tap on simple
widget and all its sub options(play with image operations).
I suggest to play with all options on app while running it with valgrind.
both Invalid write and memory leaks.
==6451== Invalid write of size 4
==6451== at 0x52B7534: QGraphicsItemPrivate::resetFocusProxy()
(qgraphicsitem.cpp:5618)
==6451== by 0x52F2287:
QGraphicsScenePrivate::removeItemHelper(QGraphicsItem*)
(qgraphicsscene.cpp:616)
==6451== by 0x52C3BEB: QGraphicsItem::~QGraphicsItem()
(qgraphicsitem.cpp:1493)
==6451== by 0x5325E23: QGraphicsWidget::~QGraphicsWidget()
(qgraphicsitem.h:548)
==6451== by 0x4A2A423: MWidget::~MWidget() (mwidget.cpp:115)
==6451== by 0x4A2F663: MWidgetController::~MWidgetController()
(mwidgetcontroller.cpp:127)
==6451== by 0x4A694AF: MTextEdit::~MTextEdit() (mtextedit.cpp:1543)
==6451== by 0x52C3BCF: QGraphicsItem::~QGraphicsItem()
(qgraphicsitem.cpp:1488)
==6451== by 0x5325E23: QGraphicsWidget::~QGraphicsWidget()
(qgraphicsitem.h:548)
==6451== by 0x4A2A31B: MWidget::~MWidget() (mwidget.cpp:115)
==6451== by 0x52C3BCF: QGraphicsItem::~QGraphicsItem()
(qgraphicsitem.cpp:1488)
==6451== by 0x5325E23: QGraphicsWidget::~QGraphicsWidget()
(qgraphicsitem.h:548)
also minor leak trace in another run:
new leak1:
==6456== 4 bytes in 1 blocks are definitely lost in loss record 137 of 1,730
==6456== at 0x483590C: operator new(unsigned int) (vg_replace_malloc.c:255)
==6456== by 0x7ACCDEB: QMeeGoGraphicsSystemPlugin::create(QString const&)
(qmeegographicssystemplugin.cpp:55)
==6456== by 0x4EBF7E3: QGraphicsSystemFactory::create(QString const&)
(qgraphicssystemfactory.cpp:92)
==6456== by 0x4EBEC4F: QRuntimeGraphicsSystem::QRuntimeGraphicsSystem()
(qgraphicssystem_runtime.cpp:347)
==6456== by 0x4EBF933: QGraphicsSystemFactory::create(QString const&)
(qgraphicssystemfactory.cpp:85)
==6456== by 0x4D21FA7: qt_init(QApplicationPrivate*, int, _XDisplay*,
unsigned long, unsigned long) (qapplication_x11.cpp:2024)
leak2)
it has missing symbol info in trace but sharing fro lcehck:
==6456== 4,884 (1,224 direct, 3,660 indirect) bytes in 3 blocks are definitely
lost in loss record 1,722 of 1,730
==6456== at 0x483590C: operator new(unsigned int) (vg_replace_malloc.c:255)
==6456== by 0x52DE7A3:
QGraphicsLinearLayout::QGraphicsLinearLayout(Qt::Orientation,
QGraphicsLayoutItem*) (qgraphicslinearlayout.cpp:189)
==6456== by 0x7BF04B7: ???
==6456== by 0x7BF067B: ???
==6456== by 0x7BF186F: ???
==6456== by 0x49206E3: MClassFactory::createView(char const*,
MWidgetController const*) const (mclassfactory.cpp:156)
==6456== by 0x49C1827: MTheme::view(MWidgetController const*)
(mtheme.cpp:609)
==6456== by 0x4A2E703: MWidgetControllerPrivate::createView()
(mwidgetcontroller.cpp:286)
==6456== by 0x4A2E73B: MWidgetController::view() const
(mwidgetcontroller.cpp:157)
==6456== by 0x4A2F83B: MWidgetController::sizeHint(Qt::SizeHint, QSizeF
const&) const (mwidgetcontroller.cpp:536)
another minor leak3:
==6451== 4 bytes in 1 blocks are definitely lost in loss record 137 of 1,761
==6451== at 0x483590C: operator new(unsigned int) (vg_replace_malloc.c:255)
==6451== by 0x4EBF907: QGraphicsSystemFactory::create(QString const&)
(qgraphicssystemfactory.cpp:83)
==6451== by 0x4EBDF17: QRuntimeGraphicsSystem::setGraphicsSystem(QString
const&) (qgraphicssystem_runtime.cpp:383)
==6451== by 0x4C91DA3: QApplication::setGraphicsSystem(QString const&)
(qapplication.cpp:1651)
==6451== by 0x638620B: QMeeGoGraphicsSystemHelper::switchToRaster()
(qmeegographicssystemhelper.cpp:112)
==6451== by 0x493B11F:
MGraphicsSystemHelper::switchToSoftwareRendering(MWindow*)
(mgraphicssystemhelper.cpp:117)
==6451== by 0x4A7BA0F: MWindowPrivate::initSoftwareViewport()
(mwindow.cpp:203)
==6451== by 0x4A7BE63:
MWindowPrivate::handleWindowStateChangeEvent(QWindowStateChangeEvent*)
(mwindow.cpp:672)
==6451== by 0x4A7CB1B: MWindow::event(QEvent*) (mwindow.cpp:1390)
==6451== by 0x4C9286B: QApplicationPrivate::notify_helper(QObject*, QEvent*)
(qapplication.cpp:4463)
==6451== by 0x4C983FB: QApplication::notify(QObject*, QEvent*)
(qapplication.cpp:4342)
826 d->initSoftwareViewport();
827 } else
830
please see this leak may also triggered by initGLViewport which also have call
to q->setViewportUpdateMode(MWindow::FullViewportUpdate);.