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

OpenGL: new-delete-type-mismatch

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P2: Important
    • None
    • 5.7.0
    • GUI: OpenGL, Quick: Widget
    • None
    • ArchLinux

    Description

      We enabled the AddressSanitizer in our application and get this stacktrace after shutdown if we use QQuickWidget.

      ==26449==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x6140000f2240 in thread T0:
        object passed to delete has wrong type:
        size of the allocated type:   400 bytes;
        size of the deallocated type: 16 bytes.
          #0 0x716180 in operator delete(void*, unsigned long) (/APP+0x716180)
          #1 0x7f885797158b in QOpenGLVersionFunctionsStorage::~QOpenGLVersionFunctionsStorage() [..]/qtbase/src/gui/opengl/qopenglversionfunctions.cpp:81
          #2 0x7f88576393d7 in QOpenGLContextPrivate::~QOpenGLContextPrivate() [..]/qtbase/src/gui/kernel/qopenglcontext_p.h:219
          #3 0x7f885763940f in QOpenGLContextPrivate::~QOpenGLContextPrivate() [..]/qtbase/src/gui/kernel/qopenglcontext_p.h:222
          #4 0x7f885685ab75 in QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) [..]/qtbase/src/corelib/../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:60
          #5 0x7f885685916c in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() [..]/qtbase/src/corelib/../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107
          #6 0x7f885684e30d in QObject::~QObject() [..]/qtbase/src/corelib/kernel/qobject.cpp:900
          #7 0x7f8857636e2f in QOpenGLContext::~QOpenGLContext() [..]/qtbase/src/gui/kernel/qopenglcontext.cpp:689
          #8 0x7f8857636e4b in QOpenGLContext::~QOpenGLContext() [..]/qtbase/src/gui/kernel/qopenglcontext.cpp:696
          #9 0x7f8857d0a945 in QWidgetPrivate::deleteTLSysExtra() [..]/qtbase/src/widgets/kernel/qwidget.cpp:1892
          #10 0x7f8857d24aa0 in QWidget::destroy(bool, bool) [..]/qtbase/src/widgets/kernel/qwidget.cpp:12336
          #11 0x7f8857cc201c in QApplication::~QApplication() [..]/qtbase/src/widgets/kernel/qapplication.cpp:849
          #12 0x7287ec in main [..]/src/main.cpp:126:1
          #13 0x7f88552c1290 in __libc_start_main (/usr/lib/libc.so.6+0x20290)
          #14 0x62df39 in _start (APP+0x62df39)
      
      0x6140000f2240 is located 0 bytes inside of 400-byte region [0x6140000f2240,0x6140000f23d0)
      allocated by thread T0 here:
          #0 0x715480 in operator new(unsigned long) (APP+0x715480)
          #1 0x7f8857971671 in QOpenGLVersionFunctionsStorage::backend(QOpenGLContext*, QOpenGLVersionFunctionsBackend::Version) [..]/qtbase/src/gui/opengl/qopenglversionfunctions.cpp:108
          #2 0x7f8857971c1e in QAbstractOpenGLFunctionsPrivate::functionsBackend(QOpenGLContext*, QOpenGLVersionFunctionsBackend::Version) [..]/qtbase/src/gui/opengl/qopenglversionfunctions.cpp:122
          #3 0x7f885798ef9f in QOpenGLFunctions_3_0::initializeOpenGLFunctions() [..]/qtbase/src/gui/opengl/qopenglfunctions_3_0.cpp:150
          #4 0x7f88576371e7 in QOpenGLContext::versionFunctions(QOpenGLVersionProfile const&) const [..]/qtbase/src/gui/kernel/qopenglcontext.cpp:862
          #5 0x7f8857974ce9 in QOpenGLFunctions_3_0* QOpenGLContext::versionFunctions<QOpenGLFunctions_3_0>() const [..]/qtbase/src/gui/../../include/QtGui/../../src/gui/kernel/qopenglcontext.h:196
          #6 0x7f8857973f7a in QOpenGLVertexArrayObjectPrivate::create() [..]/qtbase/src/gui/opengl/qopenglvertexarrayobject.cpp:177
          #7 0x7f8857974685 in QOpenGLVertexArrayObject::create() [..]/qtbase/src/gui/opengl/qopenglvertexarrayobject.cpp:407
          #8 0x7f885797a9ae in QOpenGLVertexArrayObject::Binder::Binder(QOpenGLVertexArrayObject*) [..]/qtbase/src/gui/../../include/QtGui/../../src/gui/opengl/qopenglvertexarrayobject.h:76
          #9 0x7f8857979ff0 in QOpenGLTextureBlitter::create() [..]/qtbase/src/gui/opengl/qopengltextureblitter.cpp:346
          #10 0x7f88578f3009 in QPlatformBackingStore::composeAndFlush(QWindow*, QRegion const&, QPoint const&, QPlatformTextureList*, QOpenGLContext*, bool) [..]/qtbase/src/gui/painting/qplatformbackingstore.cpp:329
          #11 0x7f884cf97180 in QXcbBackingStore::composeAndFlush(QWindow*, QRegion const&, QPoint const&, QPlatformTextureList*, QOpenGLContext*, bool) [..]/qtbase/src/plugins/platforms/xcb/qxcbbackingstore.cpp:619
          #12 0x7f8857cd64a1 in QWidgetBackingStore::qt_flush(QWidget*, QRegion const&, QBackingStore*, QWidget*, QPoint const&, QPlatformTextureList*, QWidgetBackingStore*) [..]/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:122
          #13 0x7f8857cdc35a in QWidgetBackingStore::flush(QWidget*) [..]/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1381
          #14 0x7f8857cd6dbc in QWidgetBackingStore::endPaint(QRegion const&, QBackingStore*, BeginPaintInfo*) [..]/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:343
          #15 0x7f8857cdc203 in QWidgetBackingStore::doSync() [..]/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1365
          #16 0x7f8857cdaf93 in QWidgetBackingStore::sync() [..]/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1151
          #17 0x7f8857d0ad36 in QWidgetPrivate::syncBackingStore() [..]/qtbase/src/widgets/kernel/qwidget.cpp:1955
          #18 0x7f8857d1e00a in QWidget::event(QEvent*) [..]/qtbase/src/widgets/kernel/qwidget.cpp:9083
          #19 0x7f8857e7f718 in QMainWindow::event(QEvent*) [..]/qtbase/src/widgets/widgets/qmainwindow.cpp:1543
          #20 0x7f8857ccb235 in QApplicationPrivate::notify_helper(QObject*, QEvent*) [..]/qtbase/src/widgets/kernel/qapplication.cpp:3799
          #21 0x7f8857ccb053 in QApplication::notify(QObject*, QEvent*) [..]/qtbase/src/widgets/kernel/qapplication.cpp:3762
          #22 0x7f88568142c9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) [..]/qtbase/src/corelib/kernel/qcoreapplication.cpp:988
          #23 0x7f8857cba8b3 in QCoreApplication::sendEvent(QObject*, QEvent*) [..]/qtbase/src/widgets/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
          #24 0x7f8857cd7aae in QWidgetBackingStore::sendUpdateRequest(QWidget*, QWidgetBackingStore::UpdateTime) [..]/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:484
          #25 0x7f8857cd8a91 in QWidgetBackingStore::markDirty(QRect const&, QWidget*, QWidgetBackingStore::UpdateTime, QWidgetBackingStore::BufferState) [..]/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:683
          #26 0x7f8857d2199b in QWidget::repaint(QRect const&) [..]/qtbase/src/widgets/kernel/qwidget.cpp:10873
          #27 0x7f8857d21792 in QWidget::repaint() [..]/qtbase/src/widgets/kernel/qwidget.cpp:10829
          #28 0x7f8857e007d2 in QAbstractButtonPrivate::click() [..]/qtbase/src/widgets/widgets/qabstractbutton.cpp:399
          #29 0x7f8857e01d15 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) [..]/qtbase/src/widgets/widgets/qabstractbutton.cpp:1009
      
      SUMMARY: AddressSanitizer: new-delete-type-mismatch ([..]/src/APP+0x716180) in operator delete(void*, unsigned long)
      
      

      Attachments

        Issue Links

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

          Activity

            People

              sletta Gunnar Sletta
              misery André Klitzing
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes