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

Issue image

1

There are 1 best solutions below

0
On

The issue was with Kingfisher library which was used for image downloading and caching. After upgrading the lib to v5 this issue resolved.