fvp icon indicating copy to clipboard operation
fvp copied to clipboard

Crash on Android

Open geotro opened this issue 6 months ago • 16 comments

The player will crash with a segmentation fault on Android when starting or exiting the player.

It will happen with any video content I tried, mainly just things taken with the phone itself.

It may happen on the first try, but sometimes it takes multiple (can be many) tries until this happens.

Android 15.

Log

D/AudioTrack(26748): stop(4326): prior state:STATE_FLUSHED output 37 stream 3 session 35057
I/AudioTrack(26748): stopAndJoinCallbacks(4326) done
E/MediaCodec(26748): releaseOutputBuffer() is valid only at Executing states; currently at Uninitialized state
D/AtlasEventUploadUtils(26748): setEvent event:atlas_event_video_monitor_network_switch
D/BufferQueueConsumer(26748): [ImageReader-16x16f22u256m5-26748-23](id:687c00000079,api:0,p:-1,c:26748) disconnect
V/AutofillManager(26748): requestHideFillUi(null): anchor = null
D/ViewRootImplExtImpl(26748): wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, residentWS=false, scenario=0, bounds=Rect(0, 0 - 1080, 2376), relayoutAsync=true, flags=0, newFlags=1245719808, title=app/app.MainActivity
D/VRI[MainActivity](26748): relayoutWindow result, sizeChanged:false, surfaceControlChanged:false, transformHintChanged:false, mSurfaceSize:Point(1080, 2376), mLastSurfaceSize:Point(1080, 2376), mWidth:1080, mHeight:2376, requestedWidth:1080, requestedHeight:2376, transformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:true, attr.flag:-2122252032, tmpFrames:ClientWindowFrames{frame=[0,0][1080,2376] display=[0,0][1080,2376] parentFrame=[0,0][1080,2376]}, relayoutAsync:true, mSyncSeqId:0
W/VRI[MainActivity](26748): updateBlastSurfaceIfNeeded, surfaceSize:Point(1080, 2376), lastSurfaceSize:Point(1080, 2376), format:-3, blastBufferQueue:android.graphics.BLASTBufferQueue@a763f7e
D/OplusViewDragTouchViewHelper(26748): dispatchTouchView action = 1
D/ViewRootImplExtImpl(26748): the up motion event handled by client, just return
I/flutter (26748): 2025-07-22T18:42:02.056934Z DEBUG UI|AppNavigatorObserver: (AppNavigatorObserver) route: VideoPlayerFullView, arguments: VideoPlayerFullViewArgs{key: null, path: /storage/emulated/0/DCIM/Camera/VID20250721124156.mp4, initialDuration: 0:00:04.723000, onPositionUpdate: Closure: (Duration) => void}
I/flutter (26748): 2025-07-22T18:42:02.063068Z DEBUG UI|KVideoPlayerState: initState
I/flutter (26748): 2025-07-22T18:42:02.063467Z DEBUG UI|KVideoPlayerControllerImpl: addListener
I/flutter (26748): 2025-07-22T18:42:02.063551Z DEBUG UI|KVideoPlayerControllerImpl: initialize
W/libOpenSLES(26748): Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
W/libOpenSLES(26748): Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
D/app (26748): PlayerBase::PlayerBase()
D/app (26748): TrackPlayerBase::TrackPlayerBase()
E/libOpenSLES(26748): Configuration error: unknown key
W/libOpenSLES(26748): Leaving AndroidConfiguration::GetConfiguration (SL_RESULT_PARAMETER_INVALID)
I/libOpenSLES(26748): android_audioPlayer_realize, channel mask 0x3
I/libOpenSLES(26748): android_audioPlayer_realize, create default channel mask 0x3, channels 2
I/libOpenSLES(26748): Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
I/AudioTrack(26748): set(): type=audio,case=1,attributes=1,content_type=0,usage=1,source=0,flags=0x0
D/AudioTrackExtImpl(26748): AudioTrackExtImpl init
D/AudioTrack(26748): set(): streamType -1, sampleRate 48000, format 0x5, channelMask 0x3, frameCount 0, flags #0, notificationFrames 0, sessionId 35065, transferType 0, uid -1, pid -1
I/AudioTrack(26748): set(): 0xb40000716ffb9c00, Create AudioTrackThread, tid = 7190
W/libc    (26748): Access denied finding property "vendor.debug.stagefright.mediacodec.trace"
W/libc    (26748): Access denied finding property "vendor.debug.stagefright.BufferCount"
W/libc    (26748): Access denied finding property "vendor.debug.stagefright.BufferCount"
W/libc    (26748): Access denied finding property "vendor.debug.stagefright.BufferCount"
W/libc    (26748): Access denied finding property "vendor.debug.stagefright.BufferCount"
D/AudioTrack(26748): createTrack state 0 output.outputId=37
I/AudioTrack(26748): createTrack_l(4327) on outputId(37) : 0xb40000716ffb9c00, mCblk = 0x72846f1000,  mLatency = 189, mAfLatency = 109, frameCount = 3844, mSampleRate = 48000, mFlags = 0, mReqFrameCount = 3844, mNotificationFramesAct = 1922
E/AudioTrackExtImpl(26748): get fade type, but return null, uid 10528
W/app (26748): AIBinder_linkToDeath is being called with a non-null cookie and no onUnlink callback set. This might not be intended. AIBinder_DeathRecipient_setOnUnlinked should be called first.
W/libOpenSLES(26748): Leaving PlaybackRate::GetRateRange (SL_RESULT_PARAMETER_INVALID)
D/CCodecConfig(26748): read media type: video/hevc
D/AudioTrack(26748): start(4327): prior state:STATE_STOPPED output 37 stream 3 session 35065
D/ReflectedParamUpdater(26748): extent() != 1 for single value type: output.subscribed-indices.values
D/ReflectedParamUpdater(26748): ignored struct field vendor.output.configs.portConfigs
D/ReflectedParamUpdater(26748): extent() != 1 for single value type: vendor.qti-ext-vpp-extradata.extradata-types
D/ReflectedParamUpdater(26748): extent() != 1 for single value type: vendor.qti-ext-transcode-info-stats.stats_info
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/ReflectedParamUpdater(26748): ignored struct field vendor.input.configs.portConfigs
D/ReflectedParamUpdater(26748): extent() != 1 for single value type: output.buffers.pool-ids.values
D/ReflectedParamUpdater(26748): Could not describe oplus.vpp.is.ff.mode
D/ReflectedParamUpdater(26748): Could not describe oplus.vpp.white.list
D/ReflectedParamUpdater(26748): Could not describe oplus.vpp.inputdelay
D/ReflectedParamUpdater(26748): Could not describe oplus.switch.by.app
D/CCodecConfig(26748): ignoring local param raw.size (0xd2001800) as it is already supported
D/CCodecConfig(26748): ignoring local param default.color (0x5200180b) as it is already supported
D/CCodecConfig(26748): ignoring local param raw.hdr-static-info (0xd200180a) as it is already supported
I/CCodecConfig(26748): query failed after returning 18 values (BAD_INDEX)
W/ColorUtils(26748): expected specified color aspects (0:0:0:0)
D/BufferQueueConsumer(26748): [](id:687c0000007d,api:0,p:-1,c:26748) connect: controlledByApp=true
D/SurfaceUtils(26748): connecting to surface 0xb400007279556010, reason connectToSurface
D/BufferQueueProducer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:3,p:26748,c:26748) connect: api=3 producerControlledByApp=true
D/SurfaceUtils(26748): disconnecting from surface 0xb400007279556010, reason connectToSurface(reconnect)
D/BufferQueueProducer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:3,p:26748,c:26748) disconnect: api 3
D/SurfaceUtils(26748): connecting to surface 0xb400007279556000, reason connectToSurface(reconnect-with-listener)
D/BufferQueueProducer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:3,p:26748,c:26748) connect: api=3 producerControlledByApp=true
W/AString (26748): ctor got NULL, using empty string instead
D/AtlasEventUploadUtils(26748): setEvent event:atlas_event_video_monitor_network_switch
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
W/OplusFeedbackInfo(26748): Ext activity return: 0, value: .
W/WindowOnBackDispatcher(26748): OnBackInvokedCallback is not enabled for the application.
W/WindowOnBackDispatcher(26748): Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
D/BufferQueueConsumer(26748): [](id:687c0000007e,api:0,p:-1,c:26748) connect: controlledByApp=true
I/flutter (26748): [IMPORTANT:flutter/shell/platform/android/platform_view_android.cc(334)] Flutter recommends migrating plugins that create and register surface textures to the new surface producer API. See https://docs.flutter.dev/release/breaking-changes/android-surface-plugins
I/CCodecConfig(26748): query failed after returning 19 values (BAD_INDEX)
D/BufferQueueProducer(26748): [SurfaceTexture-0-26748-23](id:687c0000007e,api:1,p:26748,c:26748) connect: api=1 producerControlledByApp=true
I/flutter (26748): 2025-07-22T18:42:02.107492Z DEBUG UI|KVideoPlayerControllerImpl: seek
I/flutter (26748): 2025-07-22T18:42:02.107892Z DEBUG UI|KVideoPlayerControllerImpl: play
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/app (26748): PlayerBase::stop() from IPlayer
D/AudioTrack(26748): [oplusAudioFade]stop mState STATE_ACTIVE, mIsTrackSupportFade 1
D/AudioTrack(26748): stop(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): stop(4327): called with 4096 frames delivered
D/ViewRootImplExtImpl(26748): wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, residentWS=false, scenario=0, bounds=Rect(0, 0 - 1080, 2376), relayoutAsync=true, flags=0, newFlags=1245719808, title=app/app.MainActivity
I/AudioTrack(26748): stop(4327): 0xb40000716ffb9c00 stop done
D/VRI[MainActivity](26748): relayoutWindow result, sizeChanged:false, surfaceControlChanged:false, transformHintChanged:false, mSurfaceSize:Point(1080, 2376), mLastSurfaceSize:Point(1080, 2376), mWidth:1080, mHeight:2376, requestedWidth:1080, requestedHeight:2376, transformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:true, attr.flag:-2122251904, tmpFrames:ClientWindowFrames{frame=[0,0][1080,2376] display=[0,0][1080,2376] parentFrame=[0,0][1080,2376]}, relayoutAsync:true, mSyncSeqId:0
W/VRI[MainActivity](26748): updateBlastSurfaceIfNeeded, surfaceSize:Point(1080, 2376), lastSurfaceSize:Point(1080, 2376), format:-3, blastBufferQueue:android.graphics.BLASTBufferQueue@a763f7e
D/Codec2Client(26748): GraphicBufferAllocator created
D/AudioTrack(26748): start(4327): prior state:STATE_STOPPED output 37 stream 3 session 35065
D/app (26748): PlayerBase::stop() from IPlayer
D/AudioTrack(26748): [oplusAudioFade]stop mState STATE_ACTIVE, mIsTrackSupportFade 1
D/AudioTrack(26748): stop(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): stop(4327): called with 1024 frames delivered
I/AudioTrack(26748): stop(4327): 0xb40000716ffb9c00 stop done
D/AudioTrack(26748): start(4327): prior state:STATE_STOPPED output 37 stream 3 session 35065
D/GraphicsTracker(26748): new surface in configuration: maxDequeueRequested(0), maxDequeueCommitted(3)
D/GraphicsTracker(26748): new surface configured with id:114881785233533 gen:27389977 maxDequeue:3
D/GraphicsTracker(26748): maxDequeueCount committed to IGBP: 11
D/GraphicsTracker(26748): Cache size 0 -> 0: maybe_cleared(0), dequeued(0)
D/GraphicsTracker(26748): maxDqueueCount change 3 -> 11: pending: 0
W/app (26748): AIBinder_linkToDeath is being called with a non-null cookie and no onUnlink callback set. This might not be intended. AIBinder_DeathRecipient_setOnUnlinked should be called first.
I/CCodecConfig(26748): query failed after returning 18 values (BAD_INDEX)
D/CCodecBuffers(26748): [c2.qti.hevc.decoder#905:1D-Input.Impl[N]] converted 10 buffers to array mode of 10
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
I/PlatformViewsController(26748): Hosting view in view hierarchy for platform view: 30
I/PlatformViewsController(26748): PlatformView is using SurfaceProducer backend
D/BufferQueueConsumer(26748): [](id:687c0000007f,api:0,p:-1,c:26748) connect: controlledByApp=true
D/skia    (26748): setRusSupported enable 0
D/BufferQueueProducer(26748): [ImageReader-1x1f22m6-26748-56](id:687c0000007f,api:1,p:26748,c:26748) connect: api=1 producerControlledByApp=true
D/HWUI    (26748): RenderProxy::destroy: this=0xb40000716ffdc700, mContext=0xb4000071624f0140
D/HWUI    (26748): SkiaVulkanPipeline::setSurface: this=0xb40000713010ba40, surface=NULL
D/BufferQueueProducer(26748): [ImageReader-1x1f22m6-26748-56](id:687c0000007f,api:1,p:26748,c:26748) disconnect: api 1
D/BufferQueueConsumer(26748): [ImageReader-1x1f22m6-26748-56](id:687c0000007f,api:0,p:-1,c:26748) disconnect
I/SurfaceControl(26748):  setExtendedRangeBrightness sc=Surface(name=app/app.MainActivity)/@0xe4fdd9,currentBufferRatio=1.0,desiredRatio=1.0
D/AudioTrack(26748): flush+ mIsStopFlush 0, mIsTrackSupportFade 1, mTrackFadeSupportType 0 , mShareBuffer != 0 ? 0, mState 0
D/AudioTrack(26748): flush(4327): prior state:STATE_ACTIVE
D/AudioTrack(26748): flush+ mIsStopFlush 0, mIsTrackSupportFade 1, mTrackFadeSupportType 0 , mShareBuffer != 0 ? 0, mState 0
D/AudioTrack(26748): flush(4327): prior state:STATE_ACTIVE
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
E/MediaCodec(26748): signalEndOfInputStream() called without an input surface set
D/SurfaceUtils(26748): disconnecting from surface 0xb400007279556010, reason disconnectFromSurface
D/BufferQueueProducer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:3,p:26748,c:26748) disconnect: api 3
D/AtlasEventUploadUtils(26748): setEvent event:atlas_event_video_monitor_network_switch
D/BufferQueueConsumer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:0,p:-1,c:26748) disconnect
D/BufferQueueConsumer(26748): [](id:687c00000080,api:0,p:-1,c:26748) connect: controlledByApp=true
D/BufferQueueConsumer(26748): [ImageReader-16x16f22u256m5-26748-25](id:687c00000080,api:0,p:-1,c:26748) disconnect
D/BufferQueueConsumer(26748): [](id:687c00000081,api:0,p:-1,c:26748) connect: controlledByApp=true
F/libc    (26748): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 7189 (Thread-57), pid 26748 (app)
Process name is app, uid is 10528, not key_process
keyProcess: 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'OnePlus/CPH2653EEA/OP5D55L1:15/AXXX.X4X61x.00x/X.X4T1.2345678_12387_654321:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2025-07-22 20:42:02.981355326+0200
Process uptime: 341s
Cmdline: app
pid: 26748, tid: 7189, name: Thread-57  >>> app <<<
uid: 10528
tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000008
Cause: null pointer dereference
    x0  0000000000000000  x1  000000712e7c5f48  x2  000000712e7c5f48  x3  0044000000000000
    x4  0000000000800000  x5  3661726726000000  x6  0000802667726136  x7  4400756171657701
    x8  000000000000002c  x9  00000000000000a4  x10 0000000004aad88c  x11 0101010101010101
    x12 0000000000000067  x13 0000000000000005  x14 000000728b7689a4  x15 b40000729356cc80
    x16 0000000000000001  x17 000000734496fecc  x18 0000006fa61b4000  x19 000000716d20ade0
    x20 b40000711cc8bc40  x21 0000000000000001  x22 0000000000003dae  x23 0000000000000003
    x24 b40000716fa8ca80  x25 000000712d1f7000  x26 b40000716fd8d700  x27 000000712d1f7420
    x28 000000716d20ba80  x29 000000716d20ae00
    lr  000000712d1ade00  sp  000000716d20ad60  pc  000000712d1ade10  pst 0000000080001000
6 total frames
backtrace:
      #00 pc 000000000019ce10  /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
      #01 pc 000000000019fbf0  /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
      #02 pc 00000000000d6680  /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
      #03 pc 00000000000d33c0  /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
      #04 pc 00000000000a7708  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+196) (BuildId: 35236aca851b4e8d03d6c80b3efe84da)
      #05 pc 0000000000099804  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 35236aca851b4e8d03d6c80b3efe84da)
Lost connection to device.

geotro avatar Jul 23 '25 17:07 geotro

I need your libmdk.so and libmdk.so.dsym, it can be found in pub cache dir, for example on macOS it's ~/.pub-cache/hosted/pub.dev/fvp-$version/android/mdk-sdk/lib/arm64-v8a

wang-bin avatar Jul 29 '25 08:07 wang-bin

mdk.zip

geotro avatar Jul 29 '25 11:07 geotro

@wang-bin do you manage to see something of use in this backtrace?

geotro avatar Aug 04 '25 18:08 geotro

********** Crash dump: **********
Build fingerprint: 'OnePlus/CPH2653EEA/OP5D55L1:15/AXXX.X4X61x.00x/X.X4T1.2345678_12387_654321:user/release-keys'
#00 0x000000000019ce10 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
                                                                                                             mdk::abi::VideoDecoderAVCodec::prepareHWAccel(AVCodecContext*)
                                                                                                             /home/runner/work/mdk-sdk/mdk-sdk/mdk/ffmpeg/plugin/VideoDecoderAVCodec.cpp:675:87
#01 0x000000000019fbf0 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
                                                                                                             mdk::abi::VideoDecoderFFmpegBase::open()
                                                                                                             /home/runner/work/mdk-sdk/mdk-sdk/mdk/ffmpeg/plugin/VideoDecoderFFmpegBase.cpp:57:19
#02 0x00000000000d6680 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
                                                                                                             mdk::abi::MediaTypeTrait<(mdk::abi::MediaType)0>::Decoder::Ptr mdk::abi::FrameReaderImpl::decoderOpen<(mdk::abi::MediaType)0>(int, char const*)
                                                                                                             /home/runner/work/mdk-sdk/mdk-sdk/mdk/core/FrameReader.cpp:2194:19
                                                                                                             bool mdk::abi::FrameReaderImpl::decodeLoop<(mdk::abi::MediaType)0>(int, int)
                                                                                                             /home/runner/work/mdk-sdk/mdk-sdk/mdk/core/FrameReader.cpp:2392:16
#03 0x00000000000d33c0 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
                                                                                                             mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0::operator()() const
                                                                                                             /home/runner/work/mdk-sdk/mdk-sdk/mdk/core/FrameReader.cpp:2749:28
                                                                                                             decltype(std::declval<mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>()()) std::__ndk1::__invoke[abi:nn190000]<mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>(mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0&&)
                                                                                                             /usr/local/lib/android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__type_traits/invoke.h:150:25
                                                                                                             void std::__ndk1::__thread_execute[abi:nn190000]<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct>>, mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>(std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct>>, mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>&, std::__ndk1::__tuple_indices<...>)
                                                                                                             /usr/local/lib/android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__thread/thread.h:193:3
                                                                                                             void* std::__ndk1::__thread_proxy[abi:nn190000]<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct>>, mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>>(void*)
                                                                                                             /usr/local/lib/android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__thread/thread.h:202:3
#04 0x00000000000a7708 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+196) (BuildId: 35236aca851b4e8d03d6c80b3efe84da)
#05 0x0000000000099804 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 35236aca851b4e8d03d6c80b3efe84da)
Crash dump is completed

wang-bin avatar Aug 05 '25 02:08 wang-bin

What's you parameters for registerWith(). Can you also show me the log following the steps from issue template? I can fix this crash, but i can't imagine why it happens.

wang-bin avatar Aug 05 '25 02:08 wang-bin

@wang-bin here are the options used:

fvp.registerWith(options: { 'video.decoders': [ // PLATFORM-RECOMMENDED if (Platform.isMacOS || Platform.isIOS) 'videotoolbox', if (Platform.isWindows) 'MFT', if (Platform.isAndroid) 'AMediaCodec', if (Platform.isLinux) 'VAAPI', // PLATFORM-RECOMMENDED NOT-PRIORITY if (!(Platform.isMacOS || Platform.isIOS)) 'videotoolbox', if (!Platform.isWindows) 'MFT', if (!Platform.isAndroid) 'AMediaCodec', if (!Platform.isLinux) 'VAAPI', 'VT', 'D3D11', 'NVDEC', 'FFmpeg', ] });

Can you explain what you mean "the log following the steps from issue template"?

geotro avatar Aug 05 '25 09:08 geotro

@wang-bin is there anything else you need to figure this one out?

geotro avatar Sep 05 '25 20:09 geotro

i need the log i mentioned above

wang-bin avatar Sep 06 '25 00:09 wang-bin

@wang-bin which exact log are you referring to? Once I know I'll get it for you quickly.

geotro avatar Sep 07 '25 16:09 geotro

issue template tells you how to enable log

wang-bin avatar Sep 07 '25 18:09 wang-bin

The crash doesn't happen immediately, usually it takes a stop/start or two of the video for it to happen.

log.flutter.txt

I hope this log has what you need for this. Let me know if there's anything else I can get you.

geotro avatar Sep 18 '25 12:09 geotro

no backtrace in the log

wang-bin avatar Sep 18 '25 12:09 wang-bin

Does this backtrace help you? I only see this if I do logcat

crash.txt

09-18 16:42:50.398 23692 23692 F DEBUG   : Process name is app, uid is 10531, not key_process
09-18 16:42:50.398 23692 23692 F DEBUG   : keyProcess: 0
09-18 16:42:50.398 23692 23692 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-18 16:42:50.398 23692 23692 F DEBUG   : Build fingerprint: 'OnePlus/CPH2653EEA/OP5D55L1:15/AP1A.489911.001/V.R5T5.39acc26-fee5f1-211b4b:user/release-keys'
09-18 16:42:50.398 23692 23692 F DEBUG   : Revision: '0'
09-18 16:42:50.398 23692 23692 F DEBUG   : ABI: 'arm64'
09-18 16:42:50.398 23692 23692 F DEBUG   : Timestamp: 2025-09-18 16:42:50.048357925+0200
09-18 16:42:50.398 23692 23692 F DEBUG   : Process uptime: 215s
09-18 16:42:50.398 23692 23692 F DEBUG   : Cmdline: app
09-18 16:42:50.398 23692 23692 F DEBUG   : pid: 16912, tid: 23609, name: Thread-11  >>> app <<<
09-18 16:42:50.398 23692 23692 F DEBUG   : uid: 10531
09-18 16:42:50.398 23692 23692 F DEBUG   : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
09-18 16:42:50.398 23692 23692 F DEBUG   : pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)
09-18 16:42:50.398 23692 23692 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000008
09-18 16:42:50.398 23692 23692 F DEBUG   : Cause: null pointer dereference
09-18 16:42:50.398 23692 23692 F DEBUG   :     x0  0000000000000000  x1  0000007c26199f48  x2  0000007c26199f48  x3  0044334431320000
09-18 16:42:50.398 23692 23692 F DEBUG   :     x4  0080000000000080  x5  0450365426000000  x6  0000802654365004  x7  6800323144334400
09-18 16:42:50.398 23692 23692 F DEBUG   :     x8  000000000000002c  x9  00000000000000a4  x10 00000000042e78d6  x11 0101010101010101
09-18 16:42:50.398 23692 23692 F DEBUG   :     x12 0000000000000067  x13 0000000000000005  x14 0000000000000000  x15 0000000000000e00
09-18 16:42:50.398 23692 23692 F DEBUG   :     x16 0000000000000001  x17 0000007e0432910c  x18 0000007af27ac000  x19 0000007c0bf07de0
09-18 16:42:50.398 23692 23692 F DEBUG   :     x20 b400007aac2db0e0  x21 0000000000000001  x22 0000000000004842  x23 0000000000000003
09-18 16:42:50.398 23692 23692 F DEBUG   :     x24 b400007abad30c80  x25 0000007c2e1ee000  x26 b400007ab3a8ff80  x27 0000007c2e1ee950
09-18 16:42:50.398 23692 23692 F DEBUG   :     x28 0000007c0bf08a80  x29 0000007c0bf07e00
09-18 16:42:50.398 23692 23692 F DEBUG   :     lr  0000007c2e1a5320  sp  0000007c0bf07d60  pc  0000007c2e1a5330  pst 0000000080001000
09-18 16:42:50.398 23692 23692 F DEBUG   : 6 total frames
09-18 16:42:50.398 23692 23692 F DEBUG   : backtrace:
09-18 16:42:50.398 23692 23692 F DEBUG   :       #00 pc 000000000019d330  /data/app/~~wJsMSBAURtM-j3JAMlv90A==/app--Lr5heoqP7J9so55H6RncA==/split_config.arm64_v8a.apk!libmdk.so (offset 0x269f000) (BuildId: f0ed989b027f9e9c8b94a4c8e1a85468137e3b6c)
09-18 16:42:50.398 23692 23692 F DEBUG   :       #01 pc 00000000001a0110  /data/app/~~wJsMSBAURtM-j3JAMlv90A==/app--Lr5heoqP7J9so55H6RncA==/split_config.arm64_v8a.apk!libmdk.so (offset 0x269f000) (BuildId: f0ed989b027f9e9c8b94a4c8e1a85468137e3b6c)
09-18 16:42:50.398 23692 23692 F DEBUG   :       #02 pc 00000000000d69a0  /data/app/~~wJsMSBAURtM-j3JAMlv90A==/app--Lr5heoqP7J9so55H6RncA==/split_config.arm64_v8a.apk!libmdk.so (offset 0x269f000) (BuildId: f0ed989b027f9e9c8b94a4c8e1a85468137e3b6c)
09-18 16:42:50.398 23692 23692 F DEBUG   :       #03 pc 00000000000d36e0  /data/app/~~wJsMSBAURtM-j3JAMlv90A==/app--Lr5heoqP7J9so55H6RncA==/split_config.arm64_v8a.apk!libmdk.so (offset 0x269f000) (BuildId: f0ed989b027f9e9c8b94a4c8e1a85468137e3b6c)
09-18 16:42:50.398 23692 23692 F DEBUG   :       #04 pc 00000000000a7948  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+196) (BuildId: c2e16036d5298f25f560d84a471db2cf)
09-18 16:42:50.398 23692 23692 F DEBUG   :       #05 pc 0000000000099a44  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: c2e16036d5298f25f560d84a471db2cf)

geotro avatar Sep 18 '25 14:09 geotro

I also need your libmdk.so and libmdk.so.dsym, and the complete log including backtrace. If the stacktrace and registerWith are the same as before(august), the code in backtrace should never be executed. backtrace(august) shows it's using ffmpeg hardware decoder, but it's impossible, and i forget why i said "I can fix this crash".

wang-bin avatar Sep 19 '25 02:09 wang-bin

@wang-bin here are the options used:

fvp.registerWith(options: { 'video.decoders': [ // PLATFORM-RECOMMENDED if (Platform.isMacOS || Platform.isIOS) 'videotoolbox', if (Platform.isWindows) 'MFT', if (Platform.isAndroid) 'AMediaCodec', if (Platform.isLinux) 'VAAPI', // PLATFORM-RECOMMENDED NOT-PRIORITY if (!(Platform.isMacOS || Platform.isIOS)) 'videotoolbox', if (!Platform.isWindows) 'MFT', if (!Platform.isAndroid) 'AMediaCodec', if (!Platform.isLinux) 'VAAPI', 'VT', 'D3D11', 'NVDEC', 'FFmpeg', ] });

Can you explain what you mean "the log following the steps from issue template"?

Why don't you use the default options? some decoders are unusable in your options

wang-bin avatar Sep 19 '25 02:09 wang-bin

If I use the default settings I have videos made with my phone that don't play well, specifically the videos that will sometimes cause a crash on Android with the non-default settings.

What I'm getting with the default settings is weird play of such videos, as in, they video may start black, I hear sound, and only after some time I suddenly see one frame of the video, somewhere within the video, but there is no movement while the sound is playing. If I seek around in the video, it may start playing normally.

geotro avatar Sep 24 '25 11:09 geotro