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

[DeclarativeCamera] Recording and viewing the video multiple times causes the app to crash

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.7.0, dev
    • Examples and Demos
    • None
    • Android

    Description

      MacOS 13.6

      Qt Creator 11.0.3

      Device: Google Pixel 3a A12

      Steps to reproduce:

      1. Open the declarative camera example. 
      2. Switch the mode to video. 
      3. Record the video for 10 seconds. 
      4. View the video. 
      5. When it comes back to home view - start recording again and view the recording again. 
      6. Repeat step #5 tree or four times.

      Expected: The app should work. 

      Actual: The app performance is getting worse each time then it crashes. It's looking like some memory leak is happening that overloads the app and the OS kills the app (but cannot see anything in the logs). 

      Reproducibility:  100%

      I MediaRecorderJNI: prepare: surface=0x7c2d384cf0
      W larative_camer: [SurfaceTexture-404-6402-2] bindTextureImage: clearing GL error: 0x500
      D MediaScannerConnection: Scanned /storage/emulated/0/Android/data/org.qtproject.example.declarative_camera/files/Movies/video_0060.mp4 to null
      W larative_camer: [SurfaceTexture-591-6402-3] bindTextureImage: clearing GL error: 0x500
      W qt.qml.context: : qrc:/VideoPreview.qml:20:9 Parameter "source" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead.
      D Camera  : app passed NULL surface
      D Camera  : app passed NULL surface
      W QtAudioDeviceManager: Built in Earpiece may not work when Wired Headphones are connected
      W MediaPlayerNative: info/warning (3, 0)
      W larative_camer: [SurfaceTexture-769-6402-4] bindTextureImage: clearing GL error: 0x500
      E BufferQueueProducer: [SurfaceTexture-769-6402-4](id:190200000006,api:0,p:-1,c:6402) detachBuffer: BufferQueue has no connected producer
      W larative_camer: [SurfaceTexture-939-6402-5] bindTextureImage: clearing GL error: 0x500
      I MediaRecorderJNI: prepare: surface=0x7c2d3af630
      W larative_camer: [SurfaceTexture-954-6402-6] bindTextureImage: clearing GL error: 0x500
      D MediaScannerConnection: Scanned /storage/emulated/0/Android/data/org.qtproject.example.declarative_camera/files/Movies/video_0061.mp4 to null
      E BufferQueueProducer: [SurfaceTexture-1186-6402-8](id:19020000000a,api:0,p:-1,c:6402) detachBuffer: BufferQueue has no connected producer
      V MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
      V MediaPlayer: cleanDrmObj: mDrmObj=null mDrmSessionId=null
      V MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
      V MediaPlayer: cleanDrmObj: mDrmObj=null mDrmSessionId=null
      W larative_camer: [SurfaceTexture-1185-6402-7] bindTextureImage: clearing GL error: 0x500
      D Camera  : app passed NULL surface
      D Camera  : app passed NULL surface
      W QtAudioDeviceManager: Built in Earpiece may not work when Wired Headphones are connected
      W MediaPlayerNative: info/warning (3, 0)
      W larative_camer: [SurfaceTexture-1186-6402-8] bindTextureImage: clearing GL error: 0x500
      E BufferQueueProducer: [SurfaceTexture-1186-6402-8](id:19020000000a,api:0,p:-1,c:6402) detachBuffer: BufferQueue has no connected producer
      W larative_camer: [SurfaceTexture-1405-6402-9] bindTextureImage: clearing GL error: 0x500
      I MediaRecorderJNI: prepare: surface=0x7c2d384cf0
      W larative_camer: [SurfaceTexture-1430-6402-10] bindTextureImage: clearing GL error: 0x500
      D MediaScannerConnection: Scanned /storage/emulated/0/Android/data/org.qtproject.example.declarative_camera/files/Movies/video_0062.mp4 to null
      W larative_camer: [SurfaceTexture-1713-6402-11] bindTextureImage: clearing GL error: 0x500
      E BufferQueueProducer: [SurfaceTexture-1728-6402-12](id:19020000000e,api:0,p:-1,c:6402) detachBuffer: BufferQueue has no connected producer
      V MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
      V MediaPlayer: cleanDrmObj: mDrmObj=null mDrmSessionId=null
      V MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
      V MediaPlayer: cleanDrmObj: mDrmObj=null mDrmSessionId=null
      D Camera  : app passed NULL surface
      D Camera  : app passed NULL surface
      W QtAudioDeviceManager: Built in Earpiece may not work when Wired Headphones are connected
      W MediaPlayerNative: info/warning (3, 0)
      W larative_camer: [SurfaceTexture-1728-6402-12] bindTextureImage: clearing GL error: 0x500
      E BufferQueueProducer: [SurfaceTexture-1728-6402-12](id:19020000000e,api:0,p:-1,c:6402) detachBuffer: BufferQueue has no connected producer
      W larative_camer: [SurfaceTexture-2007-6402-13] bindTextureImage: clearing GL error: 0x500
      I MediaRecorderJNI: prepare: surface=0x7c2d3c4ad0
      W larative_camer: [SurfaceTexture-2012-6402-14] bindTextureImage: clearing GL error: 0x500
      D qml     : : State: MobileLandscape
      I Choreographer: Skipped 48 frames!  The application may be doing too much work on its main thread.
      I OpenGLRenderer: Davey! duration=2018ms; Flags=0, FrameTimelineVsyncId=1097231, IntendedVsync=325688231607502, Vsync=325688381607496, InputEventId=0, HandleInputStart=325688382156475, AnimationStart=325688382165068, PerformTraversalsStart=325688382170120, DrawStart=325689638616860, FrameDeadline=325688252940834, FrameInterval=325688382072881, FrameStartTime=16666666, SyncQueued=325689672967124, SyncStart=325689673215666, IssueDrawCommandsStart=325689681883427, SwapBuffers=325690227126450, FrameCompleted=325690250129213, DequeueBufferDuration=357909203, QueueBufferDuration=14764950, GpuCompleted=325690235925409, SwapBuffersCompleted=325690250129213, DisplayPresentTime=8897244566500241669,
      I OpenGLRenderer: Davey! duration=859ms; Flags=0, FrameTimelineVsyncId=1097293, IntendedVsync=325689602217923, Vsync=325690402217891, InputEventId=0, HandleInputStart=325690422085480, AnimationStart=325690422102303, PerformTraversalsStart=325690432001470, DrawStart=325690440673398, FrameDeadline=325689640217921, FrameInterval=325690415435167, FrameStartTime=16666666, SyncQueued=325690443714805, SyncStart=325690443989805, IssueDrawCommandsStart=325690444186472, SwapBuffers=325690458288713, FrameCompleted=325690462027255, DequeueBufferDuration=8451667, QueueBufferDuration=1114427, GpuCompleted=325690461283348, SwapBuffersCompleted=325690462027255, DisplayPresentTime=2091843759415982714,
      D qml     : : State: MobilePortrait
      D MediaScannerConnection: Scanned /storage/emulated/0/Android/data/org.qtproject.example.declarative_camera/files/Movies/video_0063.mp4 to null
      W larative_camer: [SurfaceTexture-2251-6402-15] bindTextureImage: clearing GL error: 0x500
      E BufferQueueProducer: [SurfaceTexture-2255-6402-16](id:190200000012,api:3,p:1355,c:6402) detachBuffer: slot 0 is not owned by the producer (state = FREE)
      E BufferQueueProducer: [SurfaceTexture-2255-6402-16](id:190200000012,api:0,p:-1,c:6402) detachBuffer: BufferQueue has no connected producer
      V MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
      V MediaPlayer: cleanDrmObj: mDrmObj=null mDrmSessionId=null
      V MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
      V MediaPlayer: cleanDrmObj: mDrmObj=null mDrmSessionId=null
      D Camera  : app passed NULL surface
      D Camera  : app passed NULL surface
      16:52:27: "org.qtproject.example.declarative_camera" died.
      

      Attachments

        Issue Links

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

          Activity

            People

              lkos Łukasz Kosiorowski
              lkos Łukasz Kosiorowski
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes