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

Details

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

    Description

      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)
      
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes