Found few crashes on Crashlytics, with following details, any help about the cause of issue, its occurring when we tap on map.
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000000
Crashed: com.apple.main-thread
0 libsystem_platform.dylib 0x182f362a0 _platform_memmove + 176
1 AGXGLDriver 0x194d2ff6c glrAGXRenderVertexArray(GLDContextRec*, unsigned int, unsigned int, int, int, unsigned int, void const*, int, void const*)
2 AGXGLDriver 0x194d2ff6c glrAGXRenderVertexArray(GLDContextRec*, unsigned int, unsigned int, int, int, unsigned int, void const*, int, void const*)
3 GLEngine 0x195ad2ea4 glDrawElements_ACC_ES2Exec
4 MyCity 0x100a4c044 Esri_runtimecore::Map_renderer::Sequence_pick_visitor::draw_() + 396
5 MyCity 0x100a36b98 Esri_runtimecore::Map_renderer::Graphic_buffer::visit_sequences_(std::__1::shared_ptr<Esri_runtimecore::HAL::Device> const&, std::__1::shared_ptr<Esri_runtimecore::Map_renderer::Sequence_visitor> const&, Esri_runtimecore::Map_renderer::Graphic_buffer::Allow_throttling, bool) + 972
6 MyCity 0x100a05e0c Esri_runtimecore::Map_renderer::Graphics_layer::gpu_hit_test_(std::__1::shared_ptr<Esri_runtimecore::HAL::Device> const&, std::__1::shared_ptr<Esri_runtimecore::Map_renderer::Display_properties> const&, std::__1::shared_ptr<Esri_runtimecore::Map_renderer::Hit_testable::Hit_test_request_details> const&) + 1004
7 MyCity 0x100a0773c Esri_runtimecore::Map_renderer::Graphics_layer::hit_test(std::__1::shared_ptr<Esri_runtimecore::Geometry::Multi_path> const&, unsigned long) + 460
8 MyCity 0x10046b894 -[AGSMapViewBase hitTestPoint:mapPoint:] + 232
9 MyCity 0x100399bac -[AGSMapView singleTap] + 336
10 UIKit 0x1889c1f30 _UIGestureRecognizerSendTargetActions + 164
11 UIKit 0x1885d6728 _UIGestureRecognizerSendActions + 172
12 UIKit 0x1884637a0 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 784
13 UIKit 0x1889c3530 ___UIGestureRecognizerUpdate_block_invoke898 + 72
14 UIKit 0x1884224d8 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 372
15 UIKit 0x18841f254 _UIGestureRecognizerUpdate + 2404
16 CoreFoundation 0x183290728 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
17 CoreFoundation 0x18328e4cc __CFRunLoopDoObservers + 372
18 CoreFoundation 0x18328e8fc __CFRunLoopRun + 928
19 CoreFoundation 0x1831b8c50 CFRunLoopRunSpecific + 384
20 GraphicsServices 0x184aa0088 GSEventRunModal + 180
21 UIKit 0x18849a088 UIApplicationMain + 204
22 MyCity 0x10024a550 main (AppDelegate.swift:16)
I get the same thing in a few scenarios. It seems to happen when I push or present a new view controller and usually only when I have GPS turned on.
Have you found any solution to this?
No I've posted this question on Stack overflow as well, but didn't get any response yet.
I'll update you, if I found any solution for it. Also let me know if you found any solution.
Marius UrsacheRyan OlsonDivesh Goyal Hey guys, can you please help us to identify this issue.
Can you try turning hit-testing off on a per-layer basis to narrow down what layer is causing the crash?
Hey Prasad/Ryan,
Sorry to hijack this thread but I've run into a similar issue and had some detailed repro cases that might be helpful.
This was my workflow:
At this point, if GPS is still on and the users location is offscreen, I will get a similar crash when I tap the map. However, if I pan the map first, then tap, I have no issues.
As a workaround, I started shutting off the GPS before pushing the new view controller and that resolved my issues. It's been a while since I did that work but I did the exact test you described (removing layers), and the crash did not seem to correlate to any specific layer. I can run these tests again if it would be helpful.
Here's another post I made when this first happened. The crash output was slightly different but the issue seemed to be the same. This frame buffer exception was consistent and repeatable but the _platform_memmove crash that Prasad was seeing was more intermittent for me. Both occurred when tapping on the map after returning from another view controller.
Frame_buffer_OGL::init_ FAILED when tapping map
Hope that is helpful.
Chris
Hi Chris, I'll try the scenario you have mentioned, and let you know, if I can reproduce it.
Hello Ryan Olson,
Thanks for replying, following is the code which I have used to add Picture Marker Symbol, the issue is random and when I tap on the marker the above crash issue is occurring,
self.markerGraphicsLayer = AGSGraphicsLayer(fullEnvelope:envelop ,renderingMode:AGSGraphicsLayerRenderingMode.Dynamic)
self.agsMapView.addMapLayer(self.markerGraphicsLayer, withName:Constants.graphicsLayerNames.MarkerGraphicsLayer)
func createMarkerGraphicsWithBadgeCount(point:AGSPoint,image:UIImage ,graphicAttributes :[NSObject:AnyObject] )
{
var graphicPoint:AGSPoint!
var graphicSymbol:AGSPictureMarkerSymbol!
graphicPoint = AGSPoint(x: point.x, y:point.y, spatialReference:self.agsMapView.spatialReference)
graphicSymbol = AGSPictureMarkerSymbol(image:image)
let graphics = AGSGraphic(geometry: graphicPoint, symbol:graphicSymbol, attributes:graphicAttributes)
self.markerGraphicsLayer.addGraphic(graphics)
}
//Delegate method to handle tap on marker
func didTapOnGraphics(graphic:AGSGraphic, coordinate:CLLocationCoordinate2D)
{
//Here new controller will be presented
}
can you try AGSGraphicsLayerRenderingMode.Static?
Now I've changed it to Static mode but now if I rotate map, markers also getting rotated, I'll test more on it and let you know, if it fixes that crash or not. Thanks.