Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.7.0
-
mac 10.11.1 latest git 5.6
-
f52f556ab5f6304310990e38e5836120c41e9c67
Description
I'm getting the following crash in a render thread for a dynamic triangle strip GeometryRenderer mesh (T3TriangleStrip – see attached example to reproduce):
- thread #15: tid = 0x49e6b5, 0x00000001000ff113 Qt3DRender`QVector<Qt3DCore::QBoundingVolume*> Qt3DRender::Render::(anonymous namespace)::processBuffer<QVector<Qt3DCore::QBoundingVolume*>, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> > >(Qt3DRender::Render::(anonymous namespace)::BufferInfo const&, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> >&) + 29203, name = 'Thread (pooled)', stop reason = EXC_BAD_ACCESS (code=1, address=0x31c120c08)
frame #0: 0x00000001000ff113 Qt3DRender`QVector<Qt3DCore::QBoundingVolume*> Qt3DRender::Render::(anonymous namespace)::processBuffer<QVector<Qt3DCore::QBoundingVolume*>, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> > >(Qt3DRender::Render::(anonymous namespace)::BufferInfo const&, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> >&) + 29203
Qt3DRender`QVector<Qt3DCore::QBoundingVolume*> Qt3DRender::Render::(anonymous namespace)::processBuffer<QVector<Qt3DCore::QBoundingVolume*>, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> > >:
-> 0x1000ff113 <+29203>: movl (%r13,%rax,4), %eax
0x1000ff118 <+29208>: movl %eax, -0x48(%rbp)
0x1000ff11b <+29211>: movl $0x1, %eax
0x1000ff120 <+29216>: testl %r15d, %r15d
(lldb) bt - thread #15: tid = 0x49e6b5, 0x00000001000ff113 Qt3DRender`QVector<Qt3DCore::QBoundingVolume*> Qt3DRender::Render::(anonymous namespace)::processBuffer<QVector<Qt3DCore::QBoundingVolume*>, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> > >(Qt3DRender::Render::(anonymous namespace)::BufferInfo const&, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> >&) + 29203, name = 'Thread (pooled)', stop reason = EXC_BAD_ACCESS (code=1, address=0x31c120c08)
- frame #0: 0x00000001000ff113 Qt3DRender`QVector<Qt3DCore::QBoundingVolume*> Qt3DRender::Render::(anonymous namespace)::processBuffer<QVector<Qt3DCore::QBoundingVolume*>, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> > >(Qt3DRender::Render::(anonymous namespace)::BufferInfo const&, Qt3DRender::Render::(anonymous namespace)::IndexedVertexExecutor<unsigned int const, QVector<Qt3DCore::QBoundingVolume*> >&) + 29203
frame #1: 0x00000001000c432d Qt3DRender`Qt3DRender::Render::TrianglesExtractor::extract(Qt3DCore::QNodeId) + 2557
frame #2: 0x000000010018e502 Qt3DRender`Qt3DRender::Render::CalcGeometryTriangleVolumes::run() + 82
frame #3: 0x00000001003b4d98 Qt3DCore`Qt3DCore::AspectTaskRunnable::run() + 24
frame #4: 0x0000000100a5e268 QtCore`QThreadPoolThread::run() + 104
frame #5: 0x0000000100a6182a QtCore`QThreadPrivate::start(void*) + 362
frame #6: 0x00007fff93ca39b1 libsystem_pthread.dylib`_pthread_body + 131
frame #7: 0x00007fff93ca392e libsystem_pthread.dylib`_pthread_start + 168
frame #8: 0x00007fff93ca1385 libsystem_pthread.dylib`thread_start + 13
- I also included a T3Frame which is a static geometry like cuboid etc. Has all the same basic code elements as the dynamic one. Not sure why one crashes and the other doesn't!
- ps. the Frame is a very useful geometry element – consider including something like this in base code!
Attachments
Issue Links
- relates to
-
QTBUG-51667 Qt3DRender crash when updating Mesh
- Closed