[Interest] [Qt3D] Crash when changing an entity's parent many times
Sean Harmer
sean.harmer at kdab.com
Wed Oct 26 17:19:27 CEST 2016
Hi,
can you file a JIRA with a small test case please?
Cheers,
Sean
On 26/10/2016 16:16, Xavier Bigand wrote:
> Yes I had this issue too, but when trying to share my QShaderProgram not
> changing parents.
>
> I simply can't progress as fast as want because of a lot of small bugs
> like this one and sadly I don't know how the backend is supposed to work
> to be able to contribute.
>
>
> In our homebrew engine I had similar issue, and the simplest way to
> solve them was to check ptr in the 3D engine instead of using assert,
> because it can be much hard from the user view to ensure the validity of
> all nodes.
>
>
>
> 2016-10-26 16:56 GMT+02:00 Oleg Evseev <ev.mipt at gmail.com
> <mailto:ev.mipt at gmail.com>>:
>
> Hi,
>
> I had problems similar to what you describe
> https://bugreports.qt.io/browse/QTBUG-55093
> <https://bugreports.qt.io/browse/QTBUG-55093> in qt 5.7. I haven't
> check it on 5.8.
>
> 2016-10-26 16:37 GMT+03:00 Xavier Bigand <flamaros.xavier at gmail.com
> <mailto:flamaros.xavier at gmail.com>>:
>
> Hi,
>
> I have to change to parent to nullptr to make some entities
> invisible, but when I put them visible back I get a crash.
>
> The crash is a segfault in the method void
> Entity::setNodeManagers(NodeManagers *manager) because the this
> pointer is null.
>
> Here is the callstack :
> Qt53DRenderd.dll!Qt3DRender::Render::Entity::setNodeManagers(Qt3DRender::Render::NodeManagers
> * manager) Line 140C++
> Qt53DRenderd.dll!Qt3DRender::Render::RenderEntityFunctor::create(const
> QSharedPointer<Qt3DCore::QNodeCreatedChangeBase> & change) Line
> 562C++
> Qt53DCored.dll!Qt3DCore::QAbstractAspectPrivate::createBackendNode(const
> QSharedPointer<Qt3DCore::QNodeCreatedChangeBase> & change) Line
> 198C++
> Qt53DCored.dll!Qt3DCore::QAbstractAspectPrivate::sceneNodeAdded(QSharedPointer<Qt3DCore::QSceneChange>
> & change) Line 163C++
> Qt53DCored.dll!Qt3DCore::QChangeArbiter::distributeQueueChanges(std::vector<QSharedPointer<Qt3DCore::QSceneChange>,std::allocator<QSharedPointer<Qt3DCore::QSceneChange>
> > > * changeQueue) Line 120C++
> Qt53DCored.dll!Qt3DCore::QChangeArbiter::syncChanges() Line 180C++
> Qt53DCored.dll!Qt3DCore::QAspectManager::exec() Line 282C++
> Qt53DCored.dll!Qt3DCore::QAspectThread::run() Line 88C++
> Qt5Cored.dll!QThreadPrivate::start(void * arg) Line 380C++
> [External Code]
> [Frames below may be incorrect and/or missing, no symbols
> loaded for kernel32.dll]
>
>
>
> I am also curious to know what does the enable flag on QEntity,
> it seems easier to use it to control the visibility of object
> and maybe faster.
>
>
> PS: I am using the git branch 5.8
>
>
> --
> Xavier
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org <mailto:Interest at qt-project.org>
> http://lists.qt-project.org/mailman/listinfo/interest
> <http://lists.qt-project.org/mailman/listinfo/interest>
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org <mailto:Interest at qt-project.org>
> http://lists.qt-project.org/mailman/listinfo/interest
> <http://lists.qt-project.org/mailman/listinfo/interest>
>
>
>
>
> --
> Xavier
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
--
Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
KDAB (UK) Ltd, a KDAB Group company
Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090
Mobile: +44 (0)7545 140604
KDAB - Qt Experts
More information about the Interest
mailing list