We are experiencing a crash with the CustomTiledLayer file
we got this information:
Crashlytics:
Crashed: com.apple.main-thread
0 ArcGIS 0x30780c closure #3 in CustomTiledLayer.init(tileInfo:fullExtent:dataProvider:) + 70 (CustomTiledLayer.swift:70)
1 ArcGIS 0x1e7ff0 closure #1 in LayerTileClosureEvent.setupCoreCallback() + 53 (LayerTileClosureEvent+Generated.swift:53)
2 ArcGIS 0x1b0668 partial apply for thunk for @escaping @callee_guaranteed (@in_guaranteed TileKey) -> () + 2920 (<compiler-generated>:2920)
3 ArcGIS 0x1e7f34 coreCallback #1 (userData:tileKey:) in LayerTileClosureEvent.setupCoreCallback() + 49 (LayerTileClosureEvent+Generated.swift:49)
4 CoreArcGIS 0x8260c4 esri::common::Slot<void (esri::common::Request_delegator const&, esri::tile::Tile_key const&)>::target_model<void esri::common::Signal<void (esri::common::Request_delegator const&, esri::tile::Tile_key const&)>::connect<std::__1::function<void (void*, esri::tile::Tile_key const&)>>(void*, std::__1::function<void (void*, esri::tile::Tile_key const&)>&&) const::'lambda'(esri::common::Signal_context<void (esri::common::Request_delegator const&, esri::tile::Tile_key const&)>, std::__1::function<void (void*, esri::tile::Tile_key const&)>&&, auto&&...)>::invoke(void const*, esri::common::Request_delegator const&, esri::tile::Tile_key const&) + 4986736
5 CoreArcGIS 0x19b7dd4 esri::common::signal_detail::Signal_base::notify_(esri::common::Function_ref<void (esri::common::signal_detail::erased_target_base&)> const&) const + 23409792
6 CoreArcGIS 0x9c7f34 esri::geoview::Tile_request_callback::cancel_request(int, int, int) + 6698464
7 CoreArcGIS 0xbf4068 esri::map_renderer::Tile_provider::erase_dst_tile_(std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<esri::tile::Tile_key, std::__1::shared_ptr<esri::map_renderer::Geo_tile>>, void*>*>>) + 8976148
8 CoreArcGIS 0xbf49ac esri::map_renderer::Tile_provider::clean_dst_tiles_(esri::map_renderer::Clean_type) + 8978520
9 CoreArcGIS 0xbf48b4 esri::map_renderer::Tile_provider::prepare(esri::map_renderer::Tile_view_state const&) + 8978272
10 CoreArcGIS 0xc31a88 esri::map_renderer::Data_tile_provider::prepare(esri::map_renderer::Tile_view_state const&) + 9228596
11 CoreArcGIS 0xcb9090 esri::map_renderer::Service_tile_provider::prepare(esri::map_renderer::Tile_view_state const&) + 9783100
12 CoreArcGIS 0xbf4904 esri::map_renderer::Tile_provider::prepare(esri::map_renderer::Tile_view_state const&) + 8978352
13 CoreArcGIS 0xcb64a8 esri::map_renderer::Resampled_tile_provider_base::prepare(esri::map_renderer::Tile_view_state const&) + 9771860
14 CoreArcGIS 0xcb15ac esri::map_renderer::Raster_tile_layer::prepare(std::__1::shared_ptr<esri::map_renderer::Drawable::Render_properties>&, std::__1::shared_ptr<esri::map_renderer::Display_properties> const&) + 9751640
15 CoreArcGIS 0xca79f8 esri::map_renderer::Map::on_pulse_() + 9711780
16 CoreArcGIS 0xca6e94 esri::map_renderer::Map::pulse() + 9708864
17 CoreArcGIS 0xe5a3c RT_GeoView_pulse + 44
18 ArcGIS 0x3ff748 specialized GeoMetalView.Coordinator.draw(in:) + 259 (GeoCommonView.swift:259)
19 ArcGIS 0x3f9948 @objc GeoMetalView.Coordinator.draw(in:) + 29700 (<compiler-generated>:29700)
20 MetalKit 0x74b4 -[MTKView draw] + 160
21 MetalKit 0x73f4 -[MTKViewDisplayLinkTarget draw] + 32
22 QuartzCore 0xd0ecc CA::Display::DisplayLinkItem::dispatch_(CA::SignPost::Interval<(CA::SignPost::CAEventCode)835322056>&) + 48
23 QuartzCore 0xcf230 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 876
24 QuartzCore 0xcedd0 CA::Display::DisplayLink::dispatch_deferred_display_links(unsigned int) + 352
25 UIKitCore 0xb776c _UIUpdateSequenceRun + 84
26 UIKitCore 0xb73b0 schedulerStepScheduledMainSection + 172
27 UIKitCore 0xb8254 runloopSourceCallback + 92
28 CoreFoundation 0x56834 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
29 CoreFoundation 0x567c8 __CFRunLoopDoSource0 + 176
30 CoreFoundation 0x54298 __CFRunLoopDoSources0 + 244
31 CoreFoundation 0x53484 __CFRunLoopRun + 828
32 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
33 GraphicsServices 0x11a8 GSEventRunModal + 164
34 UIKitCore 0x40a90c -[UIApplication _run] + 888
35 UIKitCore 0x4be9d0 UIApplicationMain + 340
36 Fulcrum 0x915c main + 13 (main.m:13)
Instabug:
SIGTRAP : Crash due to signal: SIGTRAP(TRAP_BRKPT) at 1087d31d0
Queue 18: com.apple.root.user-initiated-qos.cooperative
concurrent
CustomTiledLayer.__allocating_init(tileInfo:fullExtent:dataProvider:) (CustomTiledLayer.swift:42 )
0 ArcGIS 0x1087d31d0 CustomTiledLayer.__allocating_init(tileInfo:fullExtent:dataProvider:) (CustomTiledLayer.swift:42)
1 Fulcrum 0x104950824 closure #1 in variable initialization expression of MapLayerLoaderImpl.customTiledLayer (MapLayerLoaderImpl.swift:46)
2 Fulcrum 0x104953b84 MapLayerLoaderImpl.mbTilesLayer(_:) (MapLayerLoaderImpl.swift:250)
3 Fulcrum 0x104952078 MapLayerLoaderImpl.loadLayer(for:) (MapLayerLoaderImpl.swift:121)
4 libswift_Concurrency.dylib 0x1b29f2764 swift::runJobInEstablishedExecutorContext(swift::Job*) + 435
5 libswift_Concurrency.dylib 0x1b29f39c8 swift_job_runImpl(swift::Job*, swift::ExecutorRef) + 71
6 libdispatch.dylib 0x1af567894 _dispatch_root_queue_drain + 391
7 libdispatch.dylib 0x1af56809c _dispatch_worker_thread2 + 155
8 libsystem_pthread.dylib 0x2045078f8 _pthread_wqthread + 227
9 libsystem_pthread.dylib 0x2045040cc start_wqthread + 7
We would want to know if, with these lines of code, you have enough information to understand the problem or know what we can do.
What version of the Swift Maps SDK are you using? Can you try to reproduce this with 200.5? Some improvements were made to thread safety in 200.5 which might alleviate this issue.