I'm getting a lot of native crashes from one of my android apps in production. This crash has increased since the update of AdMob version 19.4.0 to 20.6.0, which has rarely happened before. I also use Facebook and Unity ad mediation. All these crashes are coming from Android 10.0.
Stacktrace 1:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.example.app <<<
backtrace:
#00 pc 000000000005fcb2 /apex/com.android.runtime/lib/bionic/libc.so (abort+166)
#00 pc 0000000000005abf /system/lib/liblog.so (__android_log_assert+174)
#00 pc 000000000031bc5f /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaOpenGLPipeline::swapBuffers(android::uirenderer::renderthread::Frame const&, bool, SkRect const&, android::uirenderer::FrameInfo*, bool*)+94)
#00 pc 0000000000324a61 /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+672)
#00 pc 0000000000323ed7 /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+174)
#00 pc 000000000032f5ef /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+158)
#00 pc 000000000032f447 /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+54)
#00 pc 000000000000d8bb /system/lib/libutils.so (android::Thread::_threadLoop(void*)+186)
#00 pc 00000000000a8147 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+20)
#00 pc 0000000000061467 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
Another similar crash signal 6 (SIGABRT), code -6 (SI_TKILL) but with a different stack trace spiked recently. This crash is occurring only on android 9.0.
Stacktrace 2:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.example.app <<<
backtrace:
#00 pc 000000000001ccc6 /system/lib/libc.so (abort+58)
#00 pc 0000000000006ccd /system/lib/liblog.so (__android_log_assert+156)
#00 pc 0000000000466955 /system/lib/libhwui.so (android::uirenderer::debug::GlesErrorCheckWrapper::assertNoErrors(char const*)+88)
#00 pc 0000000000140e87 /system/lib/libhwui.so (android::uirenderer::skiapipeline::GLFunctorDrawable::onDraw(SkCanvas*)+2102)
#00 pc 000000000044c991 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+212)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 000000000044d3a5 /system/lib/libhwui.so (SkLiteDL::draw(SkCanvas*) const+156)
#00 pc 00000000004349fd /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::drawContent(SkCanvas*) const+272)
#00 pc 0000000000434d13 /system/lib/libhwui.so (android::uirenderer::skiapipeline::RenderNodeDrawable::forceDraw(SkCanvas*)+202)
#00 pc 000000000044c921 /system/lib/libhwui.so (SkDrawable::draw(SkCanvas*, SkMatrix const*)+100)
#00 pc 00000000001491c3 /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaPipeline::renderFrameImpl(android::uirenderer::LayerUpdateQueue const&, SkRect const&, std::__1::vector<android::sp<android::uirenderer::RenderNode>, std::__1::allocator<android::sp<android::uirenderer::RenderNode>>> const&, bool, bool, android::uirenderer::Rect const&, SkCanvas*)+402)
#00 pc 00000000004696f7 /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaPipeline::renderFrame(android::uirenderer::LayerUpdateQueue const&, SkRect const&, std::__1::vector<android::sp<android::uirenderer::RenderNode>, std::__1::allocator<android::sp<android::uirenderer::RenderNode>>> const&, bool, bool, android::uirenderer::Rect const&, sk_sp<SkSurface>)+70)
#00 pc 0000000000146935 /system/lib/libhwui.so
#00 pc 000000000046c3c5 /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+576)
#00 pc 0000000000433d4f /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+122)
#00 pc 000000000015abd3 /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+178)
#00 pc 000000000000c08b /system/lib/libutils.so (android::Thread::_threadLoop(void*)+166)
#00 pc 0000000000063495 /system/lib/libc.so (__pthread_start(void*)+22)
#00 pc 000000000001de89 /system/lib/libc.so (__start_thread+24)
Unfortunately, I couldn't reproduce the crash on any of my phones. Any hints to resolve this crash will be greatly appreciated.