2

I search a lot on com.android.webview.chromium.WebViewChromium.onDraw(WebViewChromium.java:9) ANR (produced by AdMob ads) but no help found, most of the help is about Webview, I'm not using any Webview in my Application. In the Application Admob Interstitial Ads, Native Ads, and Banner Ads are used.

Here is Trace

1 N.java

main (native):tid=1 systid=8726 
#00 pc 0x34038 libc.so (syscall + 28)
#01 pc 0x39149 libc.so (__futex_wait_ex(void volatile, bool, int, bool, timespec const) + 92)
#02 pc 0x7fe33 libc.so (pthread_cond_wait + 32)
#03 pc 0x214be65 TrichromeLibrary.apk!libmonochrome.so 
#04 pc 0x1f5f13f TrichromeLibrary.apk!libmonochrome.so 
#05 pc 0x1f5ed1d TrichromeLibrary.apk!libmonochrome.so 
#06 pc 0x1f5ea2f TrichromeLibrary.apk!libmonochrome.so 
#07 pc 0x1f5e8f7 TrichromeLibrary.apk!libmonochrome.so 
#08 pc 0x1f5e76b TrichromeLibrary.apk!libmonochrome.so 
#09 pc 0x196eecd TrichromeLibrary.apk!libmonochrome.so 
#10 pc 0x21d62c5 TrichromeLibrary.apk!libmonochrome.so 
#11 pc 0x104b4b9 TrichromeLibrary.apk!libmonochrome.so 
#12 pc 0x12b4d7b TrichromeLibrary.apk!libmonochrome.so 
#13 pc 0xc8a0a9 TrichromeLibrary.apk!libmonochrome.so (Java_J_N_MTXp4fn_1 + 152)
       at J.N.MTXp4fn_(N.java)
       at f9.onDraw(f9.java:50)
       at com.android.webview.chromium.WebViewChromium.onDraw(WebViewChromium.java:9)
       at android.webkit.WebView.onDraw(WebView.java:2887)
       at com.google.android.gms.ads.internal.webview.ac.onDraw(ac.java)
       at android.view.View.draw(View.java:22504)
       at android.view.View.draw(View.java:22370)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4604)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4365)
       at android.view.View.buildDrawingCacheImpl(View.java:21747)
       at android.view.View.buildDrawingCache(View.java:21609)
       at android.view.View.getDrawingCache(View.java:21439)
       at android.view.View.getDrawingCache(View.java:21390)
       at com.google.android.gms.ads.internal.gmsg.an.a(an.java:70)
       at com.google.android.gms.ads.internal.webview.q.B(q.java:4)
       at com.google.android.gms.ads.internal.webview.q.e(q.java:8)
       at com.google.android.gms.ads.internal.webview.ah.run(ah.java:4)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at ass.a(ass.java)
       at com.google.android.gms.ads.internal.util.f.a(f.java:1)
       at ass.dispatchMessage(ass.java)
       at android.os.Looper.loop(Looper.java:268)
       at android.app.ActivityThread.main(ActivityThread.java:8016)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)

Signal Catcher (runnable):tid=4 systid=8736 
#00 pc 0x37145d libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap, char const, art::ArtMethod, void, bool) + 76)
#01 pc 0x440257 libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const + 386)
#02 pc 0x43bc23 libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const + 34)
#03 pc 0x458a95 libart.so (art::DumpCheckpoint::Run(art::Thread*) + 664)
#04 pc 0x45406f libart.so (art::ThreadList::RunCheckpoint(art::Closure, art::Closure) + 354)
#05 pc 0x4535a3 libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool) + 1486)
#06 pc 0x452c9d libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) + 604)
#07 pc 0x40b497 libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) + 130)
#08 pc 0x41b01b libart.so (art::SignalCatcher::HandleSigQuit() + 1046)
#09 pc 0x41a3bf libart.so (art::SignalCatcher::Run(void*) + 246)
#10 pc 0x807b3 libc.so (__pthread_start(void*) + 40)
#11 pc 0x39d83 libc.so (__start_thread + 30)

Jit thread pool worker thread 0 (native):tid=5 systid=8737 
#00 pc 0x34038 libc.so (syscall + 28)
#01 pc 0x130fb3 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 82)
#02 pc 0x459f9f libart.so (art::ThreadPool::GetTask(art::Thread*) + 58)
#03 pc 0x4596b1 libart.so (art::ThreadPoolWorker::Run() + 72)
#04 pc 0x459305 libart.so (art::ThreadPoolWorker::Callback(void*) + 116)
#05 pc 0x807b3 libc.so (__pthread_start(void*) + 40)
#06 pc 0x39d83 libc.so (__start_thread + 30)


ReferenceQueueDaemon (waiting):tid=7 systid=8739 
       at java.lang.Object.wait(Object.java)
       at java.lang.Object.wait(Object.java:442)
       at java.lang.Object.wait(Object.java:568)
       at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:217)
       at java.lang.Daemons$Daemon.run(Daemons.java:139)
       at java.lang.Thread.run(Thread.java:923)

This ANR is mostly produced in Android 11 and difficult to trace that which ad is producing and why?

Yaqoob Bhatti
  • 1,271
  • 3
  • 14
  • 30
  • 1
    Even if you explicitly do not use `WebView` in your app, AdMob does use it internally to show ads (Banner Ads, most of the time) which causes this ANR. Also this is caused from Chromium & not exactly `your` app. You can either post this bug of AdMob's dev. google group or investigate yourself as which ad format may be causing this. – Darshan Jan 16 '23 at 07:34
  • I have posted in AdMob's Dev Group but no result https://groups.google.com/g/google-admob-ads-sdk/c/k9qc-m7vtPo – Yaqoob Bhatti Feb 14 '23 at 12:25
  • @Darshan they said send us reproducible sample but I can't reproduce it, – Yaqoob Bhatti Feb 14 '23 at 12:27
  • @YaqoobBhatti any luck solving this anr? – MRamzan Apr 17 '23 at 05:46
  • @MRamzan not now, we have sent documents to the AdMob team with full trace. and waiting for their response. – Yaqoob Bhatti Apr 17 '23 at 06:11
  • I had similar ANR. I think I have resolved it. My refresh time from admob was 30 seconds, also I had put loading call in on resume... Too many load calls too many refresh calls i guess were causing this – MRamzan Apr 18 '23 at 07:13

0 Answers0