[Interest] valgrind --tool=helgrind and Qt 5.3.2 on Linux: "lock order violated"

Rainer Wiesenfarth Rainer_Wiesenfarth at Trimble.com
Thu Dec 11 16:29:58 CET 2014


I am not yet very familiar with helgrind, but if I use it on my application
I get a couple of messages like this:

==26941== ----------------------------------------------------------------
==26941== 
==26941== Thread #1: lock order "0x723FA50 before 0x723FA90" violated
==26941== 
==26941== Observed (incorrect) order is: acquisition of lock at 0x723FA90
==26941==    at 0x4C3053B: ??? (in
/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==26941==    by 0x6E11DA5: QObject::~QObject() (qmutex.h:136)
==26941==    by 0x6E17848: QTimer::~QTimer() (qtimer.cpp:163)
==26941==    [...]
==26941== 
==26941==  followed by a later acquisition of lock at 0x723FA50
==26941==    at 0x4C30963: ??? (in
/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==26941==    by 0x6E11E83: QObject::~QObject() (qorderedmutexlocker_p.h:106)
==26941==    by 0x6E17848: QTimer::~QTimer() (qtimer.cpp:163)
==26941==    [...]
==26941== 
==26941== Required order was established by acquisition of lock at 0x723FA50
==26941==    at 0x4C3053B: ??? (in
/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==26941==    by 0x6E0ED0C: QMetaObjectPrivate::connect(QObject const*, int,
                 QMetaObject const*, QObject const*, int, QMetaObject
const*, int, int*)
                 (qorderedmutexlocker_p.h:82)
==26941==    by 0x6E0F677: QObject::connect(QObject const*, char const*,
QObject const*,
                 char const*, Qt::ConnectionType) (qobject.cpp:2713)
==26941==    [...]
==26941== 
==26941==  followed by a later acquisition of lock at 0x723FA90
==26941==    at 0x4C3053B: ??? (in
/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==26941==    by 0x6E0ED1E: QMetaObjectPrivate::connect(QObject const*, int,
                 QMetaObject const*, QObject const*, int, QMetaObject
const*, int, int*)
                 (qorderedmutexlocker_p.h:83)
==26941==    by 0x6E0F677: QObject::connect(QObject const*, char const*,
QObject const*,
                 char const*, Qt::ConnectionType) (qobject.cpp:2713)
==26941==    [...]
==26941== 
==26941== ----------------------------------------------------------------

Is this something I should worry about?

Best Regards / Mit freundlichen Grüßen
Rainer Wiesenfarth

-- 
Software Engineer | Trimble Geospatial
Rotebühlstraße 81 | 70178 Stuttgart | Germany
Office +49 711 22881 0 | Fax +49 711 22881 11
http://www.trimble.com/geospatial/ | http://www.inpho.de/

Trimble Germany GmbH, Am Prime Parc 11, 65479 Raunheim
Eingetragen beim Amtsgericht Darmstadt unter HRB 83893,
Geschäftsführer: Dr. Frank Heimberg, Hans-Jürgen Gebauer


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6250 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20141211/b74e7e33/attachment.bin>


More information about the Interest mailing list