Adobe-Runtime-Support icon indicating copy to clipboard operation
Adobe-Runtime-Support copied to clipboard

[Android] FLV video playback cause crash

Open itlancer opened this issue 1 month ago • 1 comments

Problem Description

FLV video playback cause crash on Android/ChromeOS devices with complex AIR applications. It happens mostly on "fast switch" between multiple FLV videos with complex DisplayList render as I understood.

Tested with multiple AIR versions, even with latest AIR 51.2.2.6 with multiple different Android and ChromeOS devices with different OS versions, different architectures (armv8, x86_64) with different FLV videos. Same issue in all cases. There is no such issues with other platforms. Also it works fine with non-AIR applications.

Related issues: https://github.com/airsdk/Adobe-Runtime-Support/issues/3821 https://github.com/airsdk/Adobe-Runtime-Support/issues/3972 https://github.com/airsdk/Adobe-Runtime-Support/issues/2296 https://github.com/airsdk/Adobe-Runtime-Support/issues/211 https://github.com/airsdk/Adobe-Runtime-Support/issues/155 https://github.com/airsdk/Adobe-Runtime-Support/issues/2125 https://github.com/airsdk/Adobe-Runtime-Support/issues/2277 https://github.com/airsdk/Adobe-Runtime-Support/issues/2503 https://github.com/airsdk/Adobe-Runtime-Support/issues/3519

Steps to Reproduce

I still cannot isolate this issue in sample. But you need to have AIR application for Android with switching between multiple FLV videos. For example on click stop previous video, remove it and launch next. Or launch next FLV video without stopping previous one.

Actual Result: Application crash:

ABI: 'arm64'
Timestamp: 2025-11-25 12:53:21.780317412+0300
Process uptime: 38s
Cmdline: com.my.air.app
pid: 10405, tid: 10652, name: Thread-30  >>> com.my.air.app <<<
uid: 10434
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: 'FORTIFY: pthread_mutex_lock called on a destroyed mutex (0xb4000079516e6d20)'
    x0  0000000000000000  x1  000000000000299c  x2  0000000000000006  x3  000000779a101730
    x4  0000000080808080  x5  0000000080808080  x6  0000000080808080  x7  8080808080808080
    x8  00000000000000f0  x9  0000007b5cfe9b70  x10 0000000000000001  x11 0000007b5d02978c
    x12 0101010101010101  x13 00001945435f84fc  x14 002a8c691895b11f  x15 0000000000000028
    x16 0000007b5d091d70  x17 0000007b5d06d420  x18 0000000000000000  x19 00000000000028a5
    x20 000000000000299c  x21 00000000ffffffff  x22 0000000000000000  x23 000000000000000a
    x24 b4000079516e6cf4  x25 000000779a102000  x26 0000000000000000  x27 0000000000000064
    x28 0000000000000005  x29 000000779a1017b0
    lr  0000007b5d01a6c8  sp  000000779a101710  pc  0000007b5d01a6f4  pst 0000000000001000
backtrace:
      #00 pc 00000000000526f4  /apex/com.android.runtime/lib64/bionic/libc.so (abort+168) (BuildId: 2938f6235116cbc48464ee0f7622625e)
      #01 pc 0000000000054554  /apex/com.android.runtime/lib64/bionic/libc.so (__fortify_fatal(char const*, ...)+128) (BuildId: 2938f6235116cbc48464ee0f7622625e)
      #02 pc 00000000000bb790  /apex/com.android.runtime/lib64/bionic/libc.so (HandleUsingDestroyedMutex(pthread_mutex_t*, char const*)+68) (BuildId: 2938f6235116cbc48464ee0f7622625e)
      #03 pc 00000000000bb610  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+248) (BuildId: 2938f6235116cbc48464ee0f7622625e)
      #04 pc 00000000000b994c  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_timedwait+164) (BuildId: 2938f6235116cbc48464ee0f7622625e)
      #05 pc 00000000002c8cb8  /data/app/~~no2vlAjSt3gNFSQ24g_gnA==/com.my.air.app-AMd-B4Ttvj8kbxqD-ysVjA==/base.apk!libCore.so (BuildId: 144fe9080948155aa22c270011aeebaad2248e1c)
      #06 pc 0000000000363f50  /data/app/~~no2vlAjSt3gNFSQ24g_gnA==/com.my.air.app-AMd-B4Ttvj8kbxqD-ysVjA==/base.apk!libCore.so (BuildId: 144fe9080948155aa22c270011aeebaad2248e1c)
      #07 pc 00000000002c8a30  /data/app/~~no2vlAjSt3gNFSQ24g_gnA==/com.my.air.app-AMd-B4Ttvj8kbxqD-ysVjA==/base.apk!libCore.so (BuildId: 144fe9080948155aa22c270011aeebaad2248e1c)
      #08 pc 00000000002c8aa0  /data/app/~~no2vlAjSt3gNFSQ24g_gnA==/com.my.air.app-AMd-B4Ttvj8kbxqD-ysVjA==/base.apk!libCore.so (BuildId: 144fe9080948155aa22c270011aeebaad2248e1c)
      #09 pc 00000000002c87d4  /data/app/~~no2vlAjSt3gNFSQ24g_gnA==/com.my.air.app-AMd-B4Ttvj8kbxqD-ysVjA==/base.apk!libCore.so (BuildId: 144fe9080948155aa22c270011aeebaad2248e1c)
      #10 pc 00000000000ba598  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208) (BuildId: 2938f6235116cbc48464ee0f7622625e)
      #11 pc 0000000000053f3c  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 2938f6235116cbc48464ee0f7622625e)

Expected Result: Video playback without crashes.

Known Workarounds

none Do not use FLV or write your own native extension for FLV video playback.

itlancer avatar Nov 25 '25 10:11 itlancer

Does introducing a delay between the videos resolve the issue?

marchbold avatar Nov 25 '25 23:11 marchbold