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

Google Ads causes Flutter accessibility stack overflow exception #43575

Open
JCKodel opened this issue Oct 26, 2019 · 9 comments
Open

Google Ads causes Flutter accessibility stack overflow exception #43575

JCKodel opened this issue Oct 26, 2019 · 9 comments
Labels
c: crash Stack traces logged to the console c: fatal crash Crashes that terminate the process d: stackoverflow Good question for Stack Overflow e: device-specific Only manifests on certain devices engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list platform-android Android applications specifically team-android Owned by Android platform team triaged-android Triaged by Android platform team

Comments

@JCKodel
Copy link

JCKodel commented Oct 26, 2019

Steps to Reproduce

  1. Use admob_flutter plugin
  2. Click on ads or set the app to background (by pressing home, for example)

I have an Asus Selfie, a MotoG 1st Edition, a Samsung J4+ and an OnePlus 6. Only on OnePlus 6 (AFAIK), a stack overflow occurs.

Target Platform: Android
Target OS version/browser: Android Pie
Devices: OnePlus 6

Logs

10-26 15:23:02.170 26509 26509 E AndroidRuntime: FATAL EXCEPTION: main
10-26 15:23:02.170 26509 26509 E AndroidRuntime: Process: br.art.code.meucronogramacapilar, PID: 26509
10-26 15:23:02.170 26509 26509 E AndroidRuntime: java.lang.StackOverflowError: stack size 8MB
10-26 15:23:02.170 26509 26509 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
10-26 15:23:02.170 26509 26509 E AndroidRuntime:        at io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors.getChildId(AccessibilityViewEmbedder.java:513)
10-26 15:23:02.170 26509 26509 E AndroidRuntime:        at io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors.access$500(AccessibilityViewEmbedder.java:413)
10-26 15:23:02.170 26509 26509 E AndroidRuntime:        at io.flutter.view.AccessibilityViewEmbedder.addChildrenToFlutterNode(AccessibilityViewEmbedder.java:174)
10-26 15:23:02.170 26509 26509 E AndroidRuntime:        at io.flutter.view.AccessibilityViewEmbedder.convertToFlutterNode(AccessibilityViewEmbedder.java:145)
10-26 15:23:02.170 26509 26509 E AndroidRuntime:        at io.flutter.view.AccessibilityViewEmbedder.getRootNode(AccessibilityViewEmbedder.java:91)
10-26 15:23:02.170 26509 26509 E AndroidRuntime:        at io.flutter.view.AccessibilityBridge.createAccessibilityNodeInfo(AccessibilityBridge.java:510)

800x
10-26 15:23:02.170 26509 26509 E AndroidRuntime:        at android.view.View.populateVirtualStructure(View.java:8656)

10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.view.View.onProvideVirtualStructureCompat(View.java:8077)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.view.View.onProvideVirtualStructure(View.java:8058)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.view.View.dispatchProvideStructureForAssistOrAutofill(View.java:8724)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.view.View.dispatchProvideStructure(View.java:8671)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3550)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3550)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3550)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.app.assist.AssistStructure$WindowNode.<init>(AssistStructure.java:519)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.app.assist.AssistStructure.<init>(AssistStructure.java:2047)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:3311)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1872)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:193)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6898)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
10-26 15:23:02.295 26509 26509 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Analyzing Flutter...
No issues found! (ran in 8.3s)
[√] Flutter (Channel beta, v1.10.7, on Microsoft Windows [Version 10.0.18362.418], locale en-GB)
    • Flutter version 1.10.7 at C:\Flutter
    • Framework revision e70236e36c (3 weeks ago), 2019-10-02 09:32:30 -0700
    • Engine revision 9e6314d348
    • Dart version 2.6.0 (build 2.6.0-dev.4.0 1103600280)

 
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\jckod\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 40.1.2
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] VS Code, 64-bit edition (version 1.39.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.5.1

[√] Connected device (1 available)
    • ONEPLUS A6003 • 5a4fe85f • android-arm64 • Android 9 (API 28)

• No issues found!

P.S.: I'm forced to use beta channel because the nasty Adreno 308 bug, which prevents Samsung J devices to work (and there are plenty of them in my country).

@augustdong
Copy link

Same issues and i do not know how to fix. Any one can help?

@BondarenkoStas
Copy link

@JCKode I saw you reported the issue in https://github.com/kmcgill88/admob_flutter. Does it happen only with this plugin when set the app to background?

@BondarenkoStas BondarenkoStas added e: device-specific Only manifests on certain devices c: crash Stack traces logged to the console platform-android Android applications specifically d: stackoverflow Good question for Stack Overflow labels Oct 28, 2019
@JCKodel
Copy link
Author

JCKodel commented Oct 29, 2019

@BondarenkoStas
It happens when:

  1. The app goes to background (i.e.: the home button is pressed)
  2. When we click on the ad (sometimes it works, most of times, stack overflow and crash)
  3. When the ad is reloaded (either manually or by Google, again, sometimes it works, most of times, stack overflow and crash)

@kestasb
Copy link

kestasb commented Jan 15, 2020

Has anyone found a solution to fix this crash? Is there any workaround?

@itonydong
Copy link

I also have this problem, when i embeded the baidumap platformview to flutter,and zoom in the map

@Ali1Ammar
Copy link

same i get repoered from Crashlytics from HiSense Infinity H30 android 9 device
i dont know if its from ads but the only plugins i use work with platformview is admob_flutter,flutter_native_admob

Fatal Exception: java.lang.StackOverflowError: stack size 8MB
       at java.lang.reflect.Method.invoke(Method.java)
       at io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors.a(AccessibilityViewEmbedder.java:55)
       at io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors.access$100(AccessibilityViewEmbedder.java)
       at io.flutter.view.AccessibilityViewEmbedder.addChildrenToFlutterNode(AccessibilityViewEmbedder.java:9)
       at io.flutter.view.AccessibilityViewEmbedder.convertToFlutterNode(AccessibilityViewEmbedder.java:45)
       at io.flutter.view.AccessibilityViewEmbedder.getRootNode(AccessibilityViewEmbedder.java:30)
       at io.flutter.view.AccessibilityBridge.createAccessibilityNodeInfo(AccessibilityBridge.java:90)
       at android.view.View.populateVirtualStructure(View.java:8590)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.populateVirtualStructure(View.java:8593)
       at android.view.View.onProvideVirtualStructureCompat(View.java:8011)
       at android.view.View.onProvideVirtualStructure(View.java:7992)
       at android.view.View.dispatchProvideStructureForAssistOrAutofill(View.java:8658)
       at android.view.View.dispatchProvideStructure(View.java:8605)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3613)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3686)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3686)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3686)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3686)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3686)
       at android.app.assist.AssistStructure$WindowNode.<init>(AssistStructure.java:519)
       at android.app.assist.AssistStructure.<init>(AssistStructure.java:2047)
       at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:3212)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1796)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:6709)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)

@wangbo4020
Copy link

[√] Flutter (Channel stable, 1.22.6, on Microsoft Windows [Version 10.0.19041.746], locale zh-CN)
    • Flutter version 1.22.6 at D:\Development\Flutter\flutter
    • Framework revision 9b2d32b605 (2 weeks ago), 2021-01-22 14:36:39 -0800
    • Engine revision 2f0af37152
    • Dart version 2.10.5


[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at D:\Development\Android\android-sdk-windows
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = D:\Development\Android\android-sdk-windows
    • Java binary at: D:\Development\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[!] Android Studio (version 4.1.0)
    • Android Studio at D:\Development\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

Device
Brand: HUAWEI
Model: LIO-AL00
CPU ARM: arm64-v8a,armeabi-v7a,armeabi
Orientation: Portrait
RAM free: 4.77 GB
Disk free: 37.88 GB

Operating System
Version: Android 10
Orientation: Portrait
Rooted: No

log

--logversion:utracea
Process Name: 'com.myapp'
Thread Name: 'main'
Back traces starts.
java.lang.StackOverflowError: stack size 8MB
       at java.lang.reflect.Method.invoke(Method.java)
       at io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors.getChildId(AccessibilityViewEmbedder.java:532)
       at io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors.access$500(AccessibilityViewEmbedder.java:429)
       at io.flutter.view.AccessibilityViewEmbedder.addChildrenToFlutterNode(AccessibilityViewEmbedder.java:171)
       at io.flutter.view.AccessibilityViewEmbedder.convertToFlutterNode(AccessibilityViewEmbedder.java:145)
       at io.flutter.view.AccessibilityViewEmbedder.getRootNode(AccessibilityViewEmbedder.java:94)
       at io.flutter.view.AccessibilityBridge.createAccessibilityNodeInfo(AccessibilityBridge.java:549)
       at android.view.View.populateVirtualStructure(View.java:8649)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.populateVirtualStructure(View.java:8652)
       at android.view.View.onProvideVirtualStructureCompat(View.java:8070)
       at android.view.View.onProvideVirtualStructure(View.java:8051)
       at android.view.View.dispatchProvideStructureForAssistOrAutofill(View.java:8719)
       at android.view.View.dispatchProvideStructure(View.java:8666)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3484)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3557)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3557)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3557)
       at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3557)
       at android.app.assist.AssistStructure$WindowNode.<init>(AssistStructure.java:519)
       at android.app.assist.AssistStructure.<init>(AssistStructure.java:2047)
       at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:3794)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2153)
       at android.os.Handler.dispatchMessage(Handler.java:112)
       at android.os.Looper.loop(Looper.java:216)
       at android.app.ActivityThread.main(ActivityThread.java:7625)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)

@stuartmorgan stuartmorgan added the c: fatal crash Crashes that terminate the process label Apr 5, 2021
@alex-heritier
Copy link

Also getting this crash using the google_maps_flutter: ^2.0.2 plugin. Opening the app drawer then returning to my flutter app causes a crash on my device (Samsung note 9).

@stuartmorgan stuartmorgan added the P2 Important issues not at the top of the work list label Jun 29, 2021
@jangruenwaldt
Copy link

Can confirm on Android 9, Moto G6 Play, using native_admob_flutter package. Not yet sure if related to this. But since above posts suggested ads are responsible.

Fatal Exception: java.lang.StackOverflowError: stack size 8MB at java.lang.reflect.Method.invoke(Method.java) at io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors.getChildId(AccessibilityViewEmbedder.java:532) at io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors.access$500(AccessibilityViewEmbedder.java:429) at io.flutter.view.AccessibilityViewEmbedder.addChildrenToFlutterNode(AccessibilityViewEmbedder.java:171) at io.flutter.view.AccessibilityViewEmbedder.convertToFlutterNode(AccessibilityViewEmbedder.java:145) at io.flutter.view.AccessibilityViewEmbedder.getRootNode(AccessibilityViewEmbedder.java:94) at io.flutter.view.AccessibilityBridge.createAccessibilityNodeInfo(AccessibilityBridge.java:564) at android.view.View.populateVirtualStructure(View.java:8580) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.populateVirtualStructure(View.java:8583) at android.view.View.onProvideVirtualStructureCompat(View.java:8001) at android.view.View.onProvideVirtualStructure(View.java:7982) at android.view.View.dispatchProvideStructureForAssistOrAutofill(View.java:8648) at android.view.View.dispatchProvideStructure(View.java:8595) at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3475) at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3548) at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3548) at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3548) at android.view.ViewGroup.dispatchProvideStructure(ViewGroup.java:3548) at android.app.assist.AssistStructure$WindowNode.<init>(AssistStructure.java:519) at android.app.assist.AssistStructure.<init>(AssistStructure.java:2047) at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:3394) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1933) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6923) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:870)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: crash Stack traces logged to the console c: fatal crash Crashes that terminate the process d: stackoverflow Good question for Stack Overflow e: device-specific Only manifests on certain devices engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list platform-android Android applications specifically team-android Owned by Android platform team triaged-android Triaged by Android platform team
Projects
None yet
Development

No branches or pull requests