Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] FP_AudioCallbac Pure virtual function called crash with some devices #1174

Open
itlancer opened this issue Sep 20, 2021 · 0 comments
Labels

Comments

@itlancer
Copy link

Problem Description

After few hours of working our application with video playback crashes with some Android devices.
I still try to figure out what exactly cause crash and make isolated sample to reproduce it.

It has been reproduced with AIR 33.1.1.575 and latest AIR 33.1.1.620 with x96 mini tv box, Android 7.1.2. Device connected via HDMI cable to monitor without speakers (if it important) and playback different MP4 H.264 video files. After few hours application crashes.
Same problem in all cases for this device after few hours of working.

Related issues (not the same):
#1005
#29
#92

Steps to Reproduce

Play different videos using Video with Android tv box for a few hours.

Actual Result:
Application crash.
ADB crash log:

09-20 16:05:08.648 I/OmxComponent( 4135): OMX_CommandStateSet 716 Cmd 0 nParam1 0x2
09-20 16:05:08.648 I/OmxComponent( 4135): STATE_SET:   OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.648 I/OmxComponent( 4135): OMX.amlogic.avc.decoder.awesome: flush input
09-20 16:05:08.648 V/AmlogicVideoDecoderAwesome( 4135): flushInput:749 >
09-20 16:05:08.648 V/OMX_WorkerPeer( 4135): hardware/amlogic/omx/omx_framework/WorkerPeer.cpp:flushInput:56 --------------------
09-20 16:05:08.648 V/AmlogicVideoDecoderAwesome( 4135): pause:232 >
09-20 16:05:08.661 V/AmlogicVideoDecoderAwesome( 4135): reset:272 >
09-20 16:05:08.661 D/AmlogicVideoDecoderAwesome( 4135): reset_1
09-20 16:05:08.662 I/amcodec ( 4135): AMSTREAM_SET_OMX_RUNNING ret=0
09-20 16:05:08.809 I/amcodec ( 4135): [codec_reset:1075]ret=0
09-20 16:05:08.812 D/AmlogicVideoDecoderAwesome( 4135): reset_2
09-20 16:05:08.812 D/AmlogicVideoDecoderAwesome( 4135): mDTaskStatus=1
09-20 16:05:08.812 V/AmlogicVideoDecoderAwesome( 4135): start:240 >
09-20 16:05:08.812 E/ThreadWorker( 4135): pthread on exit wait clean
09-20 16:05:08.812 D/AmlogicVideoDecoderAwesome( 4135): mVideo start
09-20 16:05:08.812 V/AmlogicVideoDecoderAwesome( 4135): flushInput:774 >
09-20 16:05:08.812 I/OmxComponent( 4135): OMX.amlogic.avc.decoder.awesome: flush output
09-20 16:05:08.812 V/AmlogicVideoDecoderAwesome( 4135): flushOutput:777 >
09-20 16:05:08.812 V/OMX_WorkerPeer( 4135): hardware/amlogic/omx/omx_framework/WorkerPeer.cpp:runWorkerStatic:152 --------------------
09-20 16:05:08.812 V/OMX_WorkerPeer( 4135): hardware/amlogic/omx/omx_framework/WorkerPeer.cpp:runWorker:158 --------------------
09-20 16:05:08.813 V/AmlogicVideoDecoderAwesome( 4135): flushOutput:830 >
09-20 16:05:08.813 D/AmlogicVideoDecoderAwesome( 4135): mVideo stop
09-20 16:05:08.815 V/AmlogicVideoDecoderAwesome( 4135): stop:262 >
09-20 16:05:08.838 I/OmxComponent( 4135): STATE_TRANS: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.838 I/OmxComponent( 4135): STATE_TRANS: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.838 I/OmxComponent( 4135): STATE_TRANS: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.838 I/OmxComponent( 4135): STATE_TRANS: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.838 I/OmxComponent( 4135): STATE_TRANS: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.838 I/OmxComponent( 4135): STATE_TRANS: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.838 I/OmxComponent( 4135): STATE_DONE:  OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.840 I/OmxComponent( 4135): OMX_CommandStateSet 716 Cmd 0 nParam1 0x1
09-20 16:05:08.840 I/OmxComponent( 4135): STATE_SET:   OMX_StateIdle => OMX_StateLoaded : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.840 V/AmlogicVideoDecoderAwesome( 4135): releaseResources:305 >
09-20 16:05:08.840 V/AmlogicVideoDecoderAwesome( 4135): tearDown:653 >
09-20 16:05:08.840 V/AmlogicVideoDecoderAwesome( 4135): tearDown:1065 >
09-20 16:05:08.840 V/AmlogicVideoDecoderAwesome( 4135): initializeState_l:1117 >
09-20 16:05:08.880 D/AmlogicVideoDecoderAwesome( 4135): free ION Video device instance ID:0
09-20 16:05:08.890 V/AmlogicVideoDecoderAwesome( 4135): get def maping [decoder ppmgr deinterlace amvideo]
09-20 16:05:08.890 V/AmlogicVideoDecoderAwesome( 4135): disable osd video ...-228078764
09-20 16:05:08.890 I/OmxComponent( 4135): STATE_TRANS: OMX_StateIdle => OMX_StateLoaded : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.890 I/OmxComponent( 4135): STATE_DONE:  OMX_StateIdle => OMX_StateLoaded : OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.898 D/OmxComponentManagerImpl( 4135): DecreaseEntryNumByName pEntry->mNum=1, pEntry->mMaxNum:9,componentName:OMX.amlogic.avc.decoder.awesome
09-20 16:05:08.899 I/omx_core( 4135): OMX_freeHandle_num_= 0
09-20 16:05:08.899 D/AmlogicVideoDecoderAwesome( 4135): ~AmlogicVideoDecoderAwesome
09-20 16:05:08.899 D/AmlogicVideoDecoderAwesome( 4135): ~AmlogicVideoDecoder
09-20 16:05:09.554 I/AudioFlinger( 4129): BUFFER TIMEOUT: remove(4097) from active list on thread 0xf0903700
09-20 16:05:10.757 I/Choreographer(13564): Skipped 137 frames!  The application may be doing too much work on its main thread.
09-20 16:05:10.758 I/chatty  ( 4998): uid=1000(system) InputDispatcher expire 28 lines
09-20 16:05:10.789 V/VideoSurfaceView(13564): surfaceChanged format=842094169, width=1, height=1
09-20 16:05:10.818 W/AppOps  ( 4998): Finishing op nesting under-run: uid 10036 pkg com.my.app code 24 time=0 duration=0 nesting=0
09-20 16:05:12.044 D/audio_hw_primary( 4129): out_standby(0xf099c000)
09-20 16:05:12.044 D/audio_hw_primary( 4129): do_output_standby(0xf099c000)
09-20 16:05:12.044 I/audio_hw_primary( 4129): remove out (0xf099c000) from index 0
09-20 16:05:12.044 I/audio_hw_primary( 4129): close pcm 0xf0e32700
09-20 16:05:19.055 W/AudioTrack(13564): releaseBuffer() track 0xcc3eed00 disabled due to previous underrun, restarting
09-20 16:05:19.058 D/audio_hw_primary( 4129): out_set_parameters(kvpairs(routing=1024), out_device=0x400)
09-20 16:05:19.059 D/audio_hw_primary( 4129): start_output_stream(adev->out_device=0x400, adev->mode=0)
09-20 16:05:19.059 D/audio_hw_primary( 4129): select_devices(mode=0, out_device=0x400)
09-20 16:05:19.059 D/audio_hw_primary( 4129): select_devices : hs=0 , hp=0, sp=0, hdmi=0x400,earpiece=0x0
09-20 16:05:19.059 D/audio_hw_primary( 4129): select_devices : in_device(0x4), mic_in(0x4), headset_mic(0)
09-20 16:05:19.059 E/audio_route( 4129): unable to find path 'hdmi'
09-20 16:05:19.059 D/audio_hw_primary( 4129): *start_output_stream, open card(0) port(0)
09-20 16:05:19.059 I/audio_hw_primary( 4129): device pcm 0xf0e32700
09-20 16:05:19.059 D/audio_hw_primary( 4129): channels=2---format=0---period_count4---period_size1024---rate=48000---
09-20 16:05:19.059 I/audio_hw_primary( 4129): store out (0xf099c000) to index 0
09-20 16:05:19.164 D/AudioFlinger( 4129): mixer(0xf0903700) throttle end: throttle time(24)
09-20 16:05:19.257 F/libc    (13564): /usr/local/google/buildbot/src/android/ndk-release-r16/external/libcxx/../../external/libcxxabi/src/abort_message.cpp:73: abort_message: assertion "Pure virtual function called!" failed
09-20 16:05:19.258 F/libc    (13564): Fatal signal 6 (SIGABRT), code -6 in tid 16848 (FP_AudioCallbac)
09-20 16:05:19.260 W/        (13944): debuggerd: handling request: pid=13564 uid=10036 gid=10036 tid=16848
09-20 16:05:19.476 F/DEBUG   (17440): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-20 16:05:19.476 F/DEBUG   (17440): Build fingerprint: 'Amlogic/p281/p281:7.1.2/NHG47L/20180830:userdebug/test-keys'
09-20 16:05:19.476 F/DEBUG   (17440): Revision: '0'
09-20 16:05:19.476 F/DEBUG   (17440): ABI: 'arm'
09-20 16:05:19.477 F/DEBUG   (17440): pid: 13564, tid: 16848, name: FP_AudioCallbac  >>> com.my.app <<<
09-20 16:05:19.477 F/DEBUG   (17440): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
09-20 16:05:19.506 F/DEBUG   (17440): Abort message: '/usr/local/google/buildbot/src/android/ndk-release-r16/external/libcxx/../../external/libcxxabi/src/abort_message.cpp:73: abort_message: assertion "Pure virtual function called!" failed'
09-20 16:05:19.506 F/DEBUG   (17440):     r0 00000000  r1 000041d0  r2 00000006  r3 00000008
09-20 16:05:19.507 F/DEBUG   (17440):     r4 a9282978  r5 00000006  r6 a9282920  r7 0000010c
09-20 16:05:19.507 F/DEBUG   (17440):     r8 ffca50f4  r9 d7c09f10  sl d9e15ac7  fp 00000000
09-20 16:05:19.507 F/DEBUG   (17440):     ip 00000000  sp a92827f8  lr f35c18f7  pc f35c4154  cpsr 200f0010
09-20 16:05:19.525 F/DEBUG   (17440): 
09-20 16:05:19.525 F/DEBUG   (17440): backtrace:
09-20 16:05:19.525 F/DEBUG   (17440):     #00 pc 0004a154  /system/lib/libc.so (tgkill+12)
09-20 16:05:19.525 F/DEBUG   (17440):     #01 pc 000478f3  /system/lib/libc.so (pthread_kill+34)
09-20 16:05:19.525 F/DEBUG   (17440):     #02 pc 0001dc15  /system/lib/libc.so (raise+10)
09-20 16:05:19.525 F/DEBUG   (17440):     #03 pc 00019761  /system/lib/libc.so (__libc_android_abort+34)
09-20 16:05:19.525 F/DEBUG   (17440):     #04 pc 00017348  /system/lib/libc.so (abort+4)
09-20 16:05:19.525 F/DEBUG   (17440):     #05 pc 0001bc0f  /system/lib/libc.so (__libc_fatal+22)
09-20 16:05:19.526 F/DEBUG   (17440):     #06 pc 0001995b  /system/lib/libc.so (__assert2+18)
09-20 16:05:19.526 F/DEBUG   (17440):     #07 pc 0006bff7  /data/app/com.my.app-2/lib/arm/libc++_shared.so
09-20 16:05:19.526 F/DEBUG   (17440):     #08 pc 0008054b  /data/app/com.my.app-2/lib/arm/libc++_shared.so (__cxa_pure_virtual+6)
09-20 16:05:19.526 F/DEBUG   (17440):     #09 pc 000e5ec5  /data/app/com.my.app-2/lib/arm/libCore.so
09-20 16:05:19.526 F/DEBUG   (17440):     #10 pc 00167a0d  /data/app/com.my.app-2/lib/arm/libCore.so
09-20 16:05:19.526 F/DEBUG   (17440):     #11 pc 00167561  /data/app/com.my.app-2/lib/arm/libCore.so
09-20 16:05:19.526 F/DEBUG   (17440):     #12 pc 00167ae1  /data/app/com.my.app-2/lib/arm/libCore.so
09-20 16:05:19.526 F/DEBUG   (17440):     #13 pc 000473c3  /system/lib/libc.so (_ZL15__pthread_startPv+22)
09-20 16:05:19.526 F/DEBUG   (17440):     #14 pc 0001a1ad  /system/lib/libc.so (__start_thread+6)
09-20 16:05:21.879 W/ActivityManager( 4998):   Force finishing activity com.my.app/.AppEntry
09-20 16:05:21.881 W/        (13944): debuggerd: resuming target 13564
09-20 16:05:21.881 I/BootReceiver( 4998): Copying /data/tombstones/tombstone_00 to DropBox (SYSTEM_TOMBSTONE)
09-20 16:05:21.899 W/ActivityManager( 4998): Skipping crash dialog of ProcessRecord{3d5b18 13564:com.my.app/u0a36}: com.my.app
09-20 16:05:22.135 I/Zygote  ( 4128): Process 13564 exited due to signal (6)
09-20 16:05:22.140 I/ActivityManager( 4998): Process com.my.app (pid 13564) has died
09-20 16:05:22.140 D/ActivityManager( 4998): cleanUpApplicationRecord -- 13564

Expected Result:
No application crash.

Known Workarounds

none

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant