[QGIS-Developer] WG: Re: crash qgis 2.18.11 in vs2010 - HEAP CORRUPTION DETECTED

SSchmidt at gfi-gis.de SSchmidt at gfi-gis.de
Mon Sep 4 01:03:23 PDT 2017


If I compile my plugin with Option Runtime Library:
Multi-threaded Debug DLL (/MDd)
at first sight it works fine, but while closing QGIS, QGIS crashes with 
'HEAP CORRUPTION DETECTED'


Then if my plugin is 
Compiled with Option Runtime Library:
Multi-threaded DLL (/MD)


I get the error:

>       msvcr100.dll!free(void * pBlock)  Line 51       C

during deleting the symollayer from this code:

QgsSymbolV2 * p_Symbol(0);
bool oFirst=true;

...

if (oFirst)
{
        QgsFillSymbolV2* p_FSymbol = new 
QgsFillSymbolV2();//QgsSymbolLayerV2List()
        p_Symbol = dynamic_cast <QgsSymbolV2 *>(p_FSymbol);
        qDebug()<<QString::number((int)p_Symbol,16);
        qDebug()<<QString::number(p_Symbol->symbolLayerCount());
        if (p_Symbol->symbolLayerCount()==1)
                p_Symbol->deleteSymbolLayer(0);
        oFirst=false;
}
...

Output:

"1847bca0" 
"1" 
First-chance exception at 0x77e4e43e in qgis-bin.exe: 0xC0000005: Access 
violation reading location 0x4d46be13.
Unhandled exception at 0x77e4e43e in qgis-bin.exe: 0xC0000005: Access 
violation reading location 0x4d46be13.


Could this correspond with the message: "QgsFillSymbol::scalar deleting 
destructor"?
It's horrible for me with the pointers :-o
I create the FillSymbol with "new" in my DLL but something's going wrong 
by deleting.
Any hope for me?

Freundliche Grüße aus Leipzig
Susann Schmidt
Softwareentwicklung 

**************************************************************

GFI - Gesellschaft für Informationstechnologie mbH
Philipp-Rosenthal-Straße 9
D-04103 Leipzig
Geschäftsführer: Andreas Richter
Amtsgericht Leipzig HRB 12054
USt.-IdNr.: DE179049354     Steuer-Nr.: 231/109/06412
ESRI Solution Partner      und       ER Mapper Reseller
Tel. 0341 961 3310    Fax 0341 961 3311   Mail info at gfi-gis.de
Web  www.gfi-gis.de  und  www.themenbrowser.de

----- Weitergeleitet von Susann Schmidt/gfimbh am 04.09.2017 09:46 -----

Von:    Susann Schmidt/gfimbh
An:     QGIS-Developer at lists.osgeo.org
Datum:  01.09.2017 13:02
Betreff:        Re: [QGIS-Developer] crash qgis 2.18.11 in vs2010 - HEAP 
CORRUPTION DETECTED


Hallo Jürgen,

I think not I use it directly, because I'm only including h-files from 
qgis and qt:

#include "QGISFunc.h"
#include <QtDebug>
#include <QtCore>
#include <QMessageBox>
#include <QFile>
#include <QFileInfo>
#include <QDomDocument>
#include <QDomElement>
#include <QDateTime>
#include <QXmlStreamAttributes>
#include <QToolBar>
#include <QAction>
#include <QHostInfo>
#include <qgsrasterlayer.h>
#include <qgsmapcanvas.h>
#include <qgsmaplayerregistry.h>
#include <qgslegendinterface.h>
#include <qgsrasterrenderer.h>
#include <qgsrendererv2.h>
#include "qgsdatasourceuri.h"
#include <qgsvectorlayer.h>
#include <qgscategorizedsymbolrendererv2.h>
#include <qgsgraduatedsymbolrendererv2.h>
#include <qgssinglesymbolrendererv2.h>
#include <qgsrulebasedrendererv2.h>
#include <qgscategorizedsymbolrendererv2.h>
#include "qgssymbollayerv2.h"
#include <qgsmarkersymbollayerv2.h>
#include <qgslinesymbollayerv2.h>
#include <qgsfillsymbollayerv2.h>
#include <qgsvectorcolorrampv2.h>
#include <qgsvectordataprovider.h>
#include <qgsattributeaction.h>
#include <qgsapplication.h>
#include <qgsfield.h>
#include <qgslabel.h>
#include <qgspallabeling.h>
#include <qgsrulebasedlabeling.h>
#include <QgsMapLayerActionRegistry.h>
#include <qgsproject.h>
#include <qgslayertreeview.h>
#include <qgslayertreegroup.h>
#include <qgslayertreelayer.h>
#include <qgslayertreenode.h>
#include <qgspainteffect.h>
#include <qgsgloweffect.h>
#include <qgseffectstack.h>
#include <qgsrastershader.h>
#include <qgscolorrampshader.h>
#include <qgssinglebandpseudocolorrenderer.h>
#include <qgspalettedrasterrenderer.h>
#include <qgsrastertransparency.h>

#include <windows.h>
#include <stdio.h>
#include <lmcons.h>



Susann




Von:    Jürgen E. Fischer <jef at norbit.de>
An:     qgis-developer at lists.osgeo.org
Datum:  01.09.2017 11:58
Betreff:        Re: [QGIS-Developer] crash qgis 2.18.11 in vs2010 - HEAP 
CORRUPTION DETECTED
Gesendet von:   "QGIS-Developer" <qgis-developer-bounces at lists.osgeo.org>



Hi Susann,

On Fri, 01. Sep 2017 at 11:23:35 +0200, SSchmidt at gfi-gis.de wrote:
> since compiling my plugin for qgis 2.18.11 in vs2010 on win7 the plugin 
> and qgis crashes in seemly any action because of memory leaks :-o
> 
> "sometimes" while loading a postgis layer i'll get a message from 
> geos::util::IllegalArgumentException at memory...

Are you using the GEOS C++ API directly or is this from calling QGIS 
methods?


Jürgen

-- 
Jürgen E. Fischer           norBIT GmbH             Tel. 
+49-4931-918175-31
Dipl.-Inf. (FH)             Rheinstraße 13          Fax. 
+49-4931-918175-50
Software Engineer           D-26506 Norden             
http://www.norbit.de
QGIS release manager (PSC)  Germany                    IRC: jef on 
FreeNode
[Anhang "signature.asc" gelöscht von Susann Schmidt/gfimbh] 
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer at lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20170904/88ec613c/attachment-0001.html>


More information about the QGIS-Developer mailing list