googleads-mobile-flutter: Android ONLY: java.lang.IllegalStateException: PlatformView#getView() returned null, but an Android view reference was expected
Bug report
Describe the bug Inline banner ad in a list cause crash on Android only.
Steps to reproduce
Steps to reproduce the behavior:
- Update dependency to 0.11.0+2 for google_mobile_ads & minSdk to 19 in (https://github.com/googlecodelabs/admob-inline-ads-in-flutter)
- Increase sample items x 3 which use for inline banner ad example
- Scroll down until ad goes out of viewport, scroll up again and had this crash below on Android ONLY:
E/flutter (12339): [ERROR:flutter/shell/platform/android/platform_view_android_jni_impl.cc(43)] java.lang.IllegalStateException: PlatformView#getView() returned null, but an Android view reference was expected.
E/flutter (12339): at io.flutter.plugin.platform.PlatformViewsController.initializePlatformViewIfNeeded(PlatformViewsController.java:710)
E/flutter (12339): at io.flutter.plugin.platform.PlatformViewsController.onDisplayPlatformView(PlatformViewsController.java:739)
E/flutter (12339): at io.flutter.embedding.engine.FlutterJNI.onDisplayPlatformView(FlutterJNI.java:957)
E/flutter (12339): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (12339): at android.os.MessageQueue.next(MessageQueue.java:335)
E/flutter (12339): at android.os.Looper.loop(Looper.java:206)
E/flutter (12339): at android.app.ActivityThread.main(ActivityThread.java:8419)
E/flutter (12339): at java.lang.reflect.Method.invoke(Native Method)
E/flutter (12339): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596)
E/flutter (12339): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
E/flutter (12339):
F/flutter (12339): [FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(1196)] Check failed: CheckException(env).
F/libc (12339): Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 12339 (.admobinlineads), pid 12339 (.admobinlineads)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/x1sxx/x1s:11/RP1A.200720.012/G980FXXU5CUA3:user/release-keys'
Revision: '22'
ABI: 'arm64'
Timestamp: 2021-03-06 16:01:56+0300
pid: 12339, tid: 12339, name: .admobinlineads >>> com.codelab.flutter.admobinlineads <<<
uid: 10371
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(1196)] Check failed: CheckException(env).
'
x0 0000000000000000 x1 0000000000003033 x2 0000000000000006 x3 0000007fecb68210
x4 0000007e1e62f000 x5 0000007e1e62f000 x6 0000007e1e62f000 x7 0000000003736aa0
x8 00000000000000f0 x9 344ba72bcf5be43a x10 0000000000000000 x11 ffffffc0fffffbdf
x12 0000000000000001 x13 0000000000000074 x14 0000000000000000 x15 00006f5640eaf8be
x16 0000007e174bac80 x17 0000007e1749cc50 x18 0000007e1e61e000 x19 0000000000003033
x20 0000000000003033 x21 00000000ffffffff x22 0000007be6bae010 x23 0000000000000000
x24 0000000000000438 x25 00000000000000d8 x26 0000000000000001 x27 0000007fecb68510
x28 0000000000000085 x29 0000007fecb68290
lr 0000007e17450624 sp 0000007fecb681f0 pc 0000007e17450650 pst 0000000000000000
backtrace:
#00 pc 000000000004e650 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: b6a050117a93689b5308931507900b87)
#01 pc 0000000001288244 /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#02 pc 00000000012792f4 /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#03 pc 00000000012cb534 /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#04 pc 00000000012be28c /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#05 pc 00000000012beb60 /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#06 pc 00000000012bf4e0 /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#07 pc 00000000012be5c4 /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#08 pc 00000000012be398 /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#09 pc 00000000012bf718 /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#10 pc 0000000001288bbc /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#11 pc 000000000128dc7c /data/app/~~E_A6gdfKtuyBjx_ve83yBg==/com.codelab.flutter.admobinlineads-n5uEz5IUmmkCJXhBAs3vHw==/lib/arm64/libflutter.so (BuildId: 9c542952e0ea7b7a4b9c9734eda4f117db4285aa)
#12 pc 0000000000019da8 /system/lib64/libutils.so (android::Looper::pollInner(int)+916) (BuildId: 4e69b93bf70ed592f0029dbd1097529e)
#13 pc 00000000000199ac /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112) (BuildId: 4e69b93bf70ed592f0029dbd1097529e)
#14 pc 00000000001187f4 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44) (BuildId: 242a1c2f8c01c3530aee42ce4254ec53)
#15 pc 000000000024f00c /system/framework/arm64/boot-framework.oat (art_jni_trampoline+140) (BuildId: ba616edc5d43a5ad71e513e266d2e93e004cfa2e)
#16 pc 00000000020019bc /memfd:jit-cache (deleted) (offset 0x2000000) (android.os.MessageQueue.next+204)
#17 pc 0000000000134564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#18 pc 00000000001a9a78 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#19 pc 0000000000320d60 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#20 pc 000000000031708c /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: 1e59dbd15c62f521119299bf54dfe884)
#21 pc 0000000000684870 /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#22 pc 000000000012e814 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#23 pc 000000000044caf2 /system/framework/framework.jar (offset 0x9cb000) (android.os.Looper.loop+154)
#24 pc 000000000030e688 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8133272982542804073)+268) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#25 pc 0000000000316678 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#26 pc 0000000000317a60 /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: 1e59dbd15c62f521119299bf54dfe884)
#27 pc 0000000000178f40 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+57848) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#28 pc 00000000001407d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#29 pc 00000000001cd564 /system/framework/framework.jar (android.app.ActivityThread.main)
#30 pc 000000000030e790 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8133272982542804073)+532) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#31 pc 00000000006732f4 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#32 pc 000000000013dff8 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#33 pc 00000000001347e8 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#34 pc 00000000001a9a94 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#35 pc 000000000055d2a0 /apex/com.android.art/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1364) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#36 pc 00000000004dc60c /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#37 pc 000000000008a6f4 /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: cf3195be2d1e729ad27299071d73c22f0d849b44)
#38 pc 0000000000134564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#39 pc 00000000001a9a78 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#40 pc 0000000000320d60 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#41 pc 000000000031708c /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: 1e59dbd15c62f521119299bf54dfe884)
#42 pc 0000000000684870 /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#43 pc 000000000012e814 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#44 pc 0000000000236df6 /system/framework/framework.jar (offset 0x1c0c000) (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
#45 pc 000000000030e688 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8133272982542804073)+268) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#46 pc 00000000006732f4 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#47 pc 000000000013dff8 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#48 pc 0000000000afbfac /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2444) (BuildId: ba616edc5d43a5ad71e513e266d2e93e004cfa2e)
#49 pc 00000000001347e8 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#50 pc 00000000001a9a94 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#51 pc 000000000055bcdc /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#52 pc 000000000055c190 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#53 pc 0000000000440b94 /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+656) (BuildId: 1e59dbd15c62f521119299bf54dfe884)
#54 pc 000000000009d424 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+124) (BuildId: 242a1c2f8c01c3530aee42ce4254ec53)
#55 pc 00000000000a5244 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+848) (BuildId: 242a1c2f8c01c3530aee42ce4254ec53)
#56 pc 0000000000003594 /system/bin/app_process64 (main+1356) (BuildId: 1b1b967ddfe0761f978fc1b2bd9ea55a)
#57 pc 0000000000049a38 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: b6a050117a93689b5308931507900b87)
Lost connection to device.
`
Expected behavior
No crash.
Additional context
Add any other context about the problem here.
Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE
Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Reactions: 9
- Comments: 20
In my case, I was able to fix it by removing the call to
ad.dispose()at theonAdFailedToLoadlistener.@jjliu15 I still get this error in 0.11.0+3. Android sdk version is 4.4
Same error trying to create a simple native ad from the example --> google_mobile_ads: ^0.12.1+1
Initially, I was facing the same issue. The problem was UI is trying to load the banner ads while the ad is not ready yet. To check just turn off the internet then try to run the app in debug mode. If the app is crashed then your problem is the same as mine. So you shouldn’t try to load the while ad is not ready. to fix it just follow the example of this repo. They have a very good example of those cases.
It was all fine with banner and full screen ads. but this issue occurs when using native ads.
The errors are in different line number than the one shown in the first comment.