Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
None
-
5.0.0 Beta 1
-
None
-
Linux Kubuntu 64bit
Description
To reproduce:
- Insert a call to view->hide() in qtdeclarative/src/qmltest/quicktest.cpp below the code for test execution. This will cause the deletion of the QOpenGLContext in void QQuickTrivialWindowManager::hide(QQuickWindow *)
- Run qtlocation/tests/auto/declarative_ui, observe crash
#0 0x00000000010d1a20 in ?? ()
#1 0x00007ffff738a3fd in QObject::connect (sender=0x697280, signal=0x7fffdfcacb28 "2aboutToBeDestroyed()", receiver=0xe70750,
method=0x7fffdfcacaf0 "1mournGLContextDeath()", type=Qt::DirectConnection) at kernel/qobject.cpp:2434
#2 0x00007fffdfc6e98d in QGLTexture2D::toBeDeletedLater (context=0x697280, textureId=32) at textures/qgltexture2d.cpp:959
#3 0x00007fffdfc6bce3 in QGLTexture2DPrivate::~QGLTexture2DPrivate (this=0x7bb510, __in_chrg=<optimized out>) at textures/qgltexture2d.cpp:124
#4 0x00007fffdfc6fd65 in QScopedPointerDeleter<QGLTexture2DPrivate>::cleanup (pointer=0x7bb510)
at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:63
#5 0x00007fffdfc6f1d1 in QScopedPointer<QGLTexture2DPrivate, QScopedPointerDeleter<QGLTexture2DPrivate> >::~QScopedPointer (this=0x6da8b0,
__in_chrg=<optimized out>) at /depot/fkleint/qt-5/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:99
#6 0x00007fffdfc6bea9 in QGLTexture2D::~QGLTexture2D (this=0x6da8a0, __in_chrg=<optimized out>) at textures/qgltexture2d.cpp:147
#7 0x00007fffdfc6bf08 in QGLTexture2D::~QGLTexture2D (this=0x6da8a0, __in_chrg=<optimized out>) at textures/qgltexture2d.cpp:149
#8 0x00007fffdf42ad45 in QGeoTileCache::GLContextAvailable (this=0xff7140) at maps/qgeotilecache.cpp:289
#9 0x00007fffdf417eb3 in QGeoTiledMapDataPrivate::paintGL (this=0x10dd6a0, painter=0x7fffffffce20) at maps/qgeotiledmapdata.cpp:373
#10 0x00007fffdf417037 in QGeoTiledMapData::paintGL (this=0x10d1910, painter=0x7fffffffce20) at maps/qgeotiledmapdata.cpp:168
#11 0x00007fffdf4152b2 in QGeoMap::paintGL (this=0x104fe30, painter=0x7fffffffce20) at maps/qgeomap.cpp:104
#12 0x00007fffec226e53 in MapNode::updateFBO (this=0x6c79b0) at mapnode.cpp:170
#13 0x00007fffec226c19 in MapNode::update (this=0x6c79b0) at mapnode.cpp:100
#14 0x00007fffec21d92c in QDeclarativeGeoMap::updatePaintNode (this=0x6a6cb0, oldNode=0x0, data=0x650b58) at qdeclarativegeomap.cpp:434
#15 0x00007ffff6bf94cb in QQuickWindowPrivate::updateDirtyNode (this=0x6509d0, item=0x6a6cb0) at items/qquickwindow.cpp:2327
#16 0x00007ffff6bf842f in QQuickWindowPrivate::updateDirtyNodes (this=0x6509d0) at items/qquickwindow.cpp:2148
#17 0x00007ffff6bf0c67 in QQuickWindowPrivate::syncSceneGraph (this=0x6509d0) at items/qquickwindow.cpp:320
#18 0x00007ffff6d047fd in QQuickTrivialWindowManager::renderWindow (this=0x658a90, window=0x648130) at items/qquickwindowmanager.cpp:258
#19 0x00007ffff6d04d96 in QQuickTrivialWindowManager::event (this=0x658a90, e=0x10e3440) at items/qquickwindowmanager.cpp:351
#20 0x00007ffff734da98 in QCoreApplicationPrivate::notify_helper (this=0x60e450, receiver=0x658a90, event=0x10e3440) at kernel/qcoreapplication.cpp:865
#21 0x00007ffff734d78c in QCoreApplication::notify (this=0x60e430, receiver=0x658a90, event=0x10e3440) at kernel/qcoreapplication.cpp:810
#22 0x00007ffff5ea19d4 in QGuiApplication::notify (this=0x60e430, object=0x658a90, event=0x10e3440) at kernel/qguiapplication.cpp:1092
#23 0x00007ffff734d698 in QCoreApplication::notifyInternal (this=0x60e430, receiver=0x658a90, event=0x10e3440) at kernel/qcoreapplication.cpp:748
#24 0x00007ffff7350f0d in QCoreApplication::sendEvent (receiver=0x658a90, event=0x10e3440) at kernel/qcoreapplication.h:206
#25 0x00007ffff734e756 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x60e550) at kernel/qcoreapplication.cpp:1349
#26 0x00007ffff73bb31e in QEventDispatcherUNIX::processEvents (this=0x610870, flags=...) at kernel/qeventdispatcher_unix.cpp:586
#27 0x00007ffff039ae9f in QUnixEventDispatcherQPA::processEvents (this=0x610870, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:72
#28 0x00007ffff734db8d in QCoreApplication::processEvents (flags=..., maxtime=5000) at kernel/qcoreapplication.cpp:946
#29 0x00007ffff7bc2262 in qWaitForSignal (obj=0x648130, signal=0x7ffff7bcfcd8 "2frameSwapped()", timeout=5000) at quicktest.cpp:160
#30 0x00007ffff7bc35ad in quick_test_main (argc=1, argv=0x7fffffffde18, name=0x400799 "declarative_ui",
sourceDir=0x400760 "/depot/fkleint/qt-5/qtlocation/tests/auto/declarative_ui") at quicktest.cpp:321
#31 0x000000000040065f in main (argc=1, argv=0x7fffffffde18) at main.cpp:43
Attachments
For Gerrit Dashboard: QTBUG-27696 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
38000,1 | Fix crash in qtlocation tests. | master | qt/qtdeclarative | Status: MERGED | +2 | 0 |