Adding multiple overlay images one after another via GroundOverlay. Feature works fine at starts, after few changes to the ground overlay, it either stops loading overlay or shows weird black image as per below and application crash with below stack trace.
Crashed: com.apple.main-thread
0 libsystem_kernel.dylib 0x1be161104 __pthread_kill + 8
1 libsystem_pthread.dylib 0x1be1dc0e0 pthread_kill$VARIANT$mp + 380
2 libsystem_c.dylib 0x1be0b8d78 abort + 140
3 libGFXShared.dylib 0x1c1869d6c gfxFreeTextureLevel + 202
4 GLEngine 0x1e0b82af0 glTexImage2D_Exec
5 OpenGLES 0x1c18ca730 glTexImage2D + 108
6 XXXXXX 0x10057b0d8 gmscore::renderer::MutableImageData::ProvideTextureImage() + 22728
7 XXXXXX 0x10057f5e4 gmscore::renderer::TextureState::InitTextureStrategy::InitTextureAndUploadImageData(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, unsigned int) const + 15632
8 XXXXXX 0x10057ecd0 gmscore::renderer::TextureState::Initialize(gmscore::renderer::TextureState::InitTextureStrategy const&) + 13308
9 XXXXXX 0x10057eeac gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit, bool, gmscore::renderer::TextureState::Filter, gmscore::renderer::TextureState::Filter, gmscore::renderer::TextureState::WrapMode, gmscore::renderer::TextureState::WrapMode) + 13784
10 XXXXXX 0x100676c28 gmscore::vector::TextureAtlas::CreateTextureState(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&) + 174616
11 XXXXXX 0x10066ce50 gmscore::vector::MutableTextureAtlas::MutableTextureAtlas(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int, unsigned int, unsigned int, bool, gmscore::vector::TextureAtlasLayoutFactory*) + 134208
12 XXXXXX 0x10067611c gmscore::vector::TextureAtlasPool::AllocateRegion(int, int, gmscore::vector::TextureAtlasRegion*, bool*) + 171788
13 XXXXXX 0x10067992c gmscore::vector::UserTextureCache::UserIcon::Icon(CGImage*, gmscore::base::reffed_ptr<gmscore::vector::TextureAtlasPool> const&, gmscore::vector::UserTextureCache*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 186140
14 XXXXXX 0x100679834 gmscore::vector::UserTextureCache::IconForRef(CGImage*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 185892
15 XXXXXX 0x100680af8 gmscore::vector::GMSMarkupGroundOverlayInstance::UpdateEntities(float, gmscore::base::reffed_ptr<gmscore::vector::Camera>, gmscore::renderer::EntityRenderer*, gmscore::renderer::ProxySortedRenderBin<std::__1::tuple<unsigned int, unsigned long, unsigned int, gmscore::base::reffed_ptr<gmscore::renderer::Entity> >, std::__1::less<std::__1::tuple<unsigned int, unsigned long, unsigned int, gmscore::base::reffed_ptr<gmscore::renderer::Entity> > > >*, gmscore::vector::GMSMarkupBehavior*) + 215272
16 XXXXXX 0x10067ef54 gmscore::vector::GMSMarkupBehavior::UpdateInstanceMap(std::__1::map<unsigned long, gmscore::base::reffed_ptr<gmscore::vector::GMSMarkupInstance>, std::__1::less<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, gmscore::base::reffed_ptr<gmscore::vector::GMSMarkupInstance> > > > const&, gmscore::renderer::EntityRenderer*, bool) + 208196
17 XXXXXX 0x10067e868 gmscore::vector::GMSMarkupBehavior::Commit(gmscore::renderer::EntityRenderer*) + 206424
18 XXXXXX 0x1005759ac gmscore::renderer::EntityRenderer::Draw(bool) + 412
19 XXXXXX 0x100621394 -[GMSPhoenixRenderer drawForced:] + 582844
20 XXXXXX 0x1005f3170 -[GMSEntityRendererView draw] + 393880
21 XXXXXX 0x1005f0d2c -[GMSDisplayLink displayLinkFired:] + 384596
22 QuartzCore 0x1c2a81574 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 828
23 IOKit 0x1be82b58c IODispatchCalloutFromCFMessage + 488
24 CoreFoundation 0x1be5333e4 __CFMachPortPerform + 188
25 CoreFoundation 0x1be55ac30 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
26 CoreFoundation 0x1be55a37c __CFRunLoopDoSource1 + 440
27 CoreFoundation 0x1be555134 __CFRunLoopRun + 2140
28 CoreFoundation 0x1be5545b8 CFRunLoopRunSpecific + 436
29 GraphicsServices 0x1c07c8584 GSEventRunModal + 100
30 UIKitCore 0x1eb518bc8 UIApplicationMain + 212
31 XXXXXX 0x1002afe34 main (UIFont+Extension.swift:14)
32 libdyld.dylib 0x1be014b94 start + 4
The issue was with Kingfisher library which was used for image downloading and caching. After upgrading the lib to v5 this issue resolved.