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

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1: Critical 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

      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
      

       

        1. test.zip
          13 kB
          Bjoern S
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes