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

VideoOutput - Memory leak with Android Camera source

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.7.0 FF
    • 6.4.3, 6.5.1
    • Multimedia
    • None
    • Android
    • 7d53ccf26 (dev)
    • 2023wk30FOQtforAndroid, 2023wk32FOQtforAndroid, 2023wk34FOQtforAndroid, 2023wk36FOQtforAndroid

    Description

      Steps to reproduce:

      • Load the attached project and let it run, or:
      • Create a simple QML document with CaptureSession component and VideoOutput component as the output. Call camera.start() in Component.onCompleted
      • Load the above QML document
      • The following warnings are shown in Application Output
      I Gralloc4: mapper 4.x is not supported
      W Gralloc3: mapper 3.x is not supported
      [SurfaceTexture-33-26350-1] bindTextureImage: clearing GL error: 0x500
      [SurfaceTexture-33-26350-1] bindTextureImage: clearing GL error: 0x500 
      • Unload the above document. The following warnings appear in application output:
      E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
      E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
      E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
      E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
      E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
      E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned
      E BufferQueueProducer: [SurfaceTexture-51-26350-2](id:66ee00000002,api:4,p:9863,c:26350) cancelBuffer: BufferQueue has been abandoned 
      D Camera  : app passed NULL surface
      D Camera  : app passed NULL surface
      • Monitor app memory usage via 
        adb shell top -m 10
      • EXPECTED - memory gets deallocated after the document is unloaded
      • ACTUAL - memory usage increases with each cycle of loading and unloading the CaptureSession and VideoOutput, until the app eventually crashes (easy way to check this is to load/unload or activate/deactivate the example QML on a timer

      As a sidenote, I could not reproduce this issue on iOS devices.

       

      Attachments

        Issue Links

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

          Activity

            People

              bartlomiejmoskal Bartlomiej Moskal
              chrisk Krzysztof Kondracki
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes