Skip to content

Conversation

@ksuprynowicz
Copy link
Member

No description provided.

@ksuprynowicz ksuprynowicz added help wanted Extra attention is needed work in progress Do not merge yet labels Oct 12, 2025
@ksuprynowicz ksuprynowicz force-pushed the qt6-upgrade-rebase-1 branch 2 times, most recently from 82cf870 to b381dcd Compare October 12, 2025 18:05
@ada-tv
Copy link
Collaborator

ada-tv commented Oct 18, 2025

Interesting warnings

[10/19 05:14:51] [DEBUG] [default] OffscreenQmlSurface::onFocusObjectChanged object is not QQuickItem
[10/19 05:14:48] [DEBUG] [hifi.entities] bad avatarEntityData json "71626a..." (elided, very long blob of hex digits)

@ada-tv
Copy link
Collaborator

ada-tv commented Oct 18, 2025

Random crash related to entity fading with a very long backtrace:

Thread 73 "RenderThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff397fa6c0 (LWP 152514)]
0x0000555555882984 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_get_use_count (this=0x100000001)
    at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:229
229	        return __atomic_load_n(&_M_use_count, __ATOMIC_RELAXED);
(gdb) bt
#0  0x0000555555882984 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_get_use_count (this=0x100000001)
    at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:229
#1  std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_lock_nothrow
    (this=0x100000001) at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:271
#2  0x000055555588b414 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count (this=0x7fff397f6518, __r=<optimized out>)
    at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:1256
#3  0x00007fffeae3827a in std::__shared_ptr<ZoneEntityItem, (__gnu_cxx::_Lock_policy)2>::__shared_ptr (this=this@entry=0x7fff397f6510, __r=...)
    at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:1739
#4  0x00007fffeae254a1 in std::shared_ptr<ZoneEntityItem>::shared_ptr
    (this=0x7fff397f6510, __r=<error reading variable: Cannot access memory at address 0x100000009>) at /usr/include/c++/15.2.1/bits/shared_ptr.h:535
#5  std::weak_ptr<ZoneEntityItem>::lock (this=0x55557e60c4a8)
    at /usr/include/c++/15.2.1/bits/shared_ptr.h:874
#6  EntityTreeRenderer::LayeredZones::hasFade
    (this=0x55556c6349f0, type=type@entry=TransitionType::ELEMENT_ENTER_DOMAIN)
    at /home/ada/src/overte-qt6/libraries/entities-renderer/src/EntityTreeRenderer.cpp:1532
#7  0x00007fffeae8d0ba in EntityTreeRenderer::layeredZonesHaveFade
    (this=<optimized out>, type=TransitionType::ELEMENT_ENTER_DOMAIN)
    at /home/ada/src/overte-qt6/libraries/entities-renderer/src/EntityTreeRenderer.h:150
#8  render::entities::ModelEntityRenderer::doRenderUpdateAsynchronousTyped
    (this=0x55557c45e170, entity=warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<RenderableModelEntityItem*, RenderableModelEntityItem::factory(EntityItemID const&, EntityItemProperties const&)::{lambda(RenderableModelEntityItem*)#1}, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<RenderableModelEntityItem*, RenderableModelEntityItem::factory(EntityItemID const&, EntityItemProperties const&)::{lambda(RenderableModelEntityItem*)#1}, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<RenderableModelEntityItem> (use count 20, weak count 2) = {...})
    at /home/ada/src/overte-qt6/libraries/entities-renderer/src/RenderableModelEntityItem.cpp:1414
#9  0x00007fffeae1255c in render::entities::TypedEntityRenderer<RenderableModelEntityItem>::doRenderUpdateAsynchronous
    (this=0x55557c45e170, entity=<optimized out>)
    at /home/ada/src/overte-qt6/build/libraries/entities-renderer/entities-renderer_autogen/UVLADIE3JM/../../../../../libraries/entities-renderer/src/RenderableEntityItem.h:234
#10 0x00007fffeae551c5 in operator()
    (__closure=<optimized out>, self=<optimized out>)
    at /home/ada/src/overte-qt6/libraries/entities-renderer/src/RenderableEntityItem.cpp:547
#11 0x00007fffeae55229 in std::__invoke_impl<void, render::entities::EntityRenderer::updateInScene(const render::ScenePointer&, render::Transaction&)::<lambda(render::PayloadProxyInterface&)>&, render::PayloadProxyInterface&>
    (__f=<optimized out>) at /usr/include/c++/15.2.1/bits/invoke.h:62
#12 std::__invoke_r<void, render::entities::EntityRenderer::updateInScene(const render::ScenePointer&, render::Transaction&)::<lambda(render::PayloadProxyInterface&)>&, render::PayloadProxyInterface&> (__fn=<optimized out>)
    at /usr/include/c++/15.2.1/bits/invoke.h:113
#13 std::_Function_handler<void(render::PayloadProxyInterface&), render::entities::EntityRenderer::updateInScene(const render::ScenePointer&, render::Transaction&)::<lambda(render::PayloadProxyInterface&)> >::_M_invoke(const std::_Any_data &, render::PayloadProxyInterface &)
    (__functor=<optimized out>, __args#0=<optimized out>)
    at /usr/include/c++/15.2.1/bits/std_function.h:292
#14 0x00007fffeae6664e in std::function<void(render::PayloadProxyInterface&)>::operator() (this=this@entry=0x555581aa7908, __args#0=<optimized out>)
    at /usr/include/c++/15.2.1/bits/std_function.h:593
#15 0x00007fffeae66696 in render::Payload<render::PayloadProxyInterface>::update (this=0x55557c45e820, functor=<optimized out>)
    at /home/ada/src/overte-qt6/libraries/render/src/render/Item.h:648
#16 0x00007fffe72e4333 in render::Item::update
    (this=this@entry=0x7fff344f02a0, updateFunctor=std::shared_ptr<render::Item::UpdateFunctorInterface> (use count 2, weak count 0) = {...})
    at /home/ada/src/overte-qt6/libraries/render/src/render/Item.cpp:78
#17 0x00007fffe72f68cb in render::Scene::updateItems
    (this=this@entry=0x5555565f7b50, transactions=std::vector of length 136, capacity 136 = {...}) at /usr/include/c++/15.2.1/tuple:249
#18 0x00007fffe72f7a06 in render::Scene::processTransactionFrame
    (this=this@entry=0x5555565f7b50, transaction=...)
    at /home/ada/src/overte-qt6/libraries/render/src/render/Scene.cpp:272
#19 0x00007fffe72f7c9d in render::Scene::processTransactionQueue
    (this=0x5555565f7b50)
    at /home/ada/src/overte-qt6/libraries/render/src/render/Scene.cpp:246
#20 0x00007fffe73059f0 in render::PerformSceneTransaction::run
    (this=this@entry=0x55556ec63648, renderContext=std::shared_ptr<render::RenderContext> (use count 1, weak count 0) = {...})
    at /home/ada/src/overte-qt6/libraries/render/src/render/SceneTask.cpp:20
#21 0x00007fffe97480e9 in task::jobRun<render::PerformSceneTransaction, std::shared_ptr<render::RenderContext> >
    (data=..., jobContext=std::shared_ptr<render::RenderContext> (use count 1, weak count 0) = {...}, input=<optimized out>, output=...)
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:101
#22 0x00007fffe9748373 in task::Job<render::RenderContext, render::RenderTimeProfiler>::Model<render::PerformSceneTransaction, render::PerformSceneTransactionConfig, task::JobNoIO, task::JobNoIO>::run
    (this=0x55556ec63610, jobContext=std::shared_ptr<render::RenderContext> (use count 1, weak count 0) = {...})
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:180
#23 0x000055555593f586 in task::Job<render::RenderContext, render::RenderTimeProfiler>::run
    (this=0x55556eaca1b0, jobContext=std::shared_ptr<render::RenderContext> (use count 1, weak count 0) = {...})
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:218
#24 0x00005555559f55a6 in task::Task<render::RenderContext, render::RenderTimeProfiler>::TaskModel<UpdateSceneTask, task::JobConfig, task::JobNoIO, task::JobNoIO>::run
    (this=<optimized out>, jobContext=std::shared_ptr<render::RenderContext> (use count 1, weak count 0) = {...})
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:336
#25 0x000055555593f586 in task::Job<render::RenderContext, render::RenderTimeProfiler>::run
    (this=0x555574851768, jobContext=std::shared_ptr<render::RenderContext> (use count 1, weak count 0) = {...})
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:218
#26 0x00007fffe72dcfc6 in task::Task<render::RenderContext, render::RenderTimeProfiler>::TaskModel<EngineTask, task::JobConfig, task::JobNoIO, task::JobNoIO>::run
    (this=<optimized out>, jobContext=std::shared_ptr<render::RenderContext> (use count 1, weak count 0) = {...})
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:336
#27 0x000055555593f586 in task::Job<render::RenderContext, render::RenderTimeProfiler>::run
    (this=0x55556c701cd0, jobContext=std::shared_ptr<render::RenderContext> (use count 1, weak count 0) = {...})
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:218
#28 0x00007fffe72df98d in task::Engine<render::RenderContext, render::RenderTimeProfiler>::run (this=<optimized out>, jobContext=<optimized out>)
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:525
#29 0x00005555559f5475 in task::Engine<render::RenderContext, render::RenderTimeProfiler>::run (this=<optimized out>)
    at /home/ada/src/overte-qt6/libraries/task/src/task/Task.h:519
#30 0x00005555559f31e8 in GraphicsEngine::render_runRenderFrame
    (this=this@entry=0x55556c71fcb0, renderArgs=renderArgs@entry=0x7fff397f8130) at /home/ada/src/overte-qt6/interface/src/graphics/GraphicsEngine.cpp:130
#31 0x00005555559f4257 in GraphicsEngine::render_performFrame
    (this=0x55556c71fcb0)
    at /home/ada/src/overte-qt6/interface/src/graphics/GraphicsEngine.cpp:293
#32 0x00005555559f484c in operator() (__closure=<optimized out>)
    at /home/ada/src/overte-qt6/interface/src/graphics/GraphicsEngine.cpp:52
#33 std::__invoke_impl<void, GraphicsEngine::initializeGPU(GLWidget*)::<lambda()>&> (__f=<optimized out>) at /usr/include/c++/15.2.1/bits/invoke.h:63
#34 std::__invoke_r<void, GraphicsEngine::initializeGPU(GLWidget*)::<lambda()>&> (__fn=<optimized out>) at /usr/include/c++/15.2.1/bits/invoke.h:113
#35 std::_Function_handler<void(), GraphicsEngine::initializeGPU(GLWidget*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=<optimized out>)
    at /usr/include/c++/15.2.1/bits/std_function.h:292
#36 0x00005555557facee in std::function<void()>::operator()
    (this=this@entry=0x55556d2bfe20)
    at /usr/include/c++/15.2.1/bits/std_function.h:593
#37 0x0000555555a00325 in RenderEventHandler::render
    (this=this@entry=0x55556d2bfdf0)
    at /home/ada/src/overte-qt6/interface/src/graphics/RenderEventHandler.cpp:43
#38 0x0000555555a03198 in RenderEventHandler::event
    (this=0x55556d2bfdf0, event=<optimized out>)
    at /home/ada/src/overte-qt6/interface/src/graphics/RenderEventHandler.cpp:50
#39 0x00007fffdab020a0 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () at /usr/lib/libQt6Widgets.so.6
#40 0x0000555555845623 in Application::notify
    (this=0x7fffffffc130, object=0x55556d2bfdf0, event=0x7fff344cc4b0)
    at /home/ada/src/overte-qt6/interface/src/Application_Events.cpp:64
#41 0x00007fffe9d6a6c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () at /usr/lib/libQt6Core.so.6
#42 0x00007fffe9d6aab2 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt6Core.so.6
#43 0x00007fffea04db18 in ??? () at /usr/lib/libQt6Core.so.6
#44 0x00007fffda906f4d in ??? () at /usr/lib/libglib-2.0.so.0
#45 0x00007fffda908617 in ??? () at /usr/lib/libglib-2.0.so.0
#46 0x00007fffda908825 in g_main_context_iteration ()
    at /usr/lib/libglib-2.0.so.0
#47 0x00007fffea04a9d2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#48 0x00007fffe9d75a86 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#49 0x00007fffe9e8af7e in QThread::exec() () at /usr/lib/libQt6Core.so.6
#50 0x00007fffe9f30ca9 in ??? () at /usr/lib/libQt6Core.so.6
#51 0x00007fffda2969cb in ??? () at /usr/lib/libc.so.6
#52 0x00007fffda31aa0c in ??? () at /usr/lib/libc.so.6

@RTUnreal RTUnreal mentioned this pull request Oct 23, 2025
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wanted Extra attention is needed NLnet work in progress Do not merge yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants