Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-39927

Valgrind reports: "Conditional jump or move depends on uninitialised value(s)" in QMetaObjectPrivate::connect()

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P2: Important P2: Important
    • 5.3.2
    • 5.3.1
    • Core: Object Model
    • None
    • Kernel 3.15.1 (amd64)
      glibc-2.17
      gcc-4.8.3

      Running 'plasmashell' in Valgrind reports this Qt related warning on each startup (full message below):

      ==3267== Conditional jump or move depends on uninitialised value(s)
      ==3267==    at 0xB1F14AF: QMetaObjectPrivate::connect(QObject const*, int, QMetaObject const*, QObject const*, int, QMetaObject const*, int, int*) (qobject.cpp:3233)
      ==3267==    by 0xB1F1C87: QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (qobject.cpp:2712)
      

      I don't have an isolated test-case to produce this, but I'm able to consistently reproduce it using the current KDE Frameworks 5-based 'plasmashell' from git master.

      I can't tell whether that's a false-positive, haven't found any existing reports regarding this and couldn't get feedback on IRC so far on the impact of this, so feel free to close this report if it's not critical.

      Full messages:

      ==3267== Conditional jump or move depends on uninitialised value(s)
      ==3267==    at 0xB1F14AF: QMetaObjectPrivate::connect(QObject const*, int, QMetaObject const*, QObject const*, int, QMetaObject const*, int, int*) (qobject.cpp:3233)
      ==3267==    by 0xB1F1C87: QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (qobject.cpp:2712)
      ==3267==    by 0x5EA1175: Plasma::ThemePrivate::useCache() (theme_p.cpp:183)
      ==3267==    by 0x5E9C9C5: Plasma::Theme::findInRectsCache(QString const&, QString const&, QRectF&) const (theme.cpp:346)
      ==3267==    by 0x5E96310: Plasma::SvgPrivate::elementRect(QString const&) (svg.cpp:499)
      ==3267==    by 0x5E96655: Plasma::SvgPrivate::checkColorHints() (svg.cpp:546)
      ==3267==    by 0x5E96B2C: Plasma::SvgPrivate::setImagePath(QString const&) (svg.cpp:221)
      ==3267==    by 0x5E8B969: Plasma::FrameSvg::setImagePath(QString const&) (framesvg.cpp:89)
      ==3267==    by 0x6102B9C: Plasma::FrameSvgItem::setImagePath(QString const&) (framesvgitem.cpp:122)
      ==3267==    by 0x60EDE1E: PlasmaQuick::Dialog::Dialog(QQuickItem*) (dialog.cpp:476)
      ==3267==    by 0x1F0F982F: void QQmlPrivate::createInto<PlasmaQuick::Dialog>(void*) (qqmlprivate.h:101)
      ==3267==    by 0x886FBC8: QQmlType::create() const (qqmlmetatype.cpp:719)
      ==3267==  Uninitialised value was created by a heap allocation
      ==3267==    at 0x4C2C007: operator new(unsigned long) (vg_replace_malloc.c:298)
      ==3267==    by 0xB1F2253: QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) (qobject.cpp:4576)
      ==3267==    by 0xB1F2673: QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) (qobject.cpp:4531)
      ==3267==    by 0x5EA0418: Plasma::ThemePrivate::ThemePrivate(QObject*) (qobject.h:241)
      ==3267==    by 0x5E9A04E: Plasma::Theme::Theme(QObject*) (theme.cpp:53)
      ==3267==    by 0x452D9E: ShellCorona::ShellCorona(QObject*) (shellcorona.cpp:174)
      ==3267==    by 0x458388: ShellManager::loadHandlers() (shellmanager.cpp:99)
      ==3267==    by 0x47745C: ShellManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_shellmanager.cpp:99)
      ==3267==    by 0xB1EDBC5: QObject::event(QEvent*) (qobject.cpp:1241)
      ==3267==    by 0xA16F97B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3522)
      ==3267==    by 0xA174A05: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3305)
      ==3267==    by 0xB1BDFF4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935)
      ==3267== 
      ==3267== Conditional jump or move depends on uninitialised value(s)
      ==3267==    at 0xB1F14AF: QMetaObjectPrivate::connect(QObject const*, int, QMetaObject const*, QObject const*, int, QMetaObject const*, int, int*) (qobject.cpp:3233)
      ==3267==    by 0xB1F1C87: QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (qobject.cpp:2712)
      ==3267==    by 0x5EA11A4: Plasma::ThemePrivate::useCache() (theme_p.cpp:186)
      ==3267==    by 0x5E9C9C5: Plasma::Theme::findInRectsCache(QString const&, QString const&, QRectF&) const (theme.cpp:346)
      ==3267==    by 0x5E96310: Plasma::SvgPrivate::elementRect(QString const&) (svg.cpp:499)
      ==3267==    by 0x5E96655: Plasma::SvgPrivate::checkColorHints() (svg.cpp:546)
      ==3267==    by 0x5E96B2C: Plasma::SvgPrivate::setImagePath(QString const&) (svg.cpp:221)
      ==3267==    by 0x5E8B969: Plasma::FrameSvg::setImagePath(QString const&) (framesvg.cpp:89)
      ==3267==    by 0x6102B9C: Plasma::FrameSvgItem::setImagePath(QString const&) (framesvgitem.cpp:122)
      ==3267==    by 0x60EDE1E: PlasmaQuick::Dialog::Dialog(QQuickItem*) (dialog.cpp:476)
      ==3267==    by 0x1F0F982F: void QQmlPrivate::createInto<PlasmaQuick::Dialog>(void*) (qqmlprivate.h:101)
      ==3267==    by 0x886FBC8: QQmlType::create() const (qqmlmetatype.cpp:719)
      ==3267==  Uninitialised value was created by a heap allocation
      ==3267==    at 0x4C2C007: operator new(unsigned long) (vg_replace_malloc.c:298)
      ==3267==    by 0xB1F2253: QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) (qobject.cpp:4576)
      ==3267==    by 0xB1F2673: QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) (qobject.cpp:4531)
      ==3267==    by 0x5EA036C: Plasma::ThemePrivate::ThemePrivate(QObject*) (qobject.h:241)
      ==3267==    by 0x5E9A04E: Plasma::Theme::Theme(QObject*) (theme.cpp:53)
      ==3267==    by 0x452D9E: ShellCorona::ShellCorona(QObject*) (shellcorona.cpp:174)
      ==3267==    by 0x458388: ShellManager::loadHandlers() (shellmanager.cpp:99)
      ==3267==    by 0x47745C: ShellManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_shellmanager.cpp:99)
      ==3267==    by 0xB1EDBC5: QObject::event(QEvent*) (qobject.cpp:1241)
      ==3267==    by 0xA16F97B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3522)
      ==3267==    by 0xA174A05: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3305)
      ==3267==    by 0xB1BDFF4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935)
      
      

        For Gerrit Dashboard: QTBUG-39927
        # Subject Branch Project Status CR V

            thiago Thiago Macieira
            eliasp Elias Probst
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes