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

Crash on opengl after android screen off/on

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.15.2
    • None
    • Android 10, Moto g(7)
    • Android

    Description

      When running the Qt example "Scene Graph - Rendering FBOs" on some android devices the app will crash (90% of the time) when the app is hidden by pressing the power button. The crash occurs when the app is re-opened by coming back in the app by pressing again power button then unlocking the screen.

      I could reproduce on Moto g(7) based on Adreno GPU, but not on many other devices.

      The log below is from this example, but with added logs in the QML code to display the Qt.application.state when it changes.

      W System : ClassLoader referenced unknown path:
      I QtCore : Start
      I Qt : qt started
      I AdrenoGLES: QUALCOMM build : 961b24f, Ib57168459a
      I AdrenoGLES: Build Date : 02/24/20
      I AdrenoGLES: OpenGL ES Shader Compiler Version: EV031.27.05.06
      I AdrenoGLES: Local Branch :
      I AdrenoGLES: Remote Branch :
      I AdrenoGLES: Remote Branch :
      I AdrenoGLES: Reconstruct Branch :
      I AdrenoGLES: Build Config : S L 8.0.12 AArch32
      I AdrenoGLES: PFP: 0x005ff113, ME: 0x005ff066
      W Gralloc3: mapper 3.x is not supported
      D libfboitem_armeabi-v7a.so: initialize
      D libfboitem_armeabi-v7a.so: createFramebufferObject()
      D libfboitem_armeabi-v7a.so: qml: ApplicationActive
      D libfboitem_armeabi-v7a.so: qml: ApplicationInactive
      I Adreno : DequeueBuffer: dequeueBuffer failed
      I Adreno : DequeueBuffer: dequeueBuffer failed
      W libfboitem_armeabi-v7a.so: QEGLPlatformContext: eglSwapBuffers failed: 300d
      W libEGL : EGLNativeWindowType 0xc2cf9808 disconnect failed
      D libfboitem_armeabi-v7a.so: qml: ApplicationSuspended
      W Adreno-GSL: <gsl_ldd_control:549>: ioctl fd 60 code 0xc040094a (IOCTL_KGSL_GPU_COMMAND) failed: errno 35 Resource deadlock would occur
      W Adreno-GSL: <log_gpu_snapshot:458>: panel.gpuSnapshotPath is not set.not generating user snapshot
      W Adreno-GSL: <gsl_ldd_control:549>: ioctl fd 60 code 0xc040094a (IOCTL_KGSL_GPU_COMMAND) failed: errno 35 Resource deadlock would occur
      W Adreno-GSL: <log_gpu_snapshot:458>: panel.gpuSnapshotPath is not set.not generating user snapshot
      W Adreno-GSL: <gsl_ldd_control:549>: ioctl fd 60 code 0xc040094a (IOCTL_KGSL_GPU_COMMAND) failed: errno 35 Resource deadlock would occur
      W Adreno-GSL: <log_gpu_snapshot:458>: panel.gpuSnapshotPath is not set.not generating user snapshot
      W Adreno-GSL: <gsl_ldd_control:549>: ioctl fd 60 code 0xc040094a (IOCTL_KGSL_GPU_COMMAND) failed: errno 35 Resource deadlock would occur
      W Adreno-GSL: <log_gpu_snapshot:458>: panel.gpuSnapshotPath is not set.not generating user snapshot
      18:55:57:"org.qtproject.example.fboitem" died.

       

      Interestingly, the crash does not occur with the other similar examples "Scene Graph - Rendering FBOs in a thread" or "Scene Graph - OpenGL Under QML" so it might indicate that the issue comes from the use of  QQuickFramebufferObject.

       

      Attachments

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

        Activity

          People

            qtandroidteam Qt Android Team
            xalioth Fabien Chéreau
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes