Closed Navil closed 2 years ago
Hi @Navil, Thanks for filing the issue. I am able to reproduce the crash on the stable and the master channel. The app does not crash when running on the old stable 2.8.1
version. Complete logs from different flutter versions can be found here logs.zip
Stable 2.8.1 | Stable/master 2.10.0 |
---|---|
This issue is Android-specific and works fine on IOS
A complete sample project can be found here ads_example.zip
@blasten There have been numerous cherry picks into 2.10. Has a fix for this already been applied?
Duplicate of https://github.com/flutter/flutter/issues/98155
This hasn't been cherry picked yet, but the issue is labeled accordingly. I suspect it will be cherry-picked this week.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v
and a minimal reproduction of the issue.
As mentioned in the title, I currently have an application in production that crashes since 2.10. After further investigation I figured out that the app crashed whenever a Navigation happens from a page containing Google Ads to a page containing Google Maps. I assume there are more combinations and the one I figured out is one of them.
I only tested this on Android.
Steps to Reproduce
1.) Run application 2.) Navigate to the page containing the Ad (top right corner in the App Bar) 3.) Press the "Back"-Arrow 4.) The application crashes
Expected results: The app should navigate back normally.
Actual results: The app crashes.
Code sample
```dart import 'package:example/ad.dart'; import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); MobileAds.instance.initialize(); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); // This widget is the root of your application. @override Widget build(BuildContext context) { return const MaterialApp( home: MyHomePageWidget(), ); } } class MyHomePageWidget extends StatelessWidget { const MyHomePageWidget({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Test'), actions: [ IconButton( icon: const Icon(Icons.abc), onPressed: () => Navigator.push( context, MaterialPageRoute(builder: (context) => const AdPage()), ), ) ], ), body: const GoogleMap( initialCameraPosition: CameraPosition(target: LatLng(0, 0)), )); } } import 'dart:io'; import 'package:flutter/material.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; class AdPage extends StatefulWidget { const AdPage({Key? key}) : super(key: key); @override _AdPageState createState() => _AdPageState(); } class _AdPageState extends StateLogs
``` [ +1 ms] Installing build\app\outputs\flutter-apk\app.apk... [ ] executing: D:\sdk\android\platform-tools\adb.exe -s R38MA09GF2P install -t -r D:\GitHub\example\build\app\outputs\flutter-apk\app.apk [+4325 ms] Performing Streamed Install Success [ ] Installing build\app\outputs\flutter-apk\app.apk... (completed in 4,3s) [ +1 ms] executing: D:\sdk\android\platform-tools\adb.exe -s R38MA09GF2P shell echo -n 18a2db0ed4d7fe29e34f85ed8bb6c6fcf071ff75 > /data/local/tmp/sky.com.example.example.sha1 [ +76 ms] executing: D:\sdk\android\platform-tools\adb.exe -s R38MA09GF2P shell -x logcat -v time -t 1 [+1244 ms] --------- beginning of system 02-06 14:00:09.811 D/OverlayManager( 956): commit OverlayManagerTransaction { mRequests = [] } [ +5 ms] executing: D:\sdk\android\platform-tools\adb.exe -s R38MA09GF2P shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-dart-profiling true --ez enable-checked-mode true --ez verify-entry-points true com.example.example/com.example.example.MainActivity [ +143 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.example/.MainActivity (has extras) } [ ] Waiting for observatory port to be available... [+1328 ms] Observatory URL on device: http://127.0.0.1:35519/pANn1PblYfc=/ [ +1 ms] executing: D:\sdk\android\platform-tools\adb.exe -s R38MA09GF2P forward tcp:0 tcp:35519 [ +30 ms] 53055 [ ] Forwarded host port 53055 to device port 35519 for Observatory [ +4 ms] Caching compiled dill [ +29 ms] Connecting to service protocol: http://127.0.0.1:53055/pANn1PblYfc=/ [ +231 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at http://127.0.0.1:53055/pANn1PblYfc=/. [ +145 ms] DDS is listening at http://127.0.0.1:53060/IlWxeUamw1w=/. [ +36 ms] Successfully connected to service protocol: http://127.0.0.1:53055/pANn1PblYfc=/ [ +92 ms] DevFS: Creating new filesystem on the device (null) [ +34 ms] DevFS: Created new filesystem on the device (file:///data/user/0/com.example.example/code_cache/exampleNKIMJI/example/) [ +2 ms] Updating assets [ +61 ms] Syncing files to device SM G970F... [ +1 ms] <- reset [ ] Compiling dart to kernel with 0 updated files [ ] Processing bundle. [ ] <- recompile package:example/main.dart fe72b7ac-071d-42c1-843e-b5a918184668 [ ] <- fe72b7ac-071d-42c1-843e-b5a918184668 [ +1 ms] Bundle processing done. [ +3 ms] I/DynamiteModule( 8755): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404 [ ] I/DynamiteModule( 8755): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404 [ ] D/DynamitePackage( 8755): Instantiated singleton DynamitePackage. [ ] D/DynamitePackage( 8755): Instantiating com.google.android.gms.ads.ChimeraMobileAdsSettingManagerCreatorImpl [ ] D/ConnectivityManager( 8755): StackLog: [android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:3925)] [android.net.ConnectivityManager.registerDefaultNetworkCallbackForUid(ConnectivityManager.java:4489)] [android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:4456)] [android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:4430)] [com.google.android.gms.ads.nonagon.a.a(:com.google.android.gms.policy_ads_fdr_dynamite@214106404@214106404057.409717972.409717972:17)] [com.google.android.gms.ads.ChimeraMobileAdsSettingManagerCreatorImpl.getMobileAdsSettingManager(:com.google.android.gms.policy_ads_fdr_dynamite@214106404@214106404057.409717972.409717972:5)] [com.google.android.gms.ads.internal.client.bu.bR(:com.google.android.gms.policy_ads_fdr_dynamite@214106404@214106404057.409717972.409717972:3)] [ahn.onTransact(:com.google.android.gms.policy_ads_fdr_dynamite@214106404@214106404057.409717972.409717972:4)] [ +2 ms] I/Ads ( 8755): Updating ad debug logging enablement. [ ] W/ConnectionStatusConfig( 8755): Dynamic lookup for intent failed for action: com.google.android.gms.leibniz.events.service.START [ +6 ms] W/GmsClient( 8755): unable to connect to service: com.google.android.gms.leibniz.events.service.START on com.google.android.gms [ +43 ms] I/WebViewFactory( 8755): Loading com.google.android.webview version 97.0.4692.98 (code 469209833) [ +4 ms] Updating files. [ ] DevFS: Sync finished [ +1 ms] Syncing files to device SM G970F... (completed in 68ms) [ ] Synced 0.0MB. [ +1 ms] <- accept [ +4 ms] Connected to _flutterView/0x74f64ad730. [ +2 ms] Flutter run key commands. [ +1 ms] r Hot reload. [ ] R Hot restart. [ ] h List all available interactive commands. [ ] d Detach (terminate "flutter run" but leave application running). [ ] c Clear the screen [ ] q Quit (terminate the application on the device). [ ] Running with sound null safety [ ] An Observatory debugger and profiler on SM G970F is available at: http://127.0.0.1:53060/IlWxeUamw1w=/ [ +39 ms] I/example.exampl( 8755): Waiting for a blocking GC ClassLinker [ +8 ms] I/example.exampl( 8755): WaitForGcToComplete blocked ClassLinker on Background for 6.065ms [ +2 ms] W/example.exampl( 8755): Accessing hidden method Landroid/os/Trace;->isTagEnabled(J)Z (unsupported, reflection, allowed) [ ] W/example.exampl( 8755): Accessing hidden method Landroid/os/Trace;->traceBegin(JLjava/lang/String;)V (unsupported, reflection, allowed) [ ] W/example.exampl( 8755): Accessing hidden method Landroid/os/Trace;->traceEnd(J)V (unsupported, reflection, allowed) [ ] W/example.exampl( 8755): Accessing hidden method Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V (unsupported, reflection, allowed) [ ] W/example.exampl( 8755): Accessing hidden method Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V (unsupported, reflection, allowed) [ +5 ms] I/cr_WVCFactoryProvider( 8755): Loaded version=97.0.4692.98 minSdkVersion=29 isBundle=true multiprocess=true packageId=2 [ +26 ms] I/cr_LibraryLoader( 8755): Successfully loaded native library [ ] I/cr_CachingUmaRecorder( 8755): Flushed 9 samples from 9 histograms. [ +131 ms] D/CompatibilityChangeReporter( 8755): Compat change id reported: 171228096; UID 10539; state: ENABLED [ +9 ms] D/ConnectivityManager( 8755): StackLog: [android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:3925)] [android.net.ConnectivityManager.registerDefaultNetworkCallbackForUid(ConnectivityManager.java:4489)] [android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:4456)] [k00.e(Unknown Source:29)] [ua.a(Unknown Source:0)] [org.chromium.android_webview.AwContentsLifecycleNotifier.onFirstWebViewCreated(Unknown Source:23)] [J.N.MFiR_zHY(Native Method)] [org.chromium.android_webview.AwContents.https://user-images.githubusercontent.com/3436399/152682481-1d1aea10-f6e8-4e17-beca-0a058b0b5fed.mp4