Bug 407906 - SVG Parser leaks memory
Summary: SVG Parser leaks memory
Status: CONFIRMED
Alias: None
Product: krita
Classification: Applications
Component: Layers/Vector (show other bugs)
Version: git master (please specify the git hash!)
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-24 14:04 UTC by Halla Rempt
Modified: 2019-09-21 15:48 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Halla Rempt 2019-05-24 14:04:31 UTC
See the valgrind log:

==23688== 8 bytes in 1 blocks are possibly lost in loss record 150 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8F53E10: KoPathShape::lineTo(QPointF const&) (KoPathShape.cpp:655)
==23688==    by 0x8FD43BA: svgLineTo (KoPathShapeLoader.cpp:550)
==23688==    by 0x8FD43BA: KoPathShapeLoaderPrivate::parseSvg(QString const&, bool) (KoPathShapeLoader.cpp:106)
==23688==    by 0x9089CC2: SvgParser::createPath(QDomElement const&) (SvgParser.cpp:1785)
==23688==    by 0x908A9EA: SvgParser::createShapeFromElement(QDomElement const&, SvgLoadingContext&) (SvgParser.cpp:1887)
==23688==    by 0x9093410: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1808)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x909156C: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1492)
==23688== 
==23688== 8 bytes in 1 blocks are possibly lost in loss record 151 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8F52624: KoPathShapePrivate::KoPathShapePrivate(KoPathShapePrivate const&, KoPathShape*) (KoPathShape.cpp:75)
==23688==    by 0x8F52805: KoPathShape::KoPathShape(KoPathShape const&) (KoPathShape.cpp:127)
==23688==    by 0x8F52860: KoPathShape::cloneShape() const (KoPathShape.cpp:138)
==23688==    by 0x8F7EB96: SimpleShapeContainerModel (SimpleShapeContainerModel.h:39)
==23688==    by 0x8F7EB96: ShapeGroupContainerModel (KoShapeGroup.cpp:47)
==23688==    by 0x8F7EB96: KoShapeGroupPrivate (KoShapeGroup.cpp:101)
==23688==    by 0x8F7EB96: KoShapeGroup::KoShapeGroup(KoShapeGroup const&) (KoShapeGroup.cpp:122)
==23688==    by 0x8F7EF70: KoShapeGroup::cloneShape() const (KoShapeGroup.cpp:132)
==23688==    by 0x908CB00: SvgParser::applyClipping(KoShape*, QPointF const&) (SvgParser.cpp:1250)
==23688==    by 0x9091407: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:829)
==23688==    by 0x9091633: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1502)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688== 
==23688== 8 bytes in 1 blocks are possibly lost in loss record 152 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x908CC16: SvgParser::applyClipping(KoShape*, QPointF const&) (SvgParser.cpp:1268)
==23688==    by 0x9091407: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:829)
==23688==    by 0x9091633: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1502)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x909156C: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1492)
==23688==    by 0x90930E7: SvgParser::resolveUse(QDomElement const&, QString const&) (SvgParser.cpp:1321)
==23688==    by 0x90932BF: SvgParser::parseUse(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1301)
==23688== 
==23688== 16 bytes in 1 blocks are possibly lost in loss record 958 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x329F5B89: node_construct (qlist.h:438)
==23688==    by 0x329F5B89: QList<QPointF>::append(QPointF const&) (qlist.h:596)
==23688==    by 0x32A066B8: RectangleShape::updateHandles() (RectangleShape.cpp:156)
==23688==    by 0x32A076C1: setCornerRadiusY (RectangleShape.cpp:319)
==23688==    by 0x32A076C1: RectangleShape::loadSvg(QDomElement const&, SvgLoadingContext&) (RectangleShape.cpp:380)
==23688==    by 0x908A8EF: SvgParser::createShapeFromElement(QDomElement const&, SvgLoadingContext&) (SvgParser.cpp:1877)
==23688==    by 0x9093410: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1808)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x909156C: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1492)
==23688== 
==23688== 16 bytes in 1 blocks are possibly lost in loss record 959 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x909146A: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1478)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x909156C: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1492)
==23688==    by 0x90930E7: SvgParser::resolveUse(QDomElement const&, QString const&) (SvgParser.cpp:1321)
==23688== 
==23688== 16 bytes in 1 blocks are possibly lost in loss record 960 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x9091009: SvgParser::applyFillStyle(KoShape*) (SvgParser.cpp:996)
==23688==    by 0x9091372: SvgParser::applyCurrentBasicStyle(KoShape*) (SvgParser.cpp:842)
==23688==    by 0x90913C6: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:822)
==23688==    by 0x90934B3: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1813)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9092442: SvgParser::parseClipPath(QDomElement const&) (SvgParser.cpp:754)
==23688==    by 0x908F54B: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1690)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688== 
==23688== 16 bytes in 1 blocks are possibly lost in loss record 961 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8F52852: KoPathShape::cloneShape() const (KoPathShape.cpp:138)
==23688==    by 0x8F7EB96: SimpleShapeContainerModel (SimpleShapeContainerModel.h:39)
==23688==    by 0x8F7EB96: ShapeGroupContainerModel (KoShapeGroup.cpp:47)
==23688==    by 0x8F7EB96: KoShapeGroupPrivate (KoShapeGroup.cpp:101)
==23688==    by 0x8F7EB96: KoShapeGroup::KoShapeGroup(KoShapeGroup const&) (KoShapeGroup.cpp:122)
==23688==    by 0x8F7EF70: KoShapeGroup::cloneShape() const (KoShapeGroup.cpp:132)
==23688==    by 0x908CB00: SvgParser::applyClipping(KoShape*, QPointF const&) (SvgParser.cpp:1250)
==23688==    by 0x9091407: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:829)
==23688==    by 0x9091633: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1502)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688== 
==23688== 16 bytes in 1 blocks are possibly lost in loss record 962 of 12,945
==23688==    at 0x4C2E01F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0xFE63EDC: hb_qt_face_get_for_engine(QFontEngine*) (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDA2FEF: QFontEngine::harfbuzzFace() const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0x1B01B846: ??? (in /usr/lib64/libQt5XcbQpa.so.5.12.3)
==23688==    by 0x1B02075F: ??? (in /usr/lib64/libQt5XcbQpa.so.5.12.3)
==23688==    by 0x1B02532C: ??? (in /usr/lib64/libQt5XcbQpa.so.5.12.3)
==23688==    by 0xFDBE7CA: ??? (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDBF07D: QFontDatabase::findFont(QFontDef const&, int) (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDBF465: QFontDatabase::load(QFontPrivate const*, int) (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFD94282: QFontPrivate::engineForScript(int) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDC983F: QTextEngine::fontEngine(QScriptItem const&, QFixed*, QFixed*, QFixed*) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDCB631: QTextEngine::shapeText(int) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688== 
==23688== 16 bytes in 1 blocks are possibly lost in loss record 963 of 12,945
==23688==    at 0x4C30035: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x13FB9CDD: hb_shape_plan_create2 (in /usr/lib64/libharfbuzz.so.0.10705.0)
==23688==    by 0x13FBA742: hb_shape_plan_create_cached2 (in /usr/lib64/libharfbuzz.so.0.10705.0)
==23688==    by 0x13FB9A74: hb_shape_full (in /usr/lib64/libharfbuzz.so.0.10705.0)
==23688==    by 0xFDC8AC5: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool, bool) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDCBADF: QTextEngine::shapeText(int) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDCC4AB: QTextEngine::shape(int) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDE0E7E: QTextLine::layout_helper(int) (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0x90D66D9: addTextChunk (KoSvgTextShape.cpp:354)
==23688==    by 0x90D66D9: KoSvgTextShape::relayout() (KoSvgTextShape.cpp:455)
==23688==    by 0x908EDBD: SvgParser::parseTextElement(QDomElement const&, KoSvgTextShape*) (SvgParser.cpp:1593)
==23688==    by 0x908F671: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1702)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 16 bytes in 1 blocks are possibly lost in loss record 964 of 12,945
==23688==    at 0x4C30035: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x13FBA7AB: hb_shape_plan_create_cached2 (in /usr/lib64/libharfbuzz.so.0.10705.0)
==23688==    by 0x13FB9A74: hb_shape_full (in /usr/lib64/libharfbuzz.so.0.10705.0)
==23688==    by 0xFDC8AC5: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool, bool) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDCBADF: QTextEngine::shapeText(int) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDCC4AB: QTextEngine::shape(int) const (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0xFDE0E7E: QTextLine::layout_helper(int) (in /usr/lib64/libQt5Gui.so.5.12.3)
==23688==    by 0x90D66D9: addTextChunk (KoSvgTextShape.cpp:354)
==23688==    by 0x90D66D9: KoSvgTextShape::relayout() (KoSvgTextShape.cpp:455)
==23688==    by 0x908EDBD: SvgParser::parseTextElement(QDomElement const&, KoSvgTextShape*) (SvgParser.cpp:1593)
==23688==    by 0x908F671: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1702)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688== 
==23688== 16 bytes in 1 blocks are possibly lost in loss record 965 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8F7EF62: KoShapeGroup::cloneShape() const (KoShapeGroup.cpp:132)
==23688==    by 0x908CB00: SvgParser::applyClipping(KoShape*, QPointF const&) (SvgParser.cpp:1250)
==23688==    by 0x9091407: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:829)
==23688==    by 0x9091633: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1502)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x909156C: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1492)
==23688==    by 0x90930E7: SvgParser::resolveUse(QDomElement const&, QString const&) (SvgParser.cpp:1321)

==23688== 16 bytes in 2 blocks are possibly lost in loss record 974 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x32A07FFD: RectangleShape::createPoints(int) (RectangleShape.cpp:289)
==23688==    by 0x32A082F0: RectangleShape::updatePath(QSizeF const&) (RectangleShape.cpp:184)
==23688==    by 0x32A076B9: setCornerRadiusY (RectangleShape.cpp:318)
==23688==    by 0x32A076B9: RectangleShape::loadSvg(QDomElement const&, SvgLoadingContext&) (RectangleShape.cpp:380)
==23688==    by 0x908A8EF: SvgParser::createShapeFromElement(QDomElement const&, SvgLoadingContext&) (SvgParser.cpp:1877)
==23688==    by 0x9093410: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1808)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x909156C: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1492)
==23688== 
==23688== 16 bytes in 2 blocks are possibly lost in loss record 975 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x908E449: SvgParser::applyFilter(KoShape*) (SvgParser.cpp:1202)
==23688==    by 0x90913F9: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:828)
==23688==    by 0x90934B3: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1813)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688== 
==23688== 16 bytes in 2 blocks are possibly lost in loss record 976 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x908E449: SvgParser::applyFilter(KoShape*) (SvgParser.cpp:1202)
==23688==    by 0x90913F9: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:828)
==23688==    by 0x90934B3: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1813)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x908F3E4: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1680)
==23688== 
==23688== 16 bytes in 2 blocks are possibly lost in loss record 977 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x90C035D: KoSvgTextProperties::KoSvgTextProperties() (KoSvgTextProperties.cpp:39)
==23688==    by 0x90CA8F4: KoSvgTextChunkShapePrivate::KoSvgTextChunkShapePrivate(KoSvgTextChunkShape*) (KoSvgTextChunkShape.cpp:873)
==23688==    by 0x90D3AA2: KoSvgTextShapePrivate (KoSvgTextShape.cpp:60)
==23688==    by 0x90D3AA2: KoSvgTextShape::KoSvgTextShape() (KoSvgTextShape.cpp:81)
==23688==    by 0x908F054: SvgParser::parseTextElement(QDomElement const&, KoSvgTextShape*) (SvgParser.cpp:1544)
==23688==    by 0x908F671: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1702)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688== 
==23688== 16 bytes in 2 blocks are possibly lost in loss record 978 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x90DAC64: allocate (new_allocator.h:111)
==23688==    by 0x90DAC64: allocate (alloc_traits.h:436)
==23688==    by 0x90DAC64: _M_allocate (stl_vector.h:172)
==23688==    by 0x90DAC64: void std::vector<std::unique_ptr<QTextLayout, std::default_delete<QTextLayout> >, std::allocator<std::unique_ptr<QTextLayout, std::default_delete<QTextLayout> > > >::_M_realloc_insert<std::unique_ptr<QTextLayout, std::default_delete<QTextLayout> > >(__gnu_cxx::__normal_iterator<std::unique_ptr<QTextLayout, std::default_delete<QTextLayout> >*, std::vector<std::unique_ptr<QTextLayout, std::default_delete<QTextLayout> >, std::allocator<std::unique_ptr<QTextLayout, std::default_delete<QTextLayout> > > > >, std::unique_ptr<QTextLayout, std::default_delete<QTextLayout> >&&) (vector.tcc:406)
==23688==    by 0x90D76F5: emplace_back<std::unique_ptr<QTextLayout, std::default_delete<QTextLayout> > > (vector.tcc:105)
==23688==    by 0x90D76F5: push_back (stl_vector.h:954)
==23688==    by 0x90D76F5: KoSvgTextShape::relayout() (KoSvgTextShape.cpp:481)
==23688==    by 0x8F72254: KoShapePrivate::shapeChanged(KoShape::ChangeType) (KoShape.cpp:195)
==23688==    by 0x8F743D4: KoShape::setBackground(QSharedPointer<KoShapeBackground>) (KoShape.cpp:1126)
==23688==    by 0x9091064: SvgParser::applyFillStyle(KoShape*) (SvgParser.cpp:996)
==23688==    by 0x9091372: SvgParser::applyCurrentBasicStyle(KoShape*) (SvgParser.cpp:842)
==23688==    by 0x90913C6: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:822)
==23688==    by 0x908EFE6: SvgParser::parseTextElement(QDomElement const&, KoSvgTextShape*) (SvgParser.cpp:1571)
==23688==    by 0x908F671: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1702)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688== 
==23688== 16 bytes in 2 blocks are possibly lost in loss record 979 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x90C035D: KoSvgTextProperties::KoSvgTextProperties() (KoSvgTextProperties.cpp:39)
==23688==    by 0x90CA267: KoSvgTextChunkShapePrivate (KoSvgTextChunkShape.cpp:873)
==23688==    by 0x90CA267: KoSvgTextChunkShape::KoSvgTextChunkShape() (KoSvgTextChunkShape.cpp:297)
==23688==    by 0x908EE17: SvgParser::parseTextElement(QDomElement const&, KoSvgTextShape*) (SvgParser.cpp:1557)
==23688==    by 0x908F671: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1702)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x908EEC2: SvgParser::parseTextElement(QDomElement const&, KoSvgTextShape*) (SvgParser.cpp:1581)
==23688==    by 0x908F671: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1702)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 16 bytes in 2 blocks are possibly lost in loss record 980 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x90D5F99: KoSvgTextShape::relayout() (KoSvgTextShape.cpp:419)
==23688==    by 0x908EDBD: SvgParser::parseTextElement(QDomElement const&, KoSvgTextShape*) (SvgParser.cpp:1593)
==23688==    by 0x908F671: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1702)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 
==23688== 24 bytes in 1 blocks are possibly lost in loss record 2,225 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x9091027: create (qsharedpointer_impl.h:226)
==23688==    by 0x9091027: internalConstruct<KoColorBackground, QtSharedPointer::NormalDeleter> (qsharedpointer_impl.h:493)
==23688==    by 0x9091027: QSharedPointer<KoColorBackground> (qsharedpointer_impl.h:321)
==23688==    by 0x9091027: SvgParser::applyFillStyle(KoShape*) (SvgParser.cpp:996)
==23688==    by 0x9091372: SvgParser::applyCurrentBasicStyle(KoShape*) (SvgParser.cpp:842)
==23688==    by 0x90913C6: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:822)
==23688==    by 0x90934B3: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1813)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9092442: SvgParser::parseClipPath(QDomElement const&) (SvgParser.cpp:754)
==23688==    by 0x908F54B: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1690)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688== 
==23688== 24 bytes in 3 blocks are possibly lost in loss record 2,226 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8F53E10: KoPathShape::lineTo(QPointF const&) (KoPathShape.cpp:655)
==23688==    by 0x8FD43BA: svgLineTo (KoPathShapeLoader.cpp:550)
==23688==    by 0x8FD43BA: KoPathShapeLoaderPrivate::parseSvg(QString const&, bool) (KoPathShapeLoader.cpp:106)
==23688==    by 0x9089CC2: SvgParser::createPath(QDomElement const&) (SvgParser.cpp:1785)
==23688==    by 0x908A9EA: SvgParser::createShapeFromElement(QDomElement const&, SvgLoadingContext&) (SvgParser.cpp:1887)
==23688==    by 0x9093410: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1808)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 24 bytes in 3 blocks are possibly lost in loss record 2,227 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8F53E10: KoPathShape::lineTo(QPointF const&) (KoPathShape.cpp:655)
==23688==    by 0x8FD44DA: svgLineTo (KoPathShapeLoader.cpp:550)
==23688==    by 0x8FD44DA: KoPathShapeLoaderPrivate::parseSvg(QString const&, bool) (KoPathShapeLoader.cpp:124)
==23688==    by 0x9089CC2: SvgParser::createPath(QDomElement const&) (SvgParser.cpp:1785)
==23688==    by 0x908A9EA: SvgParser::createShapeFromElement(QDomElement const&, SvgLoadingContext&) (SvgParser.cpp:1887)
==23688==    by 0x9093410: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1808)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 24 bytes in 3 blocks are possibly lost in loss record 2,228 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8F53F33: KoPathShape::curveTo(QPointF const&, QPointF const&, QPointF const&) (KoPathShape.cpp:672)
==23688==    by 0x8FD3E55: svgCurveToCubic (KoPathShapeLoader.cpp:586)
==23688==    by 0x8FD3E55: KoPathShapeLoaderPrivate::parseSvg(QString const&, bool) (KoPathShapeLoader.cpp:210)
==23688==    by 0x9089CC2: SvgParser::createPath(QDomElement const&) (SvgParser.cpp:1785)
==23688==    by 0x908A9EA: SvgParser::createShapeFromElement(QDomElement const&, SvgLoadingContext&) (SvgParser.cpp:1887)
==23688==    by 0x9093410: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1808)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 24 bytes in 3 blocks are possibly lost in loss record 2,229 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8F53E10: KoPathShape::lineTo(QPointF const&) (KoPathShape.cpp:655)
==23688==    by 0x8FD45FA: svgLineTo (KoPathShapeLoader.cpp:550)
==23688==    by 0x8FD45FA: KoPathShapeLoaderPrivate::parseSvg(QString const&, bool) (KoPathShapeLoader.cpp:142)
==23688==    by 0x9089CC2: SvgParser::createPath(QDomElement const&) (SvgParser.cpp:1785)
==23688==    by 0x908A9EA: SvgParser::createShapeFromElement(QDomElement const&, SvgLoadingContext&) (SvgParser.cpp:1887)
==23688==    by 0x9093410: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1808)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
==23688==    by 0x909156C: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1492)
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,297 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x1067FE61: ??? (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x10680B3C: QVariant::QVariant(int, void const*, unsigned int) (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x90C13FF: qVariantFromValue<KoSvgText::AutoValue> (qvariant.h:520)
==23688==    by 0x90C13FF: fromValue<KoSvgText::AutoValue> (qvariant.h:366)
==23688==    by 0x90C13FF: fromAutoValue (KoSvgText.h:144)
==23688==    by 0x90C13FF: KoSvgTextProperties::defaultProperties() (KoSvgTextProperties.cpp:488)
==23688==    by 0x907CC5E: SvgGraphicsContext::SvgGraphicsContext() (SvgGraphicContext.cpp:28)
==23688==    by 0x90B163E: SvgLoadingContext::pushGraphicsContext(QDomElement const&, bool) (SvgLoadingContext.cpp:96)
==23688==    by 0x9087FA1: SvgParser::setResolution(QRectF, double) (SvgParser.cpp:205)
==23688==    by 0x90EA86E: KoSvgSymbolCollectionResource::loadFromDevice(QIODevice*) (KoSvgSymbolCollectionResource.cpp:161)
==23688==    by 0x90EA08C: KoSvgSymbolCollectionResource::load() (KoSvgSymbolCollectionResource.cpp:133)
==23688==    by 0x89B388B: KoResourceServer<KoSvgSymbolCollectionResource, PointerStoragePolicy<KoSvgSymbolCollectionResource> >::loadResources(QStringList) (KoResourceServer.h:203)
==23688==    by 0x89AC0C9: KoResourceServerProvider::KoResourceServerProvider() (KoResourceServerProvider.cpp:139)
==23688==    by 0x89AC6BB: Holder (KoResourceServerProvider.cpp:156)
==23688==    by 0x89AC6BB: innerFunction (KoResourceServerProvider.cpp:156)
==23688==    by 0x89AC6BB: operator QGlobalStatic<KoResourceServerProvider, (anonymous namespace)::Q_QGS_s_instance::innerFunction, (anonymous namespace)::Q_QGS_s_instance::guard>::Type* (qglobalstatic.h:134)
==23688==    by 0x89AC6BB: KoResourceServerProvider::instance() (KoResourceServerProvider.cpp:160)
==23688== 
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,298 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x1067FE61: ??? (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x10680B3C: QVariant::QVariant(int, void const*, unsigned int) (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x90C146F: qVariantFromValue<KoSvgText::AutoValue> (qvariant.h:520)
==23688==    by 0x90C146F: fromValue<KoSvgText::AutoValue> (qvariant.h:366)
==23688==    by 0x90C146F: fromAutoValue (KoSvgText.h:144)
==23688==    by 0x90C146F: KoSvgTextProperties::defaultProperties() (KoSvgTextProperties.cpp:489)
==23688==    by 0x907CC5E: SvgGraphicsContext::SvgGraphicsContext() (SvgGraphicContext.cpp:28)
==23688==    by 0x90B163E: SvgLoadingContext::pushGraphicsContext(QDomElement const&, bool) (SvgLoadingContext.cpp:96)
==23688==    by 0x9087FA1: SvgParser::setResolution(QRectF, double) (SvgParser.cpp:205)
==23688==    by 0x90EA86E: KoSvgSymbolCollectionResource::loadFromDevice(QIODevice*) (KoSvgSymbolCollectionResource.cpp:161)
==23688==    by 0x90EA08C: KoSvgSymbolCollectionResource::load() (KoSvgSymbolCollectionResource.cpp:133)
==23688==    by 0x89B388B: KoResourceServer<KoSvgSymbolCollectionResource, PointerStoragePolicy<KoSvgSymbolCollectionResource> >::loadResources(QStringList) (KoResourceServer.h:203)
==23688==    by 0x89AC0C9: KoResourceServerProvider::KoResourceServerProvider() (KoResourceServerProvider.cpp:139)
==23688==    by 0x89AC6BB: Holder (KoResourceServerProvider.cpp:156)
==23688==    by 0x89AC6BB: innerFunction (KoResourceServerProvider.cpp:156)
==23688==    by 0x89AC6BB: operator QGlobalStatic<KoResourceServerProvider, (anonymous namespace)::Q_QGS_s_instance::innerFunction, (anonymous namespace)::Q_QGS_s_instance::guard>::Type* (qglobalstatic.h:134)
==23688==    by 0x89AC6BB: KoResourceServerProvider::instance() (KoResourceServerProvider.cpp:160)
==23688== 
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,299 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x1067FE61: ??? (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x10680B3C: QVariant::QVariant(int, void const*, unsigned int) (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x90C14DF: qVariantFromValue<KoSvgText::AutoValue> (qvariant.h:520)
==23688==    by 0x90C14DF: fromValue<KoSvgText::AutoValue> (qvariant.h:366)
==23688==    by 0x90C14DF: fromAutoValue (KoSvgText.h:144)
==23688==    by 0x90C14DF: KoSvgTextProperties::defaultProperties() (KoSvgTextProperties.cpp:490)
==23688==    by 0x907CC5E: SvgGraphicsContext::SvgGraphicsContext() (SvgGraphicContext.cpp:28)
==23688==    by 0x90B163E: SvgLoadingContext::pushGraphicsContext(QDomElement const&, bool) (SvgLoadingContext.cpp:96)
==23688==    by 0x9087FA1: SvgParser::setResolution(QRectF, double) (SvgParser.cpp:205)
==23688==    by 0x90EA86E: KoSvgSymbolCollectionResource::loadFromDevice(QIODevice*) (KoSvgSymbolCollectionResource.cpp:161)
==23688==    by 0x90EA08C: KoSvgSymbolCollectionResource::load() (KoSvgSymbolCollectionResource.cpp:133)
==23688==    by 0x89B388B: KoResourceServer<KoSvgSymbolCollectionResource, PointerStoragePolicy<KoSvgSymbolCollectionResource> >::loadResources(QStringList) (KoResourceServer.h:203)
==23688==    by 0x89AC0C9: KoResourceServerProvider::KoResourceServerProvider() (KoResourceServerProvider.cpp:139)
==23688==    by 0x89AC6BB: Holder (KoResourceServerProvider.cpp:156)
==23688==    by 0x89AC6BB: innerFunction (KoResourceServerProvider.cpp:156)
==23688==    by 0x89AC6BB: operator QGlobalStatic<KoResourceServerProvider, (anonymous namespace)::Q_QGS_s_instance::innerFunction, (anonymous namespace)::Q_QGS_s_instance::guard>::Type* (qglobalstatic.h:134)
==23688==    by 0x89AC6BB: KoResourceServerProvider::instance() (KoResourceServerProvider.cpp:160)
==23688== 
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,300 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x1067FE61: ??? (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x10680B3C: QVariant::QVariant(int, void const*, unsigned int) (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x90C181E: qVariantFromValue<KoSvgText::AutoValue> (qvariant.h:520)
==23688==    by 0x90C181E: fromValue<KoSvgText::AutoValue> (qvariant.h:366)
==23688==    by 0x90C181E: fromAutoValue (KoSvgText.h:144)
==23688==    by 0x90C181E: KoSvgTextProperties::defaultProperties() (KoSvgTextProperties.cpp:502)
==23688==    by 0x907CC5E: SvgGraphicsContext::SvgGraphicsContext() (SvgGraphicContext.cpp:28)
==23688==    by 0x90B163E: SvgLoadingContext::pushGraphicsContext(QDomElement const&, bool) (SvgLoadingContext.cpp:96)
==23688==    by 0x9087FA1: SvgParser::setResolution(QRectF, double) (SvgParser.cpp:205)
==23688==    by 0x90EA86E: KoSvgSymbolCollectionResource::loadFromDevice(QIODevice*) (KoSvgSymbolCollectionResource.cpp:161)
==23688==    by 0x90EA08C: KoSvgSymbolCollectionResource::load() (KoSvgSymbolCollectionResource.cpp:133)
==23688==    by 0x89B388B: KoResourceServer<KoSvgSymbolCollectionResource, PointerStoragePolicy<KoSvgSymbolCollectionResource> >::loadResources(QStringList) (KoResourceServer.h:203)
==23688==    by 0x89AC0C9: KoResourceServerProvider::KoResourceServerProvider() (KoResourceServerProvider.cpp:139)
==23688==    by 0x89AC6BB: Holder (KoResourceServerProvider.cpp:156)
==23688==    by 0x89AC6BB: innerFunction (KoResourceServerProvider.cpp:156)
==23688==    by 0x89AC6BB: operator QGlobalStatic<KoResourceServerProvider, (anonymous namespace)::Q_QGS_s_instance::innerFunction, (anonymous namespace)::Q_QGS_s_instance::guard>::Type* (qglobalstatic.h:134)
==23688==    by 0x89AC6BB: KoResourceServerProvider::instance() (KoResourceServerProvider.cpp:160)
==23688== 
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,301 of 12,945
==23688==    at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x8FD73CB: KoColorBackground::KoColorBackground(QColor const&, Qt::BrushStyle) (KoColorBackground.cpp:42)
==23688==    by 0x909101D: SvgParser::applyFillStyle(KoShape*) (SvgParser.cpp:996)
==23688==    by 0x9091372: SvgParser::applyCurrentBasicStyle(KoShape*) (SvgParser.cpp:842)
==23688==    by 0x90913C6: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:822)
==23688==    by 0x90934B3: SvgParser::createObjectDirect(QDomElement const&) (SvgParser.cpp:1813)
==23688==    by 0x908F76E: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1711)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9092442: SvgParser::parseClipPath(QDomElement const&) (SvgParser.cpp:754)
==23688==    by 0x908F54B: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1690)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,302 of 12,945
==23688==    at 0x4C2E01F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x104C4521: QListData::detach_grow(int*, int) (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x8F7DD7D: detach_helper_grow (qlist.h:759)
==23688==    by 0x8F7DD7D: QList<bool>::append(bool const&) (qlist.h:585)
==23688==    by 0x8F8049C: add (SimpleShapeContainerModel.h:60)
==23688==    by 0x8F8049C: ShapeGroupContainerModel::add(KoShape*) (KoShapeGroup.cpp:53)
==23688==    by 0x8F7D297: KoShapeContainer::ShapeInterface::addShape(KoShape*) (KoShapeContainer.cpp:215)
==23688==    by 0x8F7315A: KoShape::setParent(KoShapeContainer*) (KoShape.cpp:682)
==23688==    by 0x902041C: KoShapeGroupCommand::redo() (KoShapeGroupCommand.cpp:146)
==23688==    by 0x908EB74: SvgParser::addToGroup(QList<KoShape*>, KoShapeContainer*) (SvgParser.cpp:1336)
==23688==    by 0x909161B: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1500)
==23688==    by 0x9092442: SvgParser::parseClipPath(QDomElement const&) (SvgParser.cpp:754)
==23688==    by 0x908F54B: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1690)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,303 of 12,945
==23688==    at 0x4C2E01F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x104C4521: QListData::detach_grow(int*, int) (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x8F7DD7D: detach_helper_grow (qlist.h:759)
==23688==    by 0x8F7DD7D: QList<bool>::append(bool const&) (qlist.h:585)
==23688==    by 0x8F804AD: add (SimpleShapeContainerModel.h:61)
==23688==    by 0x8F804AD: ShapeGroupContainerModel::add(KoShape*) (KoShapeGroup.cpp:53)
==23688==    by 0x8F7D297: KoShapeContainer::ShapeInterface::addShape(KoShape*) (KoShapeContainer.cpp:215)
==23688==    by 0x8F7315A: KoShape::setParent(KoShapeContainer*) (KoShape.cpp:682)
==23688==    by 0x902041C: KoShapeGroupCommand::redo() (KoShapeGroupCommand.cpp:146)
==23688==    by 0x908EB74: SvgParser::addToGroup(QList<KoShape*>, KoShapeContainer*) (SvgParser.cpp:1336)
==23688==    by 0x909161B: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1500)
==23688==    by 0x9092442: SvgParser::parseClipPath(QDomElement const&) (SvgParser.cpp:754)
==23688==    by 0x908F54B: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1690)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688== 
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,304 of 12,945
==23688==    at 0x4C2E01F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x104C4521: QListData::detach_grow(int*, int) (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x8F5792B: QList<QList<KoPathPoint*>*>::detach_helper_grow(int, int) (qlist.h:759)
==23688==    by 0x8F57A0C: QList<QList<KoPathPoint*>*>::append(QList<KoPathPoint*>* const&) (qlist.h:585)
==23688==    by 0x8F526EE: operator<< (qlist.h:388)
==23688==    by 0x8F526EE: KoPathShapePrivate::KoPathShapePrivate(KoPathShapePrivate const&, KoPathShape*) (KoPathShape.cpp:81)
==23688==    by 0x8F52805: KoPathShape::KoPathShape(KoPathShape const&) (KoPathShape.cpp:127)
==23688==    by 0x8F52860: KoPathShape::cloneShape() const (KoPathShape.cpp:138)
==23688==    by 0x8F7EB96: SimpleShapeContainerModel (SimpleShapeContainerModel.h:39)
==23688==    by 0x8F7EB96: ShapeGroupContainerModel (KoShapeGroup.cpp:47)
==23688==    by 0x8F7EB96: KoShapeGroupPrivate (KoShapeGroup.cpp:101)
==23688==    by 0x8F7EB96: KoShapeGroup::KoShapeGroup(KoShapeGroup const&) (KoShapeGroup.cpp:122)
==23688==    by 0x8F7EF70: KoShapeGroup::cloneShape() const (KoShapeGroup.cpp:132)
==23688==    by 0x908CB00: SvgParser::applyClipping(KoShape*, QPointF const&) (SvgParser.cpp:1250)
==23688==    by 0x9091407: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:829)
==23688==    by 0x9091633: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1502)
==23688== 
==23688== 32 bytes in 1 blocks are possibly lost in loss record 3,305 of 12,945
==23688==    at 0x4C2E01F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23688==    by 0x104C4521: QListData::detach_grow(int*, int) (in /usr/lib64/libQt5Core.so.5.12.3)
==23688==    by 0x8F7EAC2: detach_helper_grow (qlist.h:759)
==23688==    by 0x8F7EAC2: append (qlist.h:585)
==23688==    by 0x8F7EAC2: operator<< (qlist.h:388)
==23688==    by 0x8F7EAC2: SimpleShapeContainerModel (SimpleShapeContainerModel.h:42)
==23688==    by 0x8F7EAC2: ShapeGroupContainerModel (KoShapeGroup.cpp:47)
==23688==    by 0x8F7EAC2: KoShapeGroupPrivate (KoShapeGroup.cpp:101)
==23688==    by 0x8F7EAC2: KoShapeGroup::KoShapeGroup(KoShapeGroup const&) (KoShapeGroup.cpp:122)
==23688==    by 0x8F7EF70: KoShapeGroup::cloneShape() const (KoShapeGroup.cpp:132)
==23688==    by 0x908CB00: SvgParser::applyClipping(KoShape*, QPointF const&) (SvgParser.cpp:1250)
==23688==    by 0x9091407: SvgParser::applyCurrentStyle(KoShape*, QPointF const&) (SvgParser.cpp:829)
==23688==    by 0x9091633: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1502)
==23688==    by 0x908F2C0: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1668)
==23688==    by 0x908FE9A: SvgParser::parseContainer(QDomElement const&, bool) (SvgParser.cpp:1638)
==23688==    by 0x909167F: SvgParser::parseGroup(QDomElement const&, QDomElement const&) (SvgParser.cpp:1494)
==23688==    by 0x9091EFC: SvgParser::parseSymbol(QDomElement const&) (SvgParser.cpp:718)
==23688==    by 0x908F5FF: SvgParser::parseSingleElement(QDomElement const&, SvgParser::DeferredUseStore*) (SvgParser.cpp:1696)
Comment 1 wolthera 2019-05-25 11:56:17 UTC
Might be why the symbols are leaking in the asan log: https://bugs.kde.org/show_bug.cgi?id=406232
Comment 2 Dmitry Kazakov 2019-06-04 09:35:28 UTC
It looks like the entire symbol library leaks at exit. I don't think it is the parser itself.
Comment 3 wolthera 2019-09-21 15:48:47 UTC
If three developers agree something leaks, it can be considered confirmed.