Skip to content

JNISurfaceTexture crash Cause: null pointer dereference #83090

@hello-soon

Description

@hello-soon

hi, I use flutter as module

in dart, in initState of Widget, will request texture id to native
in native, create flutterRenderer.createSurfaceTexture(), and return surfaceTextureEntry.id() to flutter
alse new Surface for render

when dispose of Widget, will request release texture id.
in native, call surface.release to release surface
and call SurfaceTextureEntry.release to release surfaceTextureEntry which created by flutterRenderer.createSurfaceTexture()

when flutter fragment pop up to native, it happend

2021-05-20 14:02:44.365 26237-26344/com.sample.game A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x660 in tid 26344 (JNISurfaceTextu), pid 26237 (om.sample.game)
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: Build fingerprint: 'google/flame/flame:11/RQ2A.210505.002/7246365:user/release-keys'
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: Revision: 'MP1.0'
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: ABI: 'arm64'
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: Timestamp: 2021-05-20 14:02:44+0800
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: pid: 26237, tid: 26344, name: JNISurfaceTextu  >>> com.sample.game <<<
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: uid: 10264
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x660
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG: Cause: null pointer dereference
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     x0  0000000000000660  x1  0000007b5fe094c0  x2  0000000000000000  x3  0000007bf45ff106
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     x4  0000007b5fe094a8  x5  000000000000004a  x6  4055404906ff5140  x7  7f7f7f7f7f7f7f7f
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     x8  0000007e87b7f460  x9  3ee450f0c6e82a1d  x10 0000000000430000  x11 000000000000001e
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     x12 0000007bf4679454  x13 0000007bf467949c  x14 0000007bf46794fc  x15 0000000000000000
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     x16 0000007e87becc18  x17 0000007e85bcc7dc  x18 0000007b5f5ac000  x19 0000000000000660
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     x20 0000000000000000  x21 00000000157b3668  x22 0000007b5fe0b000  x23 0000007d64d78c08
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     x24 0000000071164ae8  x25 0000007b5fe0b000  x26 000000000000036b  x27 0000000000000001
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     x28 0000000000000000  x29 0000007b5fe09530
2021-05-20 14:02:44.458 27005-27005/? A/DEBUG:     lr  0000007e87be724c  sp  0000007b5fe09530  pc  0000007e85bcc7e4  pst 0000000060000000
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG: backtrace:
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #00 pc 00000000000b07e4  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+8) (BuildId: 49090ae59e6ae37f8beae53c551820ad)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #01 pc 000000000000c248  /system/lib64/libnativedisplay.so (android::SurfaceTexture::detachFromContext()+32) (BuildId: a9e56c5344403a3e89453d71733d6bb8)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #02 pc 00000000000e5f80  /system/lib64/libandroid_runtime.so (android::SurfaceTexture_detachFromGLContext(_JNIEnv*, _jobject*)+104) (BuildId: 1dec5134a09522f9c83c48dae0aec3be)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #03 pc 00000000001f9f5c  /system/framework/arm64/boot-framework.oat (art_jni_trampoline+124) (BuildId: f253393b8640e56762a14960f1bdb11501851c25)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #04 pc 00000000021da92c  /memfd:jit-cache (deleted) (offset 0x2000000) (android.graphics.SurfaceTexture.detachFromGLContext+44)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #05 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #06 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #07 pc 000000000031830c  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #08 pc 000000000030e638  /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: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #09 pc 000000000067c4d0  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #10 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #11 pc 00000000004d4424  /data/data/com.sample.game/code_cache/.overlay/base.apk/classes6.dex (io.flutter.embedding.engine.renderer.SurfaceTextureWrapper.detachFromGLContext+4)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #12 pc 0000000000305c34  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6432830707213048161)+268) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #13 pc 000000000066b1d8  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #14 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #15 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #16 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #17 pc 0000000000554fb4  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+468) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #18 pc 0000000000555154  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #19 pc 0000000000413d30  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+660) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #20 pc 0000000000379464  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType)+2512) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #21 pc 0000000000367514  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+72) (BuildId: 77b7b03eb396b55618ca056e610f9c70)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #22 pc 00000000012f7930  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #23 pc 00000000012f7f18  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #24 pc 00000000012ee2c8  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #25 pc 00000000012ee290  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #26 pc 00000000013070e4  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #27 pc 00000000013078c4  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #28 pc 0000000001347dd8  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #29 pc 000000000134d02c  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #30 pc 0000000001313298  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #31 pc 00000000013183d0  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #32 pc 0000000000019dac  /system/lib64/libutils.so (android::Looper::pollInner(int)+916) (BuildId: 5d6af74124211886d954d61c96514a46)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #33 pc 00000000000199b0  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112) (BuildId: 5d6af74124211886d954d61c96514a46)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #34 pc 0000000000012c74  /system/lib64/libandroid.so (ALooper_pollOnce+100) (BuildId: 38312aef9bf39f6a76bef9f4e156a5a8)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #35 pc 0000000001318358  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #36 pc 00000000013131e0  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #37 pc 000000000131613c  /data/app/~~GAddIvXQiAjP43k1eYL8lg==/com.sample.game-Yh1VufURJiJDP8JXAZ2IQw==/lib/arm64/libflutter.so (BuildId: e14966237eb013b063fed6484195268f7398b594)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #38 pc 00000000000afd4c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: 49090ae59e6ae37f8beae53c551820ad)
2021-05-20 14:02:44.625 27005-27005/? A/DEBUG:       #39 pc 0000000000050288  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 49090ae59e6ae37f8beae53c551820ad)
2021-05-20 14:02:44.948 932-932/? E/tombstoned: Tombstone written to: /data/tombstones/tombstone_22

λ flutter doctor -v

[√] Flutter (Channel stable, 2.0.5, on Microsoft Windows [Version 10.0.18363.1556], locale zh-CN)
    • Flutter version 2.0.5 at C:\Android\flutter
    • Framework revision adc687823a (5 weeks ago), 2021-04-16 09:40:20 -0700
    • Engine revision b09f014e96
    • Dart version 2.12.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: platform-viewsEmbedding Android/iOS views in Flutter appsc: fatal crashCrashes that terminate the processengineflutter/engine related. See also e: labels.platform-androidAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer version

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions