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

The combination of "Image" and "ColorOverlay" leads to a crash on some Android devices (SEGV)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.1.3, 6.2.2
    • 6.1.1
    • None
    • Android-NDK 21.3.6528147
      Clang 9.0.8 from the NDK
      Targets: armv7a-linux-androideabi23, aarch64-linux-android23, i686-linux-android23
      Qt 6.1.1
      Host-OS: Manjaro Linux, Windows 10
    • Android
    • 2022wk04FOAndroid&Automotive

    Description

      Running the attached minimal example on some Android devices leads to an reproducible crash as soon as one clicks the button. It seems like the combination of "Image" with a "ColorOverlay" from the Qt5Compat.GraphicalEffects module is the cause of the crash. Devices that are affected by the crash: Xiaomi Mi 9T Pro, Oneplus 6t, Samsung A71, Razer Phone 2, Oneplus 7T, Pixel 5. Devices that are not affected: BlackBerry PRIV, Samsung Galaxy Tab A (SM-T510), Huawei P20 Pro and the Android simulators. The callstack reveals that the SEGV happens somewhere in libGLESv2_adreno.so (tested on Xiaomi Mi 9T Pro).

       

      art_sigsegv_fault 0x00000000ecdc08e0
      art::FaultManager::HandleFault(int, siginfo*, void*) 0x00000000ecdc0c32
      art::SignalChain::Handler(int, siginfo*, void*) 0x00000000012925ac
      __restore_rt 0x00000000eeb16e58
      <unknown> 0x00000000d598d16e  | somewhere in libGLESv2_adreno.so
      <unknown> 0x00000000d598cb98  | somewhere in libGLESv2_adreno.so
      <unknown> 0x00000000d57dba3e  | somewhere in libGLESv2_adreno.so
      <unknown> 0x00000000d57d47de  | somewhere in libGLESv2_adreno.so
      <unknown> 0x00000000d57ceaec  | somewhere in libGLESv2_adreno.so
      <unknown> 0x00000000d578dc48  | libGLESv2_adreno.so`glCopyTexSubImage2D 
      glCopyTexSubImage2D 0x00000000d5786b0e
      QOpenGLFunctions::glCopyTexSubImage2D(unsigned int, int, int, int, int, int, int, int) qopenglfunctions.h:676
      QRhiGles2::executeCommandBuffer(QRhiCommandBuffer*) qrhigles2.cpp:2713
      QRhiGles2::endFrame(QRhiSwapChain*, QFlags<QRhi::EndFrameFlag>) qrhigles2.cpp:1645
      QRhi::endFrame(QRhiSwapChain*, QFlags<QRhi::EndFrameFlag>) qrhi.cpp:6439
      QSGRenderThread::syncAndRender() qsgthreadedrenderloop.cpp:796
      QSGRenderThread::run() qsgthreadedrenderloop.cpp:987
      QThreadPrivate::start(void*) qthread_unix.cpp:330
      __pthread_start(void*) 0x00000000eeb66dbe
      __start_thread 0x00000000eeb1d2aa
      

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              rampe Rami Potinkara
              tereius Bjoern S
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes