Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.4.0
-
None
-
Qt 5.4 branch with patch from https://codereview.qt-project.org/#/c/92201/ (version3) applied.
-
c2db9b6a48ac979057be640013655c815a153e21
Description
I am getting the following debug output
$ ./testapp
"Theme tree: (Oxygen)"
[opengl/qopenglframebufferobject.cpp line 575] OpenGL Error: 1281
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
[opengl/qopenglframebufferobject.cpp line 730] OpenGL Error: 1281
ASSERT: "context" in file opengl/qopenglfunctions.cpp, line 213
Aborted
that results in an assert. It is reproducible in the attached small application by clicking two times on the "hide"-button.
The backtrace is:
(gdb) bt
#0 0x00007ffff528d407 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff528e7e8 in __GI_abort () at abort.c:89
#2 0x00007ffff721fd20 in qt_message_fatal (context=..., message=...) at global/qlogging.cpp:1427
#3 0x00007ffff721c806 in QMessageLogger::fatal (this=0x7fffffffb060, msg=0x7ffff75d5f08 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:614
#4 0x00007ffff7216aba in qt_assert (assertion=0x7ffff7cabef5 "context", file=0x7ffff7cabed9 "opengl/qopenglfunctions.cpp", line=213) at global/qglobal.cpp:2816
#5 0x00007ffff7b94e9d in qt_gl_functions (context=0x0) at opengl/qopenglfunctions.cpp:213
#6 0x00007ffff7b967b8 in QOpenGLFunctions::initializeOpenGLFunctions (this=0x481e7e8) at opengl/qopenglfunctions.cpp:542
#7 0x00007ffff65c0587 in QSGBatchRenderer::Renderer::Renderer (this=0x481e710, ctx=0x9883a0) at scenegraph/coreapi/qsgbatchrenderer.cpp:760
#8 0x00007ffff65f92bd in QSGRenderContext::createRenderer (this=0x9883a0) at scenegraph/qsgcontext.cpp:622
#9 0x00007ffff6654d0f in QQuickWindowPrivate::syncSceneGraph (this=0x988490) at items/qquickwindow.cpp:343
#10 0x00007ffff6771020 in QQuickRenderControl::sync (this=0x9882f0) at items/qquickrendercontrol.cpp:242
#11 0x00007ffff7fedd6b in QQuickWidget::resizeEvent (this=0x987ef0, e=0x7fffffffbd50) at qquickwidget.cpp:877
#12 0x00007ffff6b5d364 in QWidget::event (this=0x987ef0, event=0x7fffffffbd50) at kernel/qwidget.cpp:8778
#13 0x00007ffff7fee701 in QQuickWidget::event (this=0x987ef0, e=0x7fffffffbd50) at qquickwidget.cpp:1048
#14 0x00007ffff6b0e1b8 in QApplicationPrivate::notify_helper (this=0x607340, receiver=0x987ef0, e=0x7fffffffbd50) at kernel/qapplication.cpp:3720
#15 0x00007ffff6b0e025 in QApplication::notify (this=0x7fffffffdc00, receiver=0x987ef0, e=0x7fffffffbd50) at kernel/qapplication.cpp:3685
#16 0x00007ffff74a795e in QCoreApplication::notifyInternal (this=0x7fffffffdc00, receiver=0x987ef0, event=0x7fffffffbd50) at kernel/qcoreapplication.cpp:940
#17 0x00007ffff6afecab in QCoreApplication::sendEvent (receiver=0x987ef0, event=0x7fffffffbd50) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#18 0x00007ffff6b58e98 in QWidgetPrivate::setGeometry_sys (this=0x988080, x=4, y=4, w=197, h=200, isMove=false) at kernel/qwidget.cpp:7148
#19 0x00007ffff6b584a1 in QWidget::setGeometry (this=0x987ef0, r=...) at kernel/qwidget.cpp:7044
#20 0x00007ffff6b398e3 in QWidget::setGeometry (this=0x987ef0, ax=4, ay=4, aw=197, ah=200) at ../../include/QtWidgets/../../src/widgets/kernel/qwidget.h:832
#21 0x00007ffff6b3d9a5 in QWidgetItem::setGeometry (this=0xa83660, rect=...) at kernel/qlayoutitem.cpp:495
#22 0x00007ffff6b333cc in QGridBox::setGeometry (this=0xa834f0, r=...) at kernel/qgridlayout.cpp:85
#23 0x00007ffff6b319e3 in QGridLayoutPrivate::distribute (this=0x995f90, r=..., hSpacing=4, vSpacing=4) at kernel/qgridlayout.cpp:977
#24 0x00007ffff6b32675 in QGridLayout::setGeometry (this=0x995f60, rect=...) at kernel/qgridlayout.cpp:1383
#25 0x00007ffff6b3673e in QLayoutPrivate::doResize (this=0x995f90, r=...) at kernel/qlayout.cpp:588
#26 0x00007ffff6b36815 in QLayout::widgetEvent (this=0x995f60, e=0x7fffffffcaf0) at kernel/qlayout.cpp:612
#27 0x00007ffff6b0e178 in QApplicationPrivate::notify_helper (this=0x607340, receiver=0x995d10, e=0x7fffffffcaf0) at kernel/qapplication.cpp:3711
#28 0x00007ffff6b0e025 in QApplication::notify (this=0x7fffffffdc00, receiver=0x995d10, e=0x7fffffffcaf0) at kernel/qapplication.cpp:3685
#29 0x00007ffff74a795e in QCoreApplication::notifyInternal (this=0x7fffffffdc00, receiver=0x995d10, event=0x7fffffffcaf0) at kernel/qcoreapplication.cpp:940
#30 0x00007ffff6afecab in QCoreApplication::sendEvent (receiver=0x995d10, event=0x7fffffffcaf0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#31 0x00007ffff6b58e98 in QWidgetPrivate::setGeometry_sys (this=0x995d50, x=200, y=0, w=205, h=208, isMove=true) at kernel/qwidget.cpp:7148
--Type <return> to continue, or q <return> to quit--
#32 0x00007ffff6b584a1 in QWidget::setGeometry (this=0x995d10, r=...) at kernel/qwidget.cpp:7044
#33 0x00007ffff6cf2c1c in QSplitterPrivate::setGeo (this=0x6e9970, sls=0x995700, p=200, s=205, allowCollapse=false) at widgets/qsplitter.cpp:758
#34 0x00007ffff6cf1fcf in QSplitterPrivate::doResize (this=0x6e9970) at widgets/qsplitter.cpp:557
#35 0x00007ffff6cf1a1b in QSplitterPrivate::recalc (this=0x6e9970, update=true) at widgets/qsplitter.cpp:471
#36 0x00007ffff6cf43a0 in QSplitter::event (this=0x6d1e90, e=0xbbe040) at widgets/qsplitter.cpp:1298
#37 0x00007ffff6b0e1b8 in QApplicationPrivate::notify_helper (this=0x607340, receiver=0x6d1e90, e=0xbbe040) at kernel/qapplication.cpp:3720
#38 0x00007ffff6b0e025 in QApplication::notify (this=0x7fffffffdc00, receiver=0x6d1e90, e=0xbbe040) at kernel/qapplication.cpp:3685
#39 0x00007ffff74a795e in QCoreApplication::notifyInternal (this=0x7fffffffdc00, receiver=0x6d1e90, event=0xbbe040) at kernel/qcoreapplication.cpp:940
#40 0x00007ffff74ab599 in QCoreApplication::sendEvent (receiver=0x6d1e90, event=0xbbe040) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#41 0x00007ffff74a8c77 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6074b0) at kernel/qcoreapplication.cpp:1544
#42 0x00007ffff74a8626 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1402
#43 0x00007ffff751e924 in postEventSourceDispatch (s=0x657a90) at kernel/qeventdispatcher_glib.cpp:279
#44 0x00007ffff22dae04 in g_main_dispatch (context=0x7fffe4001e00) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3064
#45 g_main_context_dispatch (context=context@entry=0x7fffe4001e00) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3663
#46 0x00007ffff22db048 in g_main_context_iterate (context=context@entry=0x7fffe4001e00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3734
#47 0x00007ffff22db0ec in g_main_context_iteration (context=0x7fffe4001e00, may_block=1) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#48 0x00007ffff751f0df in QEventDispatcherGlib::processEvents (this=0x658be0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#49 0x00007fffef815b14 in QPAEventDispatcherGlib::processEvents (this=0x658be0, flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:123
#50 0x00007ffff74a461e in QEventLoop::processEvents (this=0x7fffffffdb00, flags=...) at kernel/qeventloop.cpp:136
#51 0x00007ffff74a48f7 in QEventLoop::exec (this=0x7fffffffdb00, flags=...) at kernel/qeventloop.cpp:212
#52 0x00007ffff74a8018 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1193
#53 0x00007ffff78a3844 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1515
#54 0x00007ffff6b0b1bd in QApplication::exec () at kernel/qapplication.cpp:2964
#55 0x000000000040437f in main (argc=1, argv=0x7fffffffdd08) at ../main.cpp:10