[Digikam-devel] [Bug 212105] New: Crash in MarkerClusterHolder destructor

cedric cedric.borgese at gmail.com
Tue Oct 27 19:58:05 GMT 2009


https://bugs.kde.org/show_bug.cgi?id=212105

           Summary: Crash in MarkerClusterHolder destructor
           Product: digikam
           Version: unspecified
          Platform: Compiled Sources
        OS/Version: unspecified
            Status: NEW
          Severity: crash
          Priority: NOR
         Component: general
        AssignedTo: digikam-devel at kde.org
        ReportedBy: cedric.borgese at gmail.com


Version:            (using Devel)
Installed from:    Compiled sources

Crash in MarkerClusterHolder destructor because it access d->externalDrawPlugin
which has been alreaédy deleted by LayerManager destructor (in marble)

here the valgrind log :

==32507== Invalid write of size 4
==32507==    at 0x5180CE7: Marble::ExternalDrawPlugin::setRenderCallback(void
(*)(Marble::GeoPainter*, void*), void*) (externaldraw.h:91)
==32507==    by 0x517FA2B: Digikam::MarkerClusterHolder::~MarkerClusterHolder()
(markerclusterholder.cpp:158)
==32507==    by 0x6E19DBE: QObjectPrivate::deleteChildren() (in
/usr/lib/libQtCore.so.4.6.0)
==32507==    by 0x612AD56: QWidget::~QWidget() (in /usr/lib/libQtGui.so.4.6.0)
==32507==    by 0x5584C9E: Marble::MarbleWidget::~MarbleWidget()
(MarbleWidget.cpp:152)
==32507==    by 0x5181159:
Digikam::MarbleSubClassWidget::~MarbleSubClassWidget()
(markerclusterholder.h:435)
==32507==    by 0x6E19DBE: QObjectPrivate::deleteChildren() (in
/usr/lib/libQtCore.so.4.6.0)
==32507==    by 0x612AD56: QWidget::~QWidget() (in /usr/lib/libQtGui.so.4.6.0)
==32507==    by 0x65038A0: QFrame::~QFrame() (in /usr/lib/libQtGui.so.4.6.0)
==32507==    by 0x51789E8: Digikam::WorldMapWidget::~WorldMapWidget()
(worldmapwidget.cpp:190)
==32507==    by 0x6E19DBE: QObjectPrivate::deleteChildren() (in
/usr/lib/libQtCore.so.4.6.0)
==32507==    by 0x612AD56: QWidget::~QWidget() (in /usr/lib/libQtGui.so.4.6.0)
==32507==  Address 0x20b872e0 is 16 bytes inside a block of size 24 free'd
==32507==    at 0x402357D: operator delete(void*) (vg_replace_malloc.c:346)
==32507==    by 0x164FFABF: Marble::ExternalDrawPlugin::~ExternalDrawPlugin()
(externaldraw.h:44)
==32507==    by 0x55C91A5: void
qDeleteAll<QList<Marble::RenderPlugin*>::const_iterator>(QList<Marble::RenderPlugin*>::const_iterator,
QList<Marble::RenderPlugin*>::const_iterator) (qalgorithms.h:333)
==32507==    by 0x55C9254: void qDeleteAll<QList<Marble::RenderPlugin*>
>(QList<Marble::RenderPlugin*> const&) (qalgorithms.h:341)
==32507==    by 0x55C8850: Marble::LayerManager::~LayerManager()
(LayerManager.cpp:88)
==32507==    by 0x5589A44: Marble::MarbleModel::~MarbleModel()
(MarbleModel.cpp:246)
==32507==    by 0x558E958: Marble::MarbleMap::~MarbleMap() (MarbleMap.cpp:382)
==32507==    by 0x55863D8: Marble::MarbleWidgetPrivate::~MarbleWidgetPrivate()
(MarbleWidget.cpp:91)
==32507==    by 0x5584C8B: Marble::MarbleWidget::~MarbleWidget()
(MarbleWidget.cpp:151)
==32507==    by 0x5181159:
Digikam::MarbleSubClassWidget::~MarbleSubClassWidget()
(markerclusterholder.h:435)
==32507==    by 0x6E19DBE: QObjectPrivate::deleteChildren() (in
/usr/lib/libQtCore.so.4.6.0)
==32507==    by 0x612AD56: QWidget::~QWidget() (in /usr/lib/libQtGui.so.4.6.0)

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Digikam-devel mailing list