Assigned
Status Update
Comments
ca...@google.com <ca...@google.com> #2
Thanks for your post.
The engineering team will look into the issue and explore if there are feasible ways to resolve it as soon as possible.
We will let you know as soon as additional updates are made available.
The engineering team will look into the issue and explore if there are feasible ways to resolve it as soon as possible.
We will let you know as soon as additional updates are made available.
Description
What is the incorrect behavior that you are experiencing? The application crashes in production with the error NSInvalidArgumentException in the Fulcrum library, specifically within the gmscore::renderer::GMSIOSGLContextPool::GMSIOSGLContextPool() function. This error occurs when attempting to insert a nil object into an NSArray using the insertObject:atIndex: method. We have been unable to reproduce the issue locally; however, it is consistently reported in our production environment via Firebase.
What should happen instead? The application should not crash. The function should ensure that no nil object is inserted into the NSArray and handle any potential issues gracefully.
Link to the Demo application that reproduces the problem: We have not been able to reproduce the issue in a demo environment or controlled test scenario. The crash is reported in production and has not yet been replicated during development or testing.
Steps to reproduce the problem: We have been unable to consistently reproduce the issue in any environment, including development and testing. The issue occurs intermittently in production, and there are no clear steps that lead to this crash. We can only see the crash reports in Firebase.
Operating system version: iOS 16.5 (but reported across multiple iOS versions)
Google Maps SDK for iOS version: Google Maps SDK for iOS version: 7.2.0
Hardware model: iPhone 13 Pro (but reported across multiple device models)
Additional Information: We are receiving crash reports from Firebase with the following stack trace:
rust Copy code Fatal Exception: NSInvalidArgumentException 0 CoreFoundation 0x83f20 __exceptionPreprocess 1 libobjc.A.dylib 0x172b8 objc_exception_throw 2 CoreFoundation 0x22b60 -[__NSArrayM insertObject:atIndex:] 3 Fulcrum 0x17fd2bc gmscore::renderer::GMSIOSGLContextPool::GMSIOSGLContextPool() 4 Fulcrum 0x17fd228 invocation function for block in gmscore::renderer::GLContextPool::GetGLContextPool() 5 libdispatch.dylib 0x3dd4 _dispatch_client_callout 6 libdispatch.dylib 0x5654 _dispatch_once_callout 7 Fulcrum 0x17fd208 gmscore::renderer::GLContextPool::GetGLContextPool() 8 Fulcrum 0x17e95c8 gmscore::renderer::GLScopedContextFromPool::GLScopedContextFromPool(bool) 9 Fulcrum 0x17eabec gmscore::renderer::GLState::RecoverResources() 10 libdispatch.dylib 0x213c _dispatch_call_block_and_release 11 libdispatch.dylib 0x3dd4 _dispatch_client_callout 12 libdispatch.dylib 0x125a4 _dispatch_main_queue_drain 13 libdispatch.dylib 0x121b8 _dispatch_main_queue_callback_4CF 14 CoreFoundation 0x56710 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE 15 CoreFoundation 0x53914 __CFRunLoopRun 16 CoreFoundation 0x52cd8 CFRunLoopRunSpecific 17 GraphicsServices 0x11a8 GSEventRunModal 18 UIKitCore 0x40aae8 -[UIApplication _run] 19 UIKitCore 0x4bed98 UIApplicationMain 20 Fulcrum 0x915c main + 13 (main.m:13) 21 ??? 0x1b28bb154 (Missing)
We suspect the crash is related to OpenGL context management during map rendering, but because we cannot replicate the issue locally, we are unsure of the exact cause. We would appreciate any guidance or insights on how to address this.