On quarta-feira, 2 de outubro de 2013 17:26:21, Peter Smith wrote:
> Hi all,
> 
> I'm having problems with QGIS seg faulting, and it looks like the
> problem is in QT (hence posting on this list):

No, it isn't.

> (gdb) bt
> #0  0x00007ffff59445a3 in qHash(QString const&) () from
> /usr/lib64/libQtCore.so.4

This function is trying to hash the QString you passed it. Hashing only 
happens on hash or set keys. So find where the akey parameter was passed from:

> #1  0x000000000044c2a3 in QHash<QString, QHashDummyValue>::findNode
> (this=0x87eac0, akey=..., ahp=0x0) at /usr/include/QtCore/qhash.h:875
> #2  0x0000000000477b92 in QHash<QString, QHashDummyValue>::contains
> (this=0x87eac0, akey=...) at /usr/include/QtCore/qhash.h:867
> #3  0x0000000000475797 in QSet<QString>::contains (this=0x87eac0,
> value=...) at /usr/include/QtCore/qset.h:86
> #4  0x000000000045cc7e in QgsProjectParser::mapLayerFromStyle
> (this=0x87e9e0, lName=..., styleName=..., useCache=true) at
> /root/qgis/qgis-2.0.1/src/mapserver/qgsprojectparser.cpp:1365

At this point in the code, you made a call to contains(). The string you 
passed is not valid. You probably have dangling pointers or other problems if 
you managed to get an invalid QString.

You may want to try running your application in valgrind.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to