Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-104682

QLocation regression in 5.15.10: Map completely and immediately freezes user interface

    XMLWordPrintable

Details

    • Android, Linux/X11, Windows

    Description

      It's enough to launch Examples/Qt-5.15.10/location/mapviewer/ example on Linux Desktop or Android, and application completely freezes, though it manages to draw interface (at least?) once.

      This does not reproduce with 5.15.9.

      Main thread backgrace:

                                                                                                          
                                                                                                          
      1   futex_wait_cancelable                            futex-internal.h           186  0x7ffff607a7b2 
      2   __pthread_cond_wait_common                       pthread_cond_wait.c        508  0x7ffff607a7b2 
      3   __pthread_cond_wait                              pthread_cond_wait.c        638  0x7ffff607a7b2 
      4   QWaitConditionPrivate::wait                      qwaitcondition_unix.cpp    146  0x7ffff651ff63 
      5   QWaitCondition::wait                             qwaitcondition_unix.cpp    225  0x7ffff651ff63 
      6   QSGThreadedRenderLoop::polishAndSync             qsgthreadedrenderloop.cpp  1603 0x7fffeb5d35d6 
      7   QSGThreadedRenderLoop::handleExposure            qsgthreadedrenderloop.cpp  1374 0x7fffeb5d54e8 
      8   QSGThreadedRenderLoop::exposureChanged           qsgthreadedrenderloop.cpp  1268 0x7fffeb5d5a30 
      9   QWindow::event                                   qwindow.cpp                2455 0x7ffff780fe5b 
      10  QQuickWindow::event                              qquickwindow.cpp           1909 0x7fffeb637579 
      11  QCoreApplication::notifyInternal2                qcoreapplication.cpp       1064 0x7ffff6704648 
      12  QCoreApplication::sendSpontaneousEvent           qcoreapplication.cpp       1474 0x7ffff670480e 
      13  QGuiApplicationPrivate::processExposeEvent       qguiapplication.cpp        3261 0x7ffff780629f 
      14  QGuiApplicationPrivate::processWindowSystemEvent qguiapplication.cpp        2073 0x7ffff78064dd 
      15  QWindowSystemInterface::sendWindowSystemEvents   qwindowsysteminterface.cpp 1169 0x7ffff77e1e2b 
      16  xcbSourceDispatch                                qxcbeventdispatcher.cpp    105  0x7ffff2c8a58a 
      17  g_main_context_dispatch                                                          0x7ffff3b04e6b 
      18  ??                                                                               0x7ffff3b05118 
      19  g_main_context_iteration                                                         0x7ffff3b051cf 
      20  QEventDispatcherGlib::processEvents              qeventdispatcher_glib.cpp  423  0x7ffff675fe2c 
      ... <More>                                                                                          
      
      

      It seems main thread is stuck in QSGThreadedRenderLoop::polishAndSync

      While QSGRenderThread seems working somewhere inside QSGBatchRenderer::Renderer::render

                                                                                                           
                                                                                                           
      1   QHash<QSGNode *, QSGBatchRenderer::Node *>::findNode    qhash.h              928  0x7fffeb5760a9 
      2   QHash<QSGNode *, QSGBatchRenderer::Node *>::findNode    qhash.h              950  0x7fffeb57611b 
      3   QHash<QSGNode *, QSGBatchRenderer::Node *>::value       qhash.h              656  0x7fffeb562403 
      4   QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1615 0x7fffeb562403 
      5   QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1646 0x7fffeb5623bb 
      6   QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      7   QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1646 0x7fffeb5623bb 
      8   QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      9   QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      10  QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      11  QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      12  QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      13  QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      14  QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      15  QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      16  QSGBatchRenderer::Renderer::buildRenderLists            qsgbatchrenderer.cpp 1662 0x7fffeb562513 
      17  QSGBatchRenderer::Renderer::buildRenderListsFromScratch qsgbatchrenderer.cpp 1789 0x7fffeb5627af 
      18  QSGBatchRenderer::Renderer::render                      qsgbatchrenderer.cpp 4265 0x7fffeb57281d 
      19  QSGRenderer::renderScene                                qsgrenderer.cpp      264  0x7fffeb55ad63 
      20  QSGRenderer::renderScene                                qsgrenderer.cpp      212  0x7fffeb55b257 
      ... <More>                                                                                           
      
      

      Originally I've discovered it with here plugin, but it's the same with osm plugin as in mapviewer example.

      Attachments

        Issue Links

          Activity

            People

              paangele Paolo Angelelli
              vdargis_at_uab_styritrade Vincas Dargis
              Votes:
              9 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: