Skip to content

[Android & iOS] 频繁创建和销毁播放器 Crash #323

@doersoul

Description

@doersoul

在一个 ListView 中,每个item一个播放器,滚动时创建和销毁播放器,造成 crash

安卓

F/libc    (27621): /Users/doer/Documents/code/flutter/fvp/android/mdk-sdk/include/mdk/Player.h:370: void mdk::Player::updateNativeSurface(void *, int, int, SurfaceType): assertion "p->updateNativeSurface && "NOT IMPLEMENTED! Runtime version < build version?"" failed
F/libc    (27621): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 27621 (com.example.demo), pid 27621 (com.example.demo)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'OPPO/PCCM00/OP46C3:11/RKQ1.200928.002/1617017204685:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2025-12-27 17:31:25+0800
pid: 27621, tid: 27621, name: com.example.demo  >>> com.example.demo <<<
uid: 10460
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: '/Users/doer/Documents/code/flutter/fvp/android/mdk-sdk/include/mdk/Player.h:370: void mdk::Player::updateNativeSurface(void *, int, int, SurfaceType): assertion "p->updateNativeSurface && "NOT IMPLEMENTED! Runtime version < build version?"" failed'
    x0  0000000000000000  x1  0000000000006be5  x2  0000000000000006  x3  0000007fe3f54940
    x4  0000000000000080  x5  0000000000000080  x6  0000000000000080  x7  0000000000000040
    x8  00000000000000f0  x9  8c28f0689739833d  x10 0000000000000000  x11 ffffffc0fffffbdf
    x12 0000000000000001  x13 00000000694fa76d  x14 00153a6b350065e2  x15 0000bcee16beca75
    x16 0000007d002f17e0  x17 0000007d002d0da0  x18 0000007d024e6000  x19 0000000000006be5
    x20 0000000000006be5  x21 00000000ffffffff  x22 b400007bd829f900  x23 0000000000000500
    x24 0000000013b67328  x25 0000000015e8e998  x26 0000000015e8e9a8  x27 00000000000002d0
    x28 0000007fe3f54c40  x29 0000007fe3f549c0
    lr  0000007d00284460  sp  0000007fe3f54920  pc  0000007d0028448c  pst 0000000000000000
backtrace:
      #00 pc 000000000007848c  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 1ca28d785d6567d2b225cf978ef04de5)
      #01 pc 0000000000078854  /apex/com.android.runtime/lib64/bionic/libc.so (__assert2+36) (BuildId: 1ca28d785d6567d2b225cf978ef04de5)
      #02 pc 0000000000025240  /data/app/~~fzhc9iBXUkHdAielVNzQYw==/com.example.demo-Me0NW6tXeFbuU17ZgAySkA==/base.apk!libfvp_plugin.so (offset 0x48f4000) (BuildId: 108c1377e32df51e29ec07043b142ed792d69194)
      #03 pc 0000000000025020  /data/app/~~fzhc9iBXUkHdAielVNzQYw==/com.example.demo-Me0NW6tXeFbuU17ZgAySkA==/base.apk!libfvp_plugin.so (offset 0x48f4000) (Java_com_mediadevkit_fvp_FvpPlugin_nativeSetSurface+760) (BuildId: 108c1377e32df51e29ec07043b142ed792d69194)
      #04 pc 000000000013ced4  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #05 pc 00000000020698d4  /memfd:jit-cache (deleted) (offset 0x2000000) (com.mediadevkit.fvp.FvpPlugin.onMethodCall+2404)
      #06 pc 0000000002026c28  /memfd:jit-cache (deleted) (offset 0x2000000) (io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage+232)
      #07 pc 00000000020294c4  /memfd:jit-cache (deleted) (offset 0x2000000) (io.flutter.embedding.engine.dart.DartMessenger.invokeHandler+244)
      #08 pc 0000000002015ce0  /memfd:jit-cache (deleted) (offset 0x2000000) (io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger+320)
      #09 pc 000000000202ddb4  /memfd:jit-cache (deleted) (offset 0x2000000) (io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run+132)
      #10 pc 000000000202c1c4  /memfd:jit-cache (deleted) (offset 0x2000000) (android.os.Handler.handleCallback+68)
      #11 pc 0000000002029960  /memfd:jit-cache (deleted) (offset 0x2000000) (android.os.Handler.dispatchMessage+64)
      #12 pc 0000000002042c00  /memfd:jit-cache (deleted) (offset 0x2000000) (android.os.Looper.loop+1664)
      #13 pc 000000000013387c  /apex/com.android.art/lib64/libart.so (art_quick_osr_stub+60) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #14 pc 000000000033d060  /apex/com.android.art/lib64/libart.so (art::jit::Jit::MaybeDoOnStackReplacement(art::Thread*, art::ArtMethod*, unsigned int, int, art::JValue*)+344) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #15 pc 000000000068b9e0  /apex/com.android.art/lib64/libart.so (MterpMaybeDoOnStackReplacement+208) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #16 pc 0000000000132350  /apex/com.android.art/lib64/libart.so (MterpHelpers+240) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #17 pc 0000000000403f64  /system/framework/framework.jar (offset 0x945000) (android.os.Looper.loop+1496)
      #18 pc 0000000000305bb0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.13231680141516411457)+268) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #19 pc 000000000030dba0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #20 pc 000000000030ef88  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1772) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #21 pc 0000000000177f40  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+57848) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #22 pc 000000000013f7d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #23 pc 00000000001b4898  /system/framework/framework.jar (android.app.ActivityThread.main)
      #24 pc 0000000000305cb8  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.13231680141516411457)+532) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #25 pc 000000000066bd68  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #26 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #27 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #28 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #29 pc 00000000005562a8  /apex/com.android.art/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1364) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #30 pc 00000000004d53c0  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #31 pc 00000000000937f4  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: 116ef9131fea789a2381b0a3347dcdf92c8d0416)
      #32 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #33 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #34 pc 0000000000318288  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #35 pc 000000000030e5b4  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+996) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #36 pc 000000000067d050  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #37 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #38 pc 0000000000539e9a  /system/framework/framework.jar (offset 0x127d000) (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
      #39 pc 0000000000305bb0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.13231680141516411457)+268) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #40 pc 000000000066bd68  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #41 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #42 pc 00000000008fd0b4  /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2756) (BuildId: a9968a8b8b9e74713c33cd6a14b6f1060cd7e6fc)
      #43 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #44 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #45 pc 0000000000554ce4  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #46 pc 0000000000555198  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #47 pc 0000000000438fc8  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+656) (BuildId: b2950014fddab380a9bebef52fe2d1c3)
      #48 pc 000000000009c424  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+124) (BuildId: a54426a2b2bfe5ad975341aa6c0e7841)
      #49 pc 00000000000a4160  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+856) (BuildId: a54426a2b2bfe5ad975341aa6c0e7841)
      #50 pc 0000000000003674  /system/bin/app_process64 (main+1580) (BuildId: 9349370b830e2b77b835dee3aff71480)
      #51 pc 0000000000073a5c  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: 1ca28d785d6567d2b225cf978ef04de5)

iOS

Assertion failed: (p->setRenderAPI && "NOT IMPLEMENTED! Runtime version < build version?"), function setRenderAPI, file Player.h, line 602.
* thread #1, stop reason = signal SIGABRT
    frame #0: 0x00000001b8db2964
->  0x1b8db2964: b.lo   0x1b8db2984
    0x1b8db2968: pacibsp 
    0x1b8db296c: stp    x29, x30, [sp, #-0x10]!
    0x1b8db2970: mov    x29, sp
Target 0: (Runner) stopped.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions