Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.3.0
-
None
-
Linux
-
0febd75d5242653be3202ea0e46ed6107e4333bd
Description
Apparently introduced by the QOpenGLWidget changes eacd58d4e78e7238ba5fcca90ba960aaf3ebd263(Enabling QQuickWidget and QOpenGLWidget) . Valgrind excerpt from tst_qmessagebox:
=25150== 32 bytes in 1 blocks are possibly lost in loss record 265 of 956 ==25150== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==25150== by 0x6B20A88: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16) ==25150== by 0x6B22494: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16) ==25150== by 0x6B2261C: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned long, std::allocator<char> const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16) ==25150== by 0x13FD5693: llvm::Module::Module(llvm::StringRef, llvm::LLVMContext&) (in /usr/lib/x86_64-linux-gnu/libLLVM-3.0.so.1) ==25150== by 0x13F73FCF: LLVMModuleCreateWithNameInContext (in /usr/lib/x86_64-linux-gnu/libLLVM-3.0.so.1) ==25150== by 0x122939FD: ??? (in /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so) ==25150== by 0x12293BDA: gallivm_create (in /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so) ==25150== by 0x12219AF4: ??? (in /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so) ==25150== by 0x121BD765: nv50_create (in /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so) ==25150== by 0x131B9231: ??? (in /usr/lib/x86_64-linux-gnu/dri/libgallium.so) ==25150== by 0x12174994: dri_create_context (in /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so) ==25150== by 0x12170E44: ??? (in /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so) ==25150== by 0x12170F5C: ??? (in /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so) ==25150== by 0x75B9BD2: ??? (in /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2) ==25150== by 0x759333D: ??? (in /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2) ==25150== by 0x7593569: glXCreateNewContext (in /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2) ==25150== by 0xBE1A4B2: ??? ==25150== by 0xBDF5E94: ??? ==25150== by 0x5B687EF: QOpenGLContext::create() (qopenglcontext.cpp:483) ==25150== by 0x4FFADEA: QWidgetPrivate::shareContext() const (qwidget.cpp:11143) ==25150== by 0x4FB8F9F: QWidgetBackingStore::flush(QWidget*) (qwidgetbackingstore.cpp:1193) ==25150== by 0x4FB45DE: QWidgetBackingStore::endPaint(QRegion const&, QBackingStore*, BeginPaintInfo*) (qwidgetbackingstore.cpp:337) ==25150== by 0x4FB8ECF: QWidgetBackingStore::doSync() (qwidgetbackingstore.cpp:1181) ==25150== by 0x4FB7B6A: QWidgetBackingStore::sync(QWidget*, QRegion const&) (qwidgetbackingstore.cpp:948) ==25150== by 0x4FE4481: QWidgetPrivate::syncBackingStore(QRegion const&) (qwidget.cpp:1699) ==25150== by 0x5021F99: QWidgetWindow::handleExposeEvent(QExposeEvent*) (qwidgetwindow.cpp:713) ==25150== by 0x501FD0D: QWidgetWindow::event(QEvent*) (qwidgetwindow.cpp:225) ==25150== by 0x4FA97ED: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3517) ==25150== by 0x4FA6DD3: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:2937) ==25150== by 0x65811E7: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:937) ==25150== by 0x5B2A910: QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (in /depot/fkleint/qt-5/qtbase/lib/libQt5Gui.so.5.3.0) ==25150== by 0x5B27EA1: QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (qguiapplication.cpp:2429) ==25150== by 0x5B23D7B: QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (qguiapplication.cpp:1491) ==25150== by 0x5B0DE20: QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qwindowsysteminterface.cpp:579) ==25150== by 0xBE82242: ??? ==25150== by 0x657DD87: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:136) ==25150== by 0x657E060: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:212) ==25150== by 0x5201944: QDialog::exec() (qdialog.cpp:549) ==25150== by 0x408E8F: tst_QMessageBox::exec(QMessageBox*, int) (tst_qmessagebox.cpp:166) ==25150== by 0x409760: tst_QMessageBox::defaultButton() (tst_qmessagebox.cpp:249) ==25150== by 0x40D939: tst_QMessageBox::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qmessagebox.moc:132) ==25150== by 0x658D8BE: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2169) ==25150== by 0x658CD7A: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1464) ==25150== by 0x57F852C: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qobjectdefs.h:399) ==25150== by 0x57F432F: QTest::qInvokeTestMethodDataEntry(char*) (qtestcase.cpp:1721) ==25150== by 0x57F4BAC: QTest::qInvokeTestMethod(char const*, char const*) (qtestcase.cpp:1846) ==25150== by 0x57F5448: QTest::qInvokeTestMethods(QObject*) (qtestcase.cpp:2000) ==25150== by 0x57F595E: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:2230) ==25150== by 0x40D867: main (tst_qmessagebox.cpp:710)
Attachments
Issue Links
- is required for
-
QTBUG-36712 Issues to be fixed before 5.3.0 Beta 1 release
- Closed
For Gerrit Dashboard: QTBUG-36871 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
78763,1 | QWidget: do not allocate a QOpenGLContext unless needed by QQuickWidget | stable | qt/qtbase | Status: MERGED | +2 | 0 |