googleads / googleads-mobile-flutter

A Flutter plugin for the Google Mobile Ads SDK
Apache License 2.0
340 stars 284 forks source link

Fatal Exception: java.lang.LinkageError #471

Closed duck-dev-go closed 1 year ago

duck-dev-go commented 2 years ago

Firebase crash analytics is reporting the following error on android devices

Fatal Exception: java.lang.LinkageError: Method java.lang.Object com.google.android.gms.internal.ads.jo3.zzb() overrides final method in class Lcom/google/android/gms/internal/ads/bo3; (declaration of 'com.google.android.gms.internal.ads.jo3' appears in base.apk)
       at com.google.android.gms.internal.ads.zzcpr.<init>(zzcpr.java:310)
       at com.google.android.gms.internal.ads.zzcpq.zza(zzcpq.java:103)
       at com.google.android.gms.internal.ads.zzevk.zza(zzevk.java:365)
       at com.google.android.gms.internal.ads.zzeke.zzN(zzeke.java:58)
       at com.google.android.gms.internal.ads.zzeke.zze(zzeke.java:6)
       at com.google.android.gms.internal.ads.zzbhd.zzg(zzbhd.java:203)
       at com.google.android.gms.ads.BaseAdView.loadAd(BaseAdView.java:6)
       at io.flutter.plugins.googlemobileads.FlutterBannerAd.load(FlutterBannerAd.java:60)
       at io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall(GoogleMobileAdsPlugin.java:737)
       at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:17)
       at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:18)
       at io.flutter.embedding.engine.dart.DartMessenger.lambda$handleMessageFromDart$0(DartMessenger.java:20)
       at io.flutter.embedding.engine.dart.DartMessenger.lambda$handleMessageFromDart$0$DartMessenger(DartMessenger.java)
       at io.flutter.embedding.engine.dart.-$$Lambda$DartMessenger$6ZD1MYkhaLxyPjtoFDxe45u43DI.run(-.java:12)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:246)
       at android.app.ActivityThread.main(ActivityThread.java:8550)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

This is the line it errors on

at io.flutter.plugins.googlemobileads.FlutterBannerAd.load(FlutterBannerAd.java:60)

on the following devices

image

Im am using google_mobile_ads google_mobile_ads: ^1.0.1

and Flutter 2.8.0

Edit:

This is our statefull widget

class MyBannerAd extends StatefulWidget {
  const MyBannerAd();

  @override
  _MyBannerAdState createState() => _MyBannerAdState();
}

class _MyBannerAdState extends State<MyBannerAd> {
  late AdSize adSize;
  late AdMobRepository adRepository;
  late AnalyticsRepository analyticsRepository;
  bool adLoaded = false;
  BannerAd? anchoredBanner;

  @override
  void initState() {
    super.initState();
    adRepository = context.read<AdMobRepository>();
    analyticsRepository = context.read<AnalyticsRepository>();

    if (SizerUtil.deviceType != DeviceType.mobile && SizerUtil.orientation == Orientation.portrait) {
      adSize = AdSize.leaderboard;
    } else {
      adSize = AdSize.largeBanner;
    }

    final bannerAd = adRepository.getBannerAd(
      size: adSize,
      onFailedLoad: (ad, error) {
        print('banner ad failed to load: $error');
        ad.dispose();
      },
      onLoad: (ad) {
        setState(() {
          adLoaded = true;
          anchoredBanner = ad as BannerAd?;
        });
      },
      onAdImpression: (_) {
        analyticsRepository.sendBannerAdShownEvent();
      },
      onAdOpened: (_) {
        analyticsRepository.sendBannerAdClickEvent();
      },
    );

    bannerAd.load();
  }

  @override
  void dispose() {
    super.dispose();
    anchoredBanner?.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return BlocBuilder<SubscriptionBloc, SubscriptionState>(
      builder: (context, state) {
        final isLoaded = !adLoaded;

        if (isLoaded || state.hasSubscribed || anchoredBanner == null) return SizedBox.shrink();

        return Container(
          color: Colors.transparent,
          width: anchoredBanner!.size.width.toDouble(),
          height: anchoredBanner!.size.height.toDouble(),
          child: Center(
            child: Container(
              color: Colors.white,
              child: AdWidget(
                ad: anchoredBanner!,
              ),
            ),
          ),
        );
      },
    );
  }
}

And this is the repo

class AdMobRepository {
  late String _releaseBannerAdId;
  late String _releaseInterstitualAdId;
  late String _releaseRewardedAdId;

  AdMobRepository() {
    if (Platform.isAndroid) {
      _releaseBannerAdId = Constants.androidBannedAdId;
      _releaseInterstitualAdId = Constants.androidInterstitualAdId;
      _releaseRewardedAdId = Constants.androidRewardedAdId;
    } else if (Platform.isIOS) {
      _releaseBannerAdId = Constants.iosBannerAdId;
      _releaseInterstitualAdId = Constants.iosInterstitualAdId;
      _releaseRewardedAdId = Constants.iosRewardedAdId;
    } else {
      _releaseBannerAdId = "";
      _releaseInterstitualAdId = "";
      _releaseRewardedAdId = "";
    }
  }

  BannerAd getBannerAd({
    required AdSize size,
    void Function(Ad, LoadAdError)? onFailedLoad,
    void Function(Ad)? onLoad,
    void Function(Ad)? onAdOpened,
    void Function(Ad)? onAdImpression,
  }) {
    return BannerAd(
      adUnitId: kReleaseMode ? _releaseBannerAdId : BannerAd.testAdUnitId,
      request: AdRequest(),
      size: size,
      listener: BannerAdListener(
        onAdFailedToLoad: onFailedLoad ?? onFailedLoadFallback,
        onAdLoaded: onLoad,
        onAdImpression: onAdImpression,
        onAdOpened: onAdOpened,
      ),
    );
  }

  void onFailedLoadFallback(Ad ad, LoadAdError error) {
    ad.dispose();
  }

  void getInterstitualAd({required void Function(LoadAdError) onFailedLoad, void Function(InterstitialAd)? onLoad}) {
    InterstitialAd.load(
      adUnitId: kReleaseMode ? _releaseInterstitualAdId : InterstitialAd.testAdUnitId,
      request: AdRequest(),
      adLoadCallback: InterstitialAdLoadCallback(
        onAdLoaded: onLoad ?? onInterstitialAdLoadedFallback,
        onAdFailedToLoad: onFailedLoad,
      ),
    );
  }

  void onInterstitialAdLoadedFallback(InterstitialAd ad) {
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdDismissedFullScreenContent: (ad) => ad.dispose(),
      onAdFailedToShowFullScreenContent: (ad, error) => ad.dispose(),
    );
  }

  void getRewardAd({required String userId, required void Function(LoadAdError) onFailedLoad, void Function(RewardedAd)? onLoad}) {
    RewardedAd.load(
      adUnitId: kReleaseMode ? _releaseRewardedAdId : RewardedAd.testAdUnitId,
      request: AdRequest(),
      rewardedAdLoadCallback: RewardedAdLoadCallback(
        onAdLoaded: onLoad ?? onRewardedAdLoadedFallback,
        onAdFailedToLoad: onFailedLoad,
      ),
      serverSideVerificationOptions: ServerSideVerificationOptions(userId: userId),
    );
  }

  void onRewardedAdLoadedFallback(RewardedAd ad) {
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdDismissedFullScreenContent: (ad) => ad.dispose(),
      onAdFailedToShowFullScreenContent: (ad, error) => ad.dispose(),
    );
  }
}
duck-dev-go commented 2 years ago

We have about 20000 DAU and this is happening frequently for 67 of them. Our client is pushing us on this issue. I hope I can provide more info with this more detailed stack trace. Again this is only happening on android devices.

image

logs ``` Fatal Exception: java.lang.LinkageError: Method java.lang.Object com.google.android.gms.internal.ads.jo3.zzb() overrides final method in class Lcom/google/android/gms/internal/ads/bo3; (declaration of 'com.google.android.gms.internal.ads.jo3' appears in base.apk) at com.google.android.gms.internal.ads.zzcpr.(zzcpr.java:310) at com.google.android.gms.internal.ads.zzcpq.zza(zzcpq.java:103) at com.google.android.gms.internal.ads.zzevk.zza(zzevk.java:365) at com.google.android.gms.internal.ads.zzeke.zzN(zzeke.java:58) at com.google.android.gms.internal.ads.zzeke.zze(zzeke.java:6) at com.google.android.gms.internal.ads.zzbhd.zzg(zzbhd.java:203) at com.google.android.gms.ads.BaseAdView.loadAd(BaseAdView.java:6) at io.flutter.plugins.googlemobileads.FlutterBannerAd.load(FlutterBannerAd.java:60) at io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall(GoogleMobileAdsPlugin.java:737) at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:17) at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:18) at io.flutter.embedding.engine.dart.DartMessenger.lambda$handleMessageFromDart$0(DartMessenger.java:20) at io.flutter.embedding.engine.dart.DartMessenger.lambda$handleMessageFromDart$0$DartMessenger(DartMessenger.java) at io.flutter.embedding.engine.dart.-$$Lambda$DartMessenger$6ZD1MYkhaLxyPjtoFDxe45u43DI.run(-.java:12) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:7000) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408) GAC_Executor[0] at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at LU.run(LU.java:5) at java.lang.Thread.run(Thread.java:764) grpc-default-executor-0 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) GAC_Executor[1] at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at LU.run(LU.java:5) at java.lang.Thread.run(Thread.java:764) pool-21-thread-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) WM.task-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) AdWorker(Default) #1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) com.google.firebase.crashlytics.startup1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5) at java.lang.Thread.run(Thread.java:764) AsyncTask #3 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Measurement Worker at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:422) at com.google.android.gms.measurement.internal.zzfr.run(zzfr.java:73) AsyncTask #4 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) ScionFrontendApi at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) FinalizerWatchdogDaemon at java.lang.Thread.sleep(Thread.java) at java.lang.Thread.sleep(Thread.java:373) at java.lang.Thread.sleep(Thread.java:314) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:342) at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:364) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:281) at java.lang.Daemons$Daemon.run(Daemons.java:103) at java.lang.Thread.run(Thread.java:764) ReferenceQueueDaemon at java.lang.Object.wait(Object.java) at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:178) at java.lang.Daemons$Daemon.run(Daemons.java:103) at java.lang.Thread.run(Thread.java:764) OkHttp ConnectionPool at java.lang.Object.wait(Object.java) at okhttp3.ConnectionPool$1.run(ConnectionPool.java:36) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Firebase-Messaging-Topics-Io at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at com.google.android.gms.common.util.concurrent.zza.run(zza.java:6) at java.lang.Thread.run(Thread.java:764) OkHttp europe-west1-new-wordcrex.cloudfunctions.net at com.android.org.conscrypt.NativeCrypto.SSL_read(NativeCrypto.java) at com.android.org.conscrypt.SslWrapper.read(SslWrapper.java:391) at com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read(ConscryptFileDescriptorSocket.java:567) at okio.Okio$2.read(Okio.java:35) at okio.AsyncTimeout$2.read(AsyncTimeout.java:7) at okio.RealBufferedSource.request(RealBufferedSource.java:22) at okio.RealBufferedSource.require(RealBufferedSource.java) at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.java:5) at okhttp3.internal.http2.Http2Connection$ReaderRunnable.execute(Http2Connection.java:10) at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:17) at java.lang.Thread.run(Thread.java:764) AsyncTask #2 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) GoogleApiHandler at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) AdWorker(Default) #3 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-15-thread-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) AdWorker(Default) #4 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-22-thread-2 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) firebase-installations-executor-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-14-thread-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) OkHttp Dispatcher at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) ConnectivityThread at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) PlayBillingLibrary-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) OkHttp europe-west1-new-wordcrex.cloudfunctions.net Writer at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) grpc-okhttp-0 at libcore.io.Linux.connect(Linux.java) at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:126) at libcore.io.IoBridge.connectErrno(IoBridge.java:152) at libcore.io.IoBridge.connect(IoBridge.java:130) at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:129) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:356) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:357) at java.net.Socket.connect(Socket.java:616) at java.net.Socket.connect(Socket.java:565) at java.net.Socket.(Socket.java:445) at java.net.Socket.(Socket.java:248) at javax.net.DefaultSocketFactory.createSocket(DefaultSocketFactory.java:285) at io.grpc.okhttp.OkHttpClientTransport$4.run(OkHttpClientTransport.java:54) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:17) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) WM.task-2 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) flutter-worker-2 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) com.it_nomads.fluttersecurestorage.worker at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) pool-19-thread-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) OkHttp Http2Connection at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Okio Watchdog at java.lang.Object.wait(Object.java) at okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:56) at okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:3) JavaBridge at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) GoogleApiHandler at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) AsyncTask #3 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:402) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) grpc-default-executor-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) flutter-worker-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) CleanupReference at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:422) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209) at aif.run(aif.java:3) Chrome_ProcessLauncherThread at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) AdWorker(Default) #2 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-22-thread-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) flutter-worker-0 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) FinalizerDaemon at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:422) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:232) at java.lang.Daemons$Daemon.run(Daemons.java:103) at java.lang.Thread.run(Thread.java:764) pool-13-thread-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) TokenRefresher at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) OkHttp ConnectionPool at java.lang.Object.wait(Object.java) at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:101) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-22-thread-4 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) grpc-timer-0 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) AsyncTask #1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-22-thread-3 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) AdWorker(NG) #1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) AsyncTask #2 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:402) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-4-thread-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-16-thread-1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) AsyncTask #1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:402) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) FirestoreWorker at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:15) at java.lang.Thread.run(Thread.java:764) awaitEvenIfOnMainThread task continuation executor1 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5) at java.lang.Thread.run(Thread.java:764) queued-work-looper at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) Firebase-Messaging-Init at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at com.google.android.gms.common.util.concurrent.zza.run(zza.java:6) at java.lang.Thread.run(Thread.java:764) firebase-installations-executor-2 at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) com.it_nomads.fluttersecurestorage.worker at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) Crashlytics Exception Handler1 at dalvik.system.VMStack.getThreadStackTrace(VMStack.java) at java.lang.Thread.getStackTrace(Thread.java:1538) at java.lang.Thread.getAllStackTraces(Thread.java:1588) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateThreadsList(CrashlyticsReportDataCapture.java:16) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:4) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:43) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:42) at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:19) at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:32) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:48) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java) at com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker$3.then(CrashlyticsBackgroundWorker.java:2) at com.google.android.gms.tasks.zze.run(zze.java:8) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5) at java.lang.Thread.run(Thread.java:764) ```
maheshj01 commented 2 years ago

Hi @michael-ottink, Thanks for filing the issue. Were you able to reproduce the issue locally on your Android device if yes can you share steps to reproduce the issue?

Thanks

duck-dev-go commented 2 years ago

Hi @maheshmnj we tried, and we manged to to get a crash on a Huawei phone. But doing the exact same thing with the exact same code does not reproduce the issue.

We see that it almost always happens on app startup. The home screen is loaded which has the banner widget. It is then that the app crashes. If you then restart the app everything works as expected, without any adjustment in our codebase.

I added code to my post

duck-dev-go commented 2 years ago

It errors on this line

at io.flutter.plugins.googlemobileads.FlutterBannerAd.load(FlutterBannerAd.java:60)

logging

Fatal Exception: java.lang.LinkageError
Method java.lang.Object com.google.android.gms.internal.ads.jo3.zzb() overrides final method in class Lcom/google/android/gms/internal/ads/bo3; (declaration of 'com.google.android.gms.internal.ads.jo3' appears in base.apk)
amanv8060 commented 2 years ago

Same crash for me also , we only use one banner ad in the entire app

Crashlytics log > Fatal Exception: java.lang.LinkageError: Method java.lang.Object com.google.android.gms.internal.ads.jo3.a() overrides final method in class Lcom/google/android/gms/internal/ads/bo3; (declaration of 'com.google.android.gms.internal.ads.jo3' appears in /data/app/news.x.breaking.news.browser-M034RpcgCiyE4vf3Mg2xYg==/base.apk) at com.google.android.gms.internal.ads.zzcpr.(zzcpr.java:310) at com.google.android.gms.internal.ads.zzcpq.zza(zzcpq.java:103) at com.google.android.gms.internal.ads.zzevk.zza(zzevk.java:365) at com.google.android.gms.internal.ads.zzeke.zzN(zzeke.java:58) at com.google.android.gms.internal.ads.zzeke.zze(zzeke.java:6) at com.google.android.gms.internal.ads.zzbhd.zzg(zzbhd.java:203) at com.google.android.gms.ads.BaseAdView.loadAd(BaseAdView.java:6) at io.flutter.plugins.googlemobileads.FlutterBannerAd.load(FlutterBannerAd.java:60) at io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall(GoogleMobileAdsPlugin.java:737) at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:17) at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:49) at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:4) at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.app.ActivityThread.main(ActivityThread.java:6523) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
droplet-js commented 2 years ago

i have same issue

maheshj01 commented 2 years ago

Everyone who is able to reproduce the issue, It would be great if anyone can point out the steps to reproduce the issue and also share the device on which the crash occurred.

duck-dev-go commented 2 years ago

I have not yet been able to reproduce it in a way where I have clear guided steps, it seems to happen at random when you start the app. but I see it almost always happen on the following devices

Samsung Galaxy S8 Samsung Galaxy S8+ Samsung Galaxy A8 Samsung Galaxy S9+ Huawei p20 lite Sony Xperia XZ1 Compact

And 59% has android 9 installed

image

pyaehein commented 2 years ago

It's happened on me before. Because I used mediation network plugins and those are not compatible with this plugin's version. So, I carefully fixed the network plugin versions. And problem solved.

zioghira commented 2 years ago

Same chrash for me:

Fatal Exception: java.lang.LinkageError: Method java.lang.Object com.google.android.gms.internal.ads.jo3.zzb() overrides final method in class Lcom/google/android/gms/internal/ads/bo3; (declaration of 'com.google.android.gms.internal.ads.jo3' appears in /data/app/com.easypatente.quizpatente-xCeV0TKRrjeieZaKLyA7Vw==/base.apk) at com.google.android.gms.internal.ads.zzcpq.zza(zzcpq.java:44) at com.google.android.gms.internal.ads.zzevk.zza(zzevk.java:365) at com.google.android.gms.internal.ads.zzeke.zzN(zzeke.java:58) at com.google.android.gms.internal.ads.zzeke.zze(zzeke.java:6) at com.google.android.gms.internal.ads.zzbhd.zzg(zzbhd.java:203) at com.google.android.gms.ads.BaseAdView.loadAd(BaseAdView.java:6) at io.flutter.plugins.googlemobileads.FlutterBannerAd.load(FlutterBannerAd.java:60) at io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall(GoogleMobileAdsPlugin.java:737) at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:17) at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:18) at io.flutter.embedding.engine.dart.DartMessenger.lambda$handleMessageFromDart$0(DartMessenger.java:20) at io.flutter.embedding.engine.dart.DartMessenger.lambda$handleMessageFromDart$0$DartMessenger(DartMessenger.java) at io.flutter.embedding.engine.dart.-$$Lambda$DartMessenger$6ZD1MYkhaLxyPjtoFDxe45u43DI.run(-.java:12) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:7948) 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:1075)

using google_mobile_ads: ^1.0.1

on devices: Xiaomi:

Samsung:

HUAWEI:

maheshj01 commented 2 years ago

Is this issue reproducible when running locally? I haven't been able to reproduce this issue yet.

amanv8060 commented 2 years ago

haven't been able to reproduce it locally yet, but seeing it in crashlytics

jay-benzatine commented 2 years ago

image

I also face this issue !!

maheshj01 commented 2 years ago

Thanks for the info, this looks like a production bug.

Do-Repo commented 2 years ago

I'm having this error on release build on a Huawei gr5 2017 and on Google plays testing device Nokia Nokia 1 image

E/AndroidRuntime(21244): FATAL EXCEPTION: main E/AndroidRuntime(21244): Process: com.appname, PID: 21244 E/AndroidRuntime(21244): java.lang.LinkageError: Method java.lang.Object com.google.android.gms.internal.ads.jo3.a() overrides final method in class Lcom/google/android/gms/internal/ads/bo3; (declaration of 'com.google.android.gms.internal.ads.jo3' appears in /data/app/com.appname-1/base.apk) E/AndroidRuntime(21244): at com.google.android.gms.internal.ads.ru0.<init>() E/AndroidRuntime(21244): at com.google.android.gms.internal.ads.qu0.zza() E/AndroidRuntime(21244): at com.google.android.gms.internal.ads.ri2.b() E/AndroidRuntime(21244): at com.google.android.gms.internal.ads.b72.N5() E/AndroidRuntime(21244): at com.google.android.gms.internal.ads.b72.t0() E/AndroidRuntime(21244): at com.google.android.gms.internal.ads.uw.j() E/AndroidRuntime(21244): at com.google.android.gms.ads.k.b() E/AndroidRuntime(21244): at io.flutter.plugins.googlemobileads.q.e() E/AndroidRuntime(21244): at io.flutter.plugins.googlemobileads.f0.onMethodCall() E/AndroidRuntime(21244): at e.a.c.a.j$a.a() E/AndroidRuntime(21244): at io.flutter.embedding.engine.f.b.e() E/AndroidRuntime(21244): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage() E/AndroidRuntime(21244): at android.os.MessageQueue.nativePollOnce(Native Method) E/AndroidRuntime(21244): at android.os.MessageQueue.next(MessageQueue.java:359) E/AndroidRuntime(21244): at android.os.Looper.loop(Looper.java:138) E/AndroidRuntime(21244): at android.app.ActivityThread.main(ActivityThread.java:6531) E/AndroidRuntime(21244): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(21244): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941) E/AndroidRuntime(21244): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)

greymag commented 2 years ago

Can't reproduce locally, but it's happens on the release builds in 2 variants:

  1. Android 11, 12, 7.1, 8
java.lang.LinkageError: 
  at com.google.android.gms.internal.ads.zzcqd.<init> (zzcqd.java:307)
  at com.google.android.gms.internal.ads.zzcqc.zza (zzcqc.java:66)
  at com.google.android.gms.internal.ads.zzexc.zza (zzexc.java:297)
  at com.google.android.gms.internal.ads.zzelg.zze (zzelg.java:75)
  at com.google.android.gms.internal.ads.zzelg.zzP (zzelg.java:5)
  at com.google.android.gms.internal.ads.zzbrw.zza (zzbrw.java:28)
  at com.google.android.gms.ads.interstitial.InterstitialAd.load (InterstitialAd.java:29)
  at io.flutter.plugins.googlemobileads.FlutterAdLoader.loadInterstitial (FlutterAdLoader.java:2)
  at io.flutter.plugins.googlemobileads.FlutterInterstitialAd.load (FlutterInterstitialAd.java:23)
  at io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall (GoogleMobileAdsPlugin.java:1362)
  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage (MethodChannel.java:17)
  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart (DartMessenger.java:49)
  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage (FlutterJNI.java:4)
  at android.os.MessageQueue.nativePollOnce (Native Method)
  at android.os.MessageQueue.next (MessageQueue.java:335)
  at android.os.Looper.loop (Looper.java:194)
  at android.app.ActivityThread.main (ActivityThread.java:8126)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:656)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:967)

Screen Shot on 2022-01-10 at 11:26:44

  1. Android 10, 9, little 11
java.lang.LinkageError: 
  at com.google.android.gms.internal.ads.zzcqc.zza (zzcqc.java:23)
  at com.google.android.gms.internal.ads.zzexc.zza (zzexc.java:297)
  at com.google.android.gms.internal.ads.zzelg.zze (zzelg.java:75)
  at com.google.android.gms.internal.ads.zzelg.zzP (zzelg.java:5)
  at com.google.android.gms.internal.ads.zzbrw.zza (zzbrw.java:28)
  at com.google.android.gms.ads.interstitial.InterstitialAd.load (InterstitialAd.java:29)
  at io.flutter.plugins.googlemobileads.FlutterAdLoader.loadInterstitial (FlutterAdLoader.java:2)
  at io.flutter.plugins.googlemobileads.FlutterInterstitialAd.load (FlutterInterstitialAd.java:23)
  at io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall (GoogleMobileAdsPlugin.java:1362)
  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage (MethodChannel.java:17)
  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart (DartMessenger.java:49)
  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage (FlutterJNI.java:4)
  at android.os.MessageQueue.nativePollOnce (Native Method)
  at android.os.MessageQueue.next (MessageQueue.java:363)
  at android.os.Looper.loop (Looper.java:173)
  at android.app.ActivityThread.main (ActivityThread.java:8178)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1101)

Screenshot 2022-01-10 at 11 28 06

Total

Totally about 1% of DAU gets the error. As a result - app crashes.

Screenshot 2022-01-10 at 11 29 14 Screenshot 2022-01-10 at 11 29 22

lucascardo12 commented 2 years ago

hi, i have the same problem with the full screen ad.

princesanjivy commented 2 years ago

I too facing the same issue but only with Android 10 and below. No issue in Android 11 and 12. I guess one of the method in not supported in the lower version and this cause the error.

getmmg commented 2 years ago

Hi,

I too have hundreds of crash everyday Mostly for Android 9 and 10.

MaherSafadii commented 2 years ago

so, did anyone find the problem, or a solution to it?

zioghira commented 2 years ago

i was able to reproduce using Firebase test lab with device Redmi 6A, API 27

web-build_2022-01-16T17_21_01_redmi_6a_fail.txt

and Nokia 1, API 27 web-build_2022-01-16T17_21_01_Nokia1_fail.txt

App take a huge amount of times to load and crash as soon the first ad try to load

MaherSafadii commented 2 years ago

thats what i thought happened, because one of my users send me a screenshot of him getting a notification after the crash saying that the app is using a lot of power.

yyyy-ltd commented 2 years ago

someone tried to downgrade?

Pielgrin commented 2 years ago

someone tried to downgrade?

@yyyy-ltd I have the same issue and I tried to downgrade to 1.0.0 and 0.13.6 but it's not working

Pielgrin commented 2 years ago

I fixed it ! For me the solution was to update app/build.gradle and explicitly this line :

classpath 'com.android.tools.build:gradle:4.1.1' to classpath 'com.android.tools.build:gradle:4.2.2'

MaherSafadii commented 2 years ago

someone tried to downgrade?

@yyyy-ltd I have the same issue and I tried to downgrade to 1.0.0 and 0.13.6 but it's not working

when i downgraded to 0.13.6 it got fixed, but i used to use a forked version that removes the lag which doesnt work when i downgraded so the lag is back, i will try the gradle version change as you did and see if it gets fixed or not.

ragokan commented 2 years ago

I am having a similar error in some of our users. image

They get this error. This error happens on only some of old Android devices, as the below one shows.

Can't reproduce locally, but it's happens on the release builds in 2 variants:

  1. Android 11, 12, 7.1, 8
java.lang.LinkageError: 
  at com.google.android.gms.internal.ads.zzcqd.<init> (zzcqd.java:307)
  at com.google.android.gms.internal.ads.zzcqc.zza (zzcqc.java:66)
  at com.google.android.gms.internal.ads.zzexc.zza (zzexc.java:297)
  at com.google.android.gms.internal.ads.zzelg.zze (zzelg.java:75)
  at com.google.android.gms.internal.ads.zzelg.zzP (zzelg.java:5)
  at com.google.android.gms.internal.ads.zzbrw.zza (zzbrw.java:28)
  at com.google.android.gms.ads.interstitial.InterstitialAd.load (InterstitialAd.java:29)
  at io.flutter.plugins.googlemobileads.FlutterAdLoader.loadInterstitial (FlutterAdLoader.java:2)
  at io.flutter.plugins.googlemobileads.FlutterInterstitialAd.load (FlutterInterstitialAd.java:23)
  at io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall (GoogleMobileAdsPlugin.java:1362)
  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage (MethodChannel.java:17)
  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart (DartMessenger.java:49)
  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage (FlutterJNI.java:4)
  at android.os.MessageQueue.nativePollOnce (Native Method)
  at android.os.MessageQueue.next (MessageQueue.java:335)
  at android.os.Looper.loop (Looper.java:194)
  at android.app.ActivityThread.main (ActivityThread.java:8126)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:656)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:967)

Screen Shot on 2022-01-10 at 11:26:44

  1. Android 10, 9, little 11
java.lang.LinkageError: 
  at com.google.android.gms.internal.ads.zzcqc.zza (zzcqc.java:23)
  at com.google.android.gms.internal.ads.zzexc.zza (zzexc.java:297)
  at com.google.android.gms.internal.ads.zzelg.zze (zzelg.java:75)
  at com.google.android.gms.internal.ads.zzelg.zzP (zzelg.java:5)
  at com.google.android.gms.internal.ads.zzbrw.zza (zzbrw.java:28)
  at com.google.android.gms.ads.interstitial.InterstitialAd.load (InterstitialAd.java:29)
  at io.flutter.plugins.googlemobileads.FlutterAdLoader.loadInterstitial (FlutterAdLoader.java:2)
  at io.flutter.plugins.googlemobileads.FlutterInterstitialAd.load (FlutterInterstitialAd.java:23)
  at io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall (GoogleMobileAdsPlugin.java:1362)
  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage (MethodChannel.java:17)
  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart (DartMessenger.java:49)
  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage (FlutterJNI.java:4)
  at android.os.MessageQueue.nativePollOnce (Native Method)
  at android.os.MessageQueue.next (MessageQueue.java:363)
  at android.os.Looper.loop (Looper.java:173)
  at android.app.ActivityThread.main (ActivityThread.java:8178)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1101)

Screenshot 2022-01-10 at 11 28 06

Total

Totally about 1% of DAU gets the error. As a result - app crashes.

Screenshot 2022-01-10 at 11 29 14 Screenshot 2022-01-10 at 11 29 22

EArminjon commented 2 years ago

I fixed it ! For me the solution was to update app/build.gradle and explicitly this line :

classpath 'com.android.tools.build:gradle:4.1.1' to classpath 'com.android.tools.build:gradle:4.2.2'

I will try ty ! Since I've downgraded from 4.2.0 to 4.1.0 I got this issue. I think it was related to flutter 2.10.1 but maybe not ;) !

zioghira commented 2 years ago

I fixed it ! For me the solution was to update app/build.gradle and explicitly this line :

classpath 'com.android.tools.build:gradle:4.1.1' to classpath 'com.android.tools.build:gradle:4.2.2'

I also fixed it !

I have changed classpath 'com.android.tools.build:gradle:4.1.0' to classpath "com.android.tools.build:gradle:7.0.4" in app/build.gradle

changed distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip to distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip in android/gradle/wrapper/gradle-wrapper.properties

added

android:exported="true"

in

     <activity
         android:name=".MainActivity"
         android:launchMode="singleTop"
         android:theme="@style/LaunchTheme"
       android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
         android:hardwareAccelerated="true"
         android:exported="true">
         <intent-filter>
             <action android:name="android.intent.action.MAIN"/>
             <category android:name="android.intent.category.LAUNCHER"/>
         </intent-filter>
     </activity>

in android/app/src/main/AndroidManifest.xml

atelog commented 2 years ago

@zioghira Which version of flutter and google_mobile_ads are you using?

EArminjon commented 2 years ago

I fixed it ! For me the solution was to update app/build.gradle and explicitly this line : classpath 'com.android.tools.build:gradle:4.1.1' to classpath 'com.android.tools.build:gradle:4.2.2'

I also fixed it !

I have changed classpath 'com.android.tools.build:gradle:4.1.0' to classpath "com.android.tools.build:gradle:7.0.4" in app/build.gradle

changed distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip to distributionUrl=https://services.gradle.org/distributions/gradle-7.0.2-bin.zip in android/gradle/wrapper/gradle-wrapper.properties

added

android:exported="true"

in

     <activity
         android:name=".MainActivity"
         android:launchMode="singleTop"
         android:theme="@style/LaunchTheme"
       android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
         android:hardwareAccelerated="true"
         android:exported="true">
         <intent-filter>
             <action android:name="android.intent.action.MAIN"/>
             <category android:name="android.intent.category.LAUNCHER"/>
         </intent-filter>
     </activity>

in android/app/src/main/AndroidManifest.xml

As many flutter dev we didn't know which version of gradle use. Could be cool to have an official annoncement around that.. What's the difference between com.android.tools.build:gradle:4.2.2 and com.android.tools.build:gradle:7.0.4 ? Pros & Cons ?

zioghira commented 2 years ago

@zioghira Which version of flutter and google_mobile_ads are you using?

flutter: 2.8.1 google_mobile_ads: ^1.0.1

i published app update 3 weeks ago and i don't see anymore this crash in Crashlytics

zioghira commented 2 years ago

@EArminjon I have tried to use Gradle 7.0.4 because it was the Gradle version used by new project in Android Studio Arctic Fox | 2020.3.1 Patch 4

If i create a new project in Android Studio Bumblebee | 2021.1.1 Patch 1 i can see the current Gradle version is 7.1.1 and i can find the lines i need to manually upgrade flutter project to current gradle version in build.gradle and gradle-wrapper.properties

Release notes: https://developer.android.com/studio/releases/gradle-plugin#7-1-0

To upgrade gradle to current version in flutter project

in android\build.gradle :

`buildscript {

dependencies {
    classpath 'com.android.tools.build:gradle:7.1.1'

}

}`

in android\gradle\wrapper\gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip

To avoid this warning:

w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath: C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.30/5fd47535cc85f9e24996f939c2de6583991481b0/kotlin-stdlib-jdk8-1.5.30.jar (version 1.5) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar (version 1.6) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.6.10/b8af3fe6f1ca88526914929add63cf5e7c5049af/kotlin-stdlib-1.6.10.jar (version 1.6) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.10/c118700e3a33c8a0d9adc920e9dec0831171925/kotlin-stdlib-common-1.6.10.jar (version 1.6) w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath: C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.30/5fd47535cc85f9e24996f939c2de6583991481b0/kotlin-stdlib-jdk8-1.5.30.jar (version 1.5) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar (version 1.6) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.6.10/b8af3fe6f1ca88526914929add63cf5e7c5049af/kotlin-stdlib-1.6.10.jar (version 1.6) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.10/c118700e3a33c8a0d9adc920e9dec0831171925/kotlin-stdlib-common-1.6.10.jar (version 1.6) w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath

change in android\app\build.gradle

dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" }

to

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

If i open the Android folder of the flutter project in Android Studio Bumblebee | 2021.1.1 Patch 1 it suggest to update the gradle plugin

image

image

image

EArminjon commented 2 years ago

Android studio suggest yes, but not flutter. When using 'flutter create .' we got the old gradle version. Is their some incompatibility ? Why Flutter team still use this old version...

ragokan commented 2 years ago

Android studio suggest yes, but not flutter. When using 'flutter create .' we got the old gradle version. Is their some incompatibility ? Why Flutter team still use this old version...

I do also ask this question. Flutter weirdly uses a very old gradle version. I hope there won't be a bigger problem when I do fix it.

EArminjon commented 2 years ago

https://github.com/flutter/flutter/issues/98362

marcellocamara commented 2 years ago

@EArminjon I have tried to use Gradle 7.0.4 because it was the Gradle version used by new project in Android Studio Arctic Fox | 2020.3.1 Patch 4

If i create a new project in Android Studio Bumblebee | 2021.1.1 Patch 1 i can see the current Gradle version is 7.1.1 and i can find the lines i need to manually upgrade flutter project to current gradle version in build.gradle and gradle-wrapper.properties

Release notes: https://developer.android.com/studio/releases/gradle-plugin#7-1-0

To upgrade gradle to current version in flutter project

in android\build.gradle :

`buildscript {

dependencies {
    classpath 'com.android.tools.build:gradle:7.1.1'

}

}`

in android\gradle\wrapper\gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip

To avoid this warning:

w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath: C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.30/5fd47535cc85f9e24996f939c2de6583991481b0/kotlin-stdlib-jdk8-1.5.30.jar (version 1.5) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar (version 1.6) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.6.10/b8af3fe6f1ca88526914929add63cf5e7c5049af/kotlin-stdlib-1.6.10.jar (version 1.6) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.10/c118700e3a33c8a0d9adc920e9dec0831171925/kotlin-stdlib-common-1.6.10.jar (version 1.6) w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath: C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.30/5fd47535cc85f9e24996f939c2de6583991481b0/kotlin-stdlib-jdk8-1.5.30.jar (version 1.5) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar (version 1.6) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.6.10/b8af3fe6f1ca88526914929add63cf5e7c5049af/kotlin-stdlib-1.6.10.jar (version 1.6) C:/Users/User/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.10/c118700e3a33c8a0d9adc920e9dec0831171925/kotlin-stdlib-common-1.6.10.jar (version 1.6) w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath

change in android\app\build.gradle

dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" }

to

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

If i open the Android folder of the flutter project in Android Studio Bumblebee | 2021.1.1 Patch 1 it suggest to update the gradle plugin

image

image

image

@zioghira very nice comment. I really don't understand why flutter team don't update it when they upgrade flutter. The new example projects should come with updated gradle

maheshj01 commented 2 years ago

is this issue still reproducible with latest ads plugin and flutter stable 2.10.3?

droplet-js commented 2 years ago

is this issue still reproducible with latest ads plugin and flutter stable 2.10.3?

this issue still reproducible with latest ads plugin and flutter stable 2.10.3

marcellocamara commented 2 years ago

is this issue still reproducible with latest ads plugin and flutter stable 2.10.3?

@maheshmnj yes. the only solution is upgrading gradle version... why flutter doesn't update it ? all new versions still comming with old gradle version on example project... unbelievable

maheshj01 commented 2 years ago

@marcellocamara not sure if upgrading Gradle is the right solution, However, there's an open proposal for it here https://github.com/flutter/flutter/issues/92073

uzumaki258 commented 2 years ago

I just release my app for 1% of users, but I will wait until this issue closes. Change gradle is not a good idea now.

maheshj01 commented 2 years ago

Update: the Gradle plugin version has been upgraded https://github.com/flutter/flutter/issues/92073. Please check if upgrading Gradle version fixes this issue.

DavideM12 commented 2 years ago

I have the same issue and my build.gradle is 4.1.0 and flutter 2.10.5 So in order to solve the issue we need to change the build.gradle version? Is it safe update build.gradle?

EArminjon commented 2 years ago

I used following config :

grande-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip

android/build.gradle

  ext.kotlin_version = '1.6.10'

  classpath 'com.android.tools.build:gradle:7.0.4'
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  classpath 'com.google.gms:google-services:4.3.5'

app/build.gradle

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

    kotlinOptions {
        jvmTarget = '11'
    }
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
DavideM12 commented 2 years ago

@EArminjon thank you! Sorry (to all) for the noob question but can I have some bad consequence about updating build.gradle? Do I risk something doesn’t works on my app after updating build.gradle?

Thank you!

uzumaki258 commented 2 years ago

@EArminjon thank you! Sorry (to all) for the noob question but can I have some bad consequence about updating build.gradle? Do I risk something doesn’t works on my app after updating build.gradle?

Thank you!

I think you have to test and then drop release to see the effect.

marcellocamara commented 2 years ago

@EArminjon

I'm using different, and working on PROD:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
ext.kotlin_version = '1.6.10'

classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.10'
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

kotlinOptions {
    jvmTarget = '1.8'
}
DavideM12 commented 2 years ago

Is still present this error on Flutter 3?

Thank you.

marcellocamara commented 2 years ago

Is still present this error on Flutter 3?

@DavideM12 Not for me... 100% free crashes. But I've upgrade the gradle manually.

On Flutter 3 they did the same for new projects.