Bug report #14822
Updated by Giovanni Manghi over 7 years ago
occasionally I have problems with QGIS Server 2.14.0-2 (but not in 2.8.x).
When I switch from a project to another from QGIS Web Client, when it
calls the qgis server (WMS GetProjectSettings) I have a segmentation
fault as you can see in the below GDB backtrace. It seems that it's a
problem in QgsServerProjectParser that didn't exist in 2.8.x.
This problem occurs when I switch from a big project to another, with
inherited layers from other projects.
<pre>
Program received signal SIGSEGV, Segmentation fault.
0xb6f75ba1 in QBasicAtomicInt::ref (this=0x29) at
/usr/include/qt4/QtCore/qatomic_i386.h:120
120 : "memory");
(gdb) bt
#0 0xb6f75ba1 in QBasicAtomicInt::ref (this=0x29) at
/usr/include/qt4/QtCore/qatomic_i386.h:120
#1 0xb6f77b74 in QString::QString (this=0x9c17c44, other=...) at
/usr/include/qt4/QtCore/qstring.h:726
#2 0xb722d753 in QgsMapLayer::id (this=0xcc483d8) at
/usr/local/src/qgis-2.14.2/src/core/qgsmaplayer.cpp:107
#3 0xb7088c81 in QgsLayerTreeLayer::QgsLayerTreeLayer
(this=0x9c17c28, layer=0xcc483d8)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreelayer.cpp:27
#4 0xb708932a in QgsLayerTreeLayer::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreelayer.cpp:111
#5 0xb709bf49 in QgsLayerTreeNode::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreenode.cpp:56
#6 0xb7086a81 in QgsLayerTreeGroup::readChildrenFromXML
(this=0x9874e18, element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreegroup.cpp:293
#7 0xb70864bc in QgsLayerTreeGroup::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreegroup.cpp:259
#8 0xb709befc in QgsLayerTreeNode::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreenode.cpp:54
#9 0xb7086a81 in QgsLayerTreeGroup::readChildrenFromXML
(this=0x99d0320, element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreegroup.cpp:293
#10 0xb70864bc in QgsLayerTreeGroup::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreegroup.cpp:259
#11 0x080f9cc2 in QgsServerProjectParser::findLegendGroupElements
(this=0xcbf39e8)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:1209
#12 0x080efacb in QgsServerProjectParser::QgsServerProjectParser
(this=0xcbf39e8, xmlDoc=0x8b5b138, filePath=...)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:59
#13 0x080603e4 in QgsConfigCache::serverConfiguration (this=0x8b7dad0,
filePath=...)
at /usr/local/src/qgis-2.14.2/src/server/qgsconfigcache.cpp:55
#14 0x080f114c in QgsServerProjectParser::createLayerFromElement
(this=0xcbb01c0, elem=..., useCache=true)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:256
#15 0x080f01b2 in QgsServerProjectParser::projectLayerMap
(this=0xcbb01c0, layerMap=...)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:102
#16 0x080fadef in QgsServerProjectParser::wfsLayerNames (this=0xcbb01c0)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:1319
#17 0x080d79eb in QgsWMSProjectParser::wfsLayerNames (this=0x9d7ccc0)
#18 0x0807cec8 in QgsWMSServer::getCapabilities (
this=<error reading variable: Cannot access memory at address 0xbfd6d5e4>,
this@entry=<error reading variable: Cannot access memory at
address 0xbfd6d5dc>,
version=<error reading variable: Cannot access memory at address
0xbfd6d5e8>,
fullProjectInformation=<error reading variable: Cannot access
memory at address 0xbfd6d31c>)
at /usr/local/src/qgis-2.14.2/src/server/qgswmsserver.cpp:589
</pre>
When I switch from a project to another from QGIS Web Client, when it
calls the qgis server (WMS GetProjectSettings) I have a segmentation
fault as you can see in the below GDB backtrace. It seems that it's a
problem in QgsServerProjectParser that didn't exist in 2.8.x.
This problem occurs when I switch from a big project to another, with
inherited layers from other projects.
<pre>
Program received signal SIGSEGV, Segmentation fault.
0xb6f75ba1 in QBasicAtomicInt::ref (this=0x29) at
/usr/include/qt4/QtCore/qatomic_i386.h:120
120 : "memory");
(gdb) bt
#0 0xb6f75ba1 in QBasicAtomicInt::ref (this=0x29) at
/usr/include/qt4/QtCore/qatomic_i386.h:120
#1 0xb6f77b74 in QString::QString (this=0x9c17c44, other=...) at
/usr/include/qt4/QtCore/qstring.h:726
#2 0xb722d753 in QgsMapLayer::id (this=0xcc483d8) at
/usr/local/src/qgis-2.14.2/src/core/qgsmaplayer.cpp:107
#3 0xb7088c81 in QgsLayerTreeLayer::QgsLayerTreeLayer
(this=0x9c17c28, layer=0xcc483d8)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreelayer.cpp:27
#4 0xb708932a in QgsLayerTreeLayer::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreelayer.cpp:111
#5 0xb709bf49 in QgsLayerTreeNode::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreenode.cpp:56
#6 0xb7086a81 in QgsLayerTreeGroup::readChildrenFromXML
(this=0x9874e18, element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreegroup.cpp:293
#7 0xb70864bc in QgsLayerTreeGroup::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreegroup.cpp:259
#8 0xb709befc in QgsLayerTreeNode::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreenode.cpp:54
#9 0xb7086a81 in QgsLayerTreeGroup::readChildrenFromXML
(this=0x99d0320, element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreegroup.cpp:293
#10 0xb70864bc in QgsLayerTreeGroup::readXML (element=...)
at /usr/local/src/qgis-2.14.2/src/core/layertree/qgslayertreegroup.cpp:259
#11 0x080f9cc2 in QgsServerProjectParser::findLegendGroupElements
(this=0xcbf39e8)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:1209
#12 0x080efacb in QgsServerProjectParser::QgsServerProjectParser
(this=0xcbf39e8, xmlDoc=0x8b5b138, filePath=...)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:59
#13 0x080603e4 in QgsConfigCache::serverConfiguration (this=0x8b7dad0,
filePath=...)
at /usr/local/src/qgis-2.14.2/src/server/qgsconfigcache.cpp:55
#14 0x080f114c in QgsServerProjectParser::createLayerFromElement
(this=0xcbb01c0, elem=..., useCache=true)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:256
#15 0x080f01b2 in QgsServerProjectParser::projectLayerMap
(this=0xcbb01c0, layerMap=...)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:102
#16 0x080fadef in QgsServerProjectParser::wfsLayerNames (this=0xcbb01c0)
at /usr/local/src/qgis-2.14.2/src/server/qgsserverprojectparser.cpp:1319
#17 0x080d79eb in QgsWMSProjectParser::wfsLayerNames (this=0x9d7ccc0)
#18 0x0807cec8 in QgsWMSServer::getCapabilities (
this=<error reading variable: Cannot access memory at address 0xbfd6d5e4>,
this@entry=<error reading variable: Cannot access memory at
address 0xbfd6d5dc>,
version=<error reading variable: Cannot access memory at address
0xbfd6d5e8>,
fullProjectInformation=<error reading variable: Cannot access
memory at address 0xbfd6d31c>)
at /usr/local/src/qgis-2.14.2/src/server/qgswmsserver.cpp:589
</pre>