# Crashlytics - Stack trace
# Application: my-app-bundle-id
# Platform: apple
# Version: 15.0.1 (19472)
# Issue: 8a3647f99fc8a4a47c8174d15810f0b7
# Session: 0ae2a8ace897440a8530016395c7e3db_DNE_0_v2
# Date: Thu Nov 21 2024 16:40:15 GMT+0900 (Japan Standard Time)
Fatal Exception: std::out_of_range
Crashed: com.google.firebase.crashlytics.ios.exception
0 Mitsui Shopping Park 0x872c0 FIRCLSProcessRecordAllThreads + 392 (FIRCLSProcess.c:392)
1 Mitsui Shopping Park 0x876a0 FIRCLSProcessRecordAllThreads + 423 (FIRCLSProcess.c:423)
2 Mitsui Shopping Park 0x9570c FIRCLSHandler + 34 (FIRCLSHandler.m:34)
3 Mitsui Shopping Park 0x95510 __FIRCLSExceptionRecord_block_invoke + 240 (FIRCLSException.mm:240)
4 libdispatch.dylib 0x3dd4 _dispatch_client_callout + 20
5 libdispatch.dylib 0x132c4 _dispatch_lane_barrier_sync_invoke_and_complete + 56
6 Mitsui Shopping Park 0x9448c FIRCLSExceptionRecord + 242 (FIRCLSException.mm:242)
7 Mitsui Shopping Park 0x94200 FIRCLSTerminateHandler() + 423 (FIRCLSException.mm:423)
8 MspMultiplatform 0x13b1154 (anonymous namespace)::TerminateHandler::queuedHandler()::'lambda'()::operator()() const + 22
9 MspMultiplatform 0x13b1090 void (anonymous namespace)::$_0::operator()<(anonymous namespace)::TerminateHandler::queuedHandler()::'lambda'()>((anonymous namespace)::TerminateHandler::queuedHandler()::'lambda'()) + 52
10 MspMultiplatform 0x13b105c (anonymous namespace)::TerminateHandler::queuedHandler() + 10
11 MspMultiplatform 0x13b0d98 (anonymous namespace)::TerminateHandler::kotlinHandler() + 392
12 libc++abi.dylib 0x14068 std::__terminate(void (*)()) + 16
13 libc++abi.dylib 0x1760c __cxa_increment_exception_refcount + 202
14 libobjc.A.dylib 0x2f0b4 objc_exception_rethrow + 44
15 CoreFoundation 0x52d88 CFRunLoopRunSpecific + 784
16 GraphicsServices 0x11a8 GSEventRunModal + 164
17 UIKitCore 0x40aae8 -[UIApplication _run] + 888
18 UIKitCore 0x4bed98 UIApplicationMain + 340
19 Mitsui Shopping Park 0x81c0 main + 13 (main.swift:13)
20 ??? 0x1b0ad3154 (シンボルが不足しています)
GC Timer thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 libc++.1.dylib 0xd598 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) + 100
3 MspMultiplatform 0x1397100 void kotlin::RepeatedTimer<kotlin::steady_clock>::Run<kotlin::gc::internal::GCSchedulerDataWithTimer<kotlin::steady_clock>::GCSchedulerDataWithTimer(kotlin::gc::GCSchedulerConfig&, std::__1::function<void ()>)::'lambda'()>(kotlin::gc::internal::GCSchedulerDataWithTimer<kotlin::steady_clock>::GCSchedulerDataWithTimer(kotlin::gc::GCSchedulerConfig&, std::__1::function<void ()>)::'lambda'()&&) + 260
4 MspMultiplatform 0x13973a4 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(kotlin::ScopedThread::attributes, void (kotlin::RepeatedTimer<kotlin::steady_clock>::*&&)(kotlin::gc::internal::GCSchedulerDataWithTimer<kotlin::steady_clock>::GCSchedulerDataWithTimer(kotlin::gc::GCSchedulerConfig&, std::__1::function<void ()>)::'lambda'()&&) noexcept, kotlin::RepeatedTimer<kotlin::steady_clock>*&&, kotlin::gc::internal::GCSchedulerDataWithTimer<kotlin::steady_clock>::GCSchedulerDataWithTimer(kotlin::gc::GCSchedulerConfig&, std::__1::function<void ()>)::'lambda'()&&), kotlin::ScopedThread::attributes, void (kotlin::RepeatedTimer<kotlin::steady_clock>::*)(kotlin::gc::internal::GCSchedulerDataWithTimer<kotlin::steady_clock>::GCSchedulerDataWithTimer(kotlin::gc::GCSchedulerConfig&, std::__1::function<void ()>)::'lambda'()&&) noexcept, kotlin::RepeatedTimer<kotlin::steady_clock>*, kotlin::gc::internal::GCSchedulerDataWithTimer<kotlin::steady_clock>::GCSchedulerDataWithTimer(kotlin::gc::GCSchedulerConfig&, std::__1::function<void ()>)::'lambda'()>>(void*) + 112
5 libsystem_pthread.dylib 0x606c _pthread_start + 136
6 libsystem_pthread.dylib 0x10d8 thread_start + 8
GC thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 libc++.1.dylib 0xd504 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 MspMultiplatform 0x139a9fc std::__1::invoke_result<kotlin::gc::ConcurrentMarkAndSweep::ConcurrentMarkAndSweep(kotlin::mm::ObjectFactory<kotlin::gc::ConcurrentMarkAndSweep>&, kotlin::gc::GCScheduler&)::$_3>::type kotlin::ScopedThread::Run<kotlin::gc::ConcurrentMarkAndSweep::ConcurrentMarkAndSweep(kotlin::mm::ObjectFactory<kotlin::gc::ConcurrentMarkAndSweep>&, kotlin::gc::GCScheduler&)::$_3>(kotlin::ScopedThread::attributes, kotlin::gc::ConcurrentMarkAndSweep::ConcurrentMarkAndSweep(kotlin::mm::ObjectFactory<kotlin::gc::ConcurrentMarkAndSweep>&, kotlin::gc::GCScheduler&)::$_3&&) + 228
4 MspMultiplatform 0x139baf0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(kotlin::ScopedThread::attributes, kotlin::gc::ConcurrentMarkAndSweep::ConcurrentMarkAndSweep(kotlin::mm::ObjectFactory<kotlin::gc::ConcurrentMarkAndSweep>&, kotlin::gc::GCScheduler&)::$_3&&), kotlin::ScopedThread::attributes, kotlin::gc::ConcurrentMarkAndSweep::ConcurrentMarkAndSweep(kotlin::mm::ObjectFactory<kotlin::gc::ConcurrentMarkAndSweep>&, kotlin::gc::GCScheduler&)::$_3>>(void*) + 104
5 libsystem_pthread.dylib 0x606c _pthread_start + 136
6 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
com.apple.uikit.eventfetch-thread
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 Foundation 0xc7b5c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
8 Foundation 0xc79ac -[NSRunLoop(NSRunLoop) runUntilDate:] + 64
9 UIKitCore 0x41e81c -[UIEventFetcher threadMain] + 420
10 Foundation 0xde428 __NSThread__start__ + 732
11 libsystem_pthread.dylib 0x606c _pthread_start + 136
12 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
com.google.GDTCORFlatFileStorage
0 libsystem_kernel.dylib 0x6ed4 mkdir + 8
1 Foundation 0x128128 __49-[NSFileManager _URLForReplacingItemAtURL:error:]_block_invoke_2 + 36
2 Foundation 0x128078 __49-[NSFileManager _URLForReplacingItemAtURL:error:]_block_invoke + 248
3 Foundation 0x126d34 -[NSFileManager _URLForReplacingItemAtURL:error:] + 1420
4 Foundation 0x1f038 _NSCreateTemporaryFile_Protected + 168
5 Foundation 0x20758 _NSWriteDataToFileWithExtendedAttributes + 436
6 Mitsui Shopping Park 0xc4c50 GDTCORWriteDataToFile + 301 (GDTCORPlatform.m:301)
7 Mitsui Shopping Park 0xbda30 __47-[GDTCORFlatFileStorage storeEvent:onComplete:]_block_invoke.42 + 171 (GDTCORFlatFileStorage.m:171)
8 libdispatch.dylib 0x213c _dispatch_call_block_and_release + 32
9 libdispatch.dylib 0x3dd4 _dispatch_client_callout + 20
10 libdispatch.dylib 0xb400 _dispatch_lane_serial_drain + 748
11 libdispatch.dylib 0xbf30 _dispatch_lane_invoke + 380
12 libdispatch.dylib 0x16cb4 _dispatch_root_queue_drain_deferred_wlh + 288
13 libdispatch.dylib 0x16528 _dispatch_workloop_worker_thread + 404
14 libsystem_pthread.dylib 0x4934 _pthread_wqthread + 288
15 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
com.google.firebase.crashlytics.MachExceptionServer
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 Mitsui Shopping Park 0x95cc8 FIRCLSMachExceptionServer + 192 (FIRCLSMachException.c:192)
5 libsystem_pthread.dylib 0x606c _pthread_start + 136
6 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0x13b55fc Worker::processQueueElement(bool) + 808
4 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
5 libsystem_pthread.dylib 0x606c _pthread_start + 136
6 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x1450 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x10cc start_wqthread + 8
Thread
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 KarteCrashReporting 0x17fa8 exception_server_thread + 188
5 libsystem_pthread.dylib 0x606c _pthread_start + 136
6 libsystem_pthread.dylib 0x10d8 thread_start + 8
JavaScriptCore libpas scavenger
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 JavaScriptCore 0x15672a4 scavenger_thread_main + 1512
3 libsystem_pthread.dylib 0x606c _pthread_start + 136
4 libsystem_pthread.dylib 0x10d8 thread_start + 8
GC finalizer processor
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 libc++.1.dylib 0xd504 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 MspMultiplatform 0x139bcd8 std::__1::invoke_result<kotlin::gc::FinalizerProcessor::StartFinalizerThreadIfNone()::$_0>::type kotlin::ScopedThread::Run<kotlin::gc::FinalizerProcessor::StartFinalizerThreadIfNone()::$_0>(kotlin::ScopedThread::attributes, kotlin::gc::FinalizerProcessor::StartFinalizerThreadIfNone()::$_0&&) + 220
4 MspMultiplatform 0x139bfa8 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(kotlin::ScopedThread::attributes, kotlin::gc::FinalizerProcessor::StartFinalizerThreadIfNone()::$_0&&), kotlin::ScopedThread::attributes, kotlin::gc::FinalizerProcessor::StartFinalizerThreadIfNone()::$_0>>(void*) + 104
5 libsystem_pthread.dylib 0x606c _pthread_start + 136
6 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.apple.NSURLConnectionLoader
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 CFNetwork 0xfdc7c _CFHostIsDomainTopLevel + 108176
8 Foundation 0xde428 __NSThread__start__ + 732
9 libsystem_pthread.dylib 0x606c _pthread_start + 136
10 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.AssetFileSource
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 CoreFoundation 0xc0f04 CFRunLoopRun + 64
8 Mapbox 0x167a8 mbgl::util::Thread<mbgl::AssetFileSource::Impl>::Thread<std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>&&)::'lambda'()::operator()() + 192
9 Mapbox 0x16610 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::util::Thread<mbgl::AssetFileSource::Impl>::Thread<std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>&&)::'lambda'()>>(void*) + 52
10 libsystem_pthread.dylib 0x606c _pthread_start + 136
11 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.OnlineFileSource
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 CoreFoundation 0xc0f04 CFRunLoopRun + 64
8 Mapbox 0x4ff94 mbgl::util::Thread<mbgl::OnlineFileSourceThread>::Thread<std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>&&)::'lambda'()::operator()() + 136
9 Mapbox 0x4fe34 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::util::Thread<mbgl::OnlineFileSourceThread>::Thread<std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>&&)::'lambda'()>>(void*) + 52
10 libsystem_pthread.dylib 0x606c _pthread_start + 136
11 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.DatabaseFileSource
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 CoreFoundation 0xc0f04 CFRunLoopRun + 64
8 Mapbox 0x1cb08 mbgl::util::Thread<mbgl::DatabaseFileSourceThread>::Thread<std::__1::tuple<std::__1::shared_ptr<mbgl::FileSource>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<std::__1::shared_ptr<mbgl::FileSource>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>&&)::'lambda'()::operator()() + 128
9 Mapbox 0x1ca48 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::util::Thread<mbgl::DatabaseFileSourceThread>::Thread<std::__1::tuple<std::__1::shared_ptr<mbgl::FileSource>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<std::__1::shared_ptr<mbgl::FileSource>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>&&)::'lambda'()>>(void*) + 44
10 libsystem_pthread.dylib 0x606c _pthread_start + 136
11 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.LocalFileSource
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 CoreFoundation 0xc0f04 CFRunLoopRun + 64
8 Mapbox 0x243e0 mbgl::util::Thread<mbgl::LocalFileSource::Impl>::Thread<std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>&&)::'lambda'()::operator()() + 140
9 Mapbox 0x2427c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::util::Thread<mbgl::LocalFileSource::Impl>::Thread<std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>&&)::'lambda'()>>(void*) + 52
10 libsystem_pthread.dylib 0x606c _pthread_start + 136
11 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.MBTilesFileSource
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 CoreFoundation 0xc0f04 CFRunLoopRun + 64
8 Mapbox 0x33098 mbgl::util::Thread<mbgl::MBTilesFileSource::Impl>::Thread<std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>&&)::'lambda'()::operator()() + 192
9 Mapbox 0x32f00 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::util::Thread<mbgl::MBTilesFileSource::Impl>::Thread<std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<mbgl::ResourceOptions, mbgl::ClientOptions>&&)::'lambda'()>>(void*) + 52
10 libsystem_pthread.dylib 0x606c _pthread_start + 136
11 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.ResourceLoaderThread
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 CoreFoundation 0xc0f04 CFRunLoopRun + 64
8 Mapbox 0x2a2d8 mbgl::util::Thread<mbgl::MainResourceLoaderThread>::Thread<std::__1::tuple<std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>>&&)::'lambda'()::operator()() + 180
9 Mapbox 0x2a160 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::util::Thread<mbgl::MainResourceLoaderThread>::Thread<std::__1::tuple<std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>>>(std::__1::function<void ()>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::tuple<std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>, std::__1::shared_ptr<mbgl::FileSource>>&&)::'lambda'()>>(void*) + 52
10 libsystem_pthread.dylib 0x606c _pthread_start + 136
11 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.Worker 1
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 libc++.1.dylib 0xd504 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 Mapbox 0x331f08 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::ThreadedSchedulerBase::makeSchedulerThread(unsigned long)::$_0>>(void*) + 428
4 libsystem_pthread.dylib 0x606c _pthread_start + 136
5 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.Worker 2
0 Mapbox 0x306dd4 mapbox::vector_tile::layer::layer(protozero::data_view const&) + 184
1 Mapbox 0x305b9c mbgl::VectorTileData::getLayer(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const + 380
2 Mapbox 0x2f8398 mbgl::GeometryTileWorker::parse() + 944
3 Mapbox 0x2f7f5c mbgl::GeometryTileWorker::setData(std::__1::unique_ptr<mbgl::GeometryTileData const, std::__1::default_delete<mbgl::GeometryTileData const>>, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, unsigned long long) + 212
4 Mapbox 0x2d52b0 void mbgl::MessageImpl<mbgl::GeometryTileWorker, void (mbgl::GeometryTileWorker::*)(std::__1::unique_ptr<mbgl::GeometryTileData const, std::__1::default_delete<mbgl::GeometryTileData const>>, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, unsigned long long), std::__1::tuple<std::__1::unique_ptr<mbgl::GeometryTileData const, std::__1::default_delete<mbgl::GeometryTileData const>>, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, unsigned long long>>::invoke<0ul, 1ul, 2ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) + 132
5 Mapbox 0x56710 mbgl::Mailbox::receive() + 484
6 Mapbox 0x56a54 mbgl::Mailbox::maybeReceive(std::__1::weak_ptr<mbgl::Mailbox> const&) + 48
7 Mapbox 0x33202c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::ThreadedSchedulerBase::makeSchedulerThread(unsigned long)::$_0>>(void*) + 720
8 libsystem_pthread.dylib 0x606c _pthread_start + 136
9 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.Worker 3
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 libc++.1.dylib 0xd504 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 Mapbox 0x331f08 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::ThreadedSchedulerBase::makeSchedulerThread(unsigned long)::$_0>>(void*) + 428
4 libsystem_pthread.dylib 0x606c _pthread_start + 136
5 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.Worker 4
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 libc++.1.dylib 0xd504 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 Mapbox 0x331f08 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::ThreadedSchedulerBase::makeSchedulerThread(unsigned long)::$_0>>(void*) + 428
4 libsystem_pthread.dylib 0x606c _pthread_start + 136
5 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.apple.CFNetwork.CustomProtocols
0 libsystem_kernel.dylib 0x16c8 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4ec8 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4de0 mach_msg_overwrite + 436
3 libsystem_kernel.dylib 0x4c20 mach_msg + 24
4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x53600 __CFRunLoopRun + 1208
6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608
7 CFNetwork 0xfdc7c _CFHostIsDomainTopLevel + 108176
8 Foundation 0xde428 __NSThread__start__ + 732
9 libsystem_pthread.dylib 0x606c _pthread_start + 136
10 libsystem_pthread.dylib 0x10d8 thread_start + 8
com.mapbox.mbgl.Worker 1
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 libc++.1.dylib 0xd504 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 Mapbox 0x331f08 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mbgl::ThreadedSchedulerBase::makeSchedulerThread(unsigned long)::$_0>>(void*) + 428
4 libsystem_pthread.dylib 0x606c _pthread_start + 136
5 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
Thread
0 libsystem_kernel.dylib 0x708c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228
2 MspMultiplatform 0x13b6440 (anonymous namespace)::waitInNativeState(_opaque_pthread_cond_t*, _opaque_pthread_mutex_t*, unsigned long long, unsigned long long*) + 176
3 MspMultiplatform 0xfbfc4 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 2060
4 MspMultiplatform 0x10116c kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNN>invoke(){}#internal + 188
5 MspMultiplatform 0x13b5984 Worker::processQueueElement(bool) + 1712
6 MspMultiplatform 0x13b5244 (anonymous namespace)::workerRoutine(void*) + 108
7 libsystem_pthread.dylib 0x606c _pthread_start + 136
8 libsystem_pthread.dylib 0x10d8 thread_start + 8
MapLibre iOS Version
5.13.0
iOS Version
Production crashes across multiple iOS versions.
Device
Various production devices. Not a simulator-only issue.
What happened?
The app crashes with
Fatal Exception: std::out_of_range(uncaught) originating fromvector-tile feature access. The host app is Kotlin/Native (KMP), which installs a
process-wide std::terminate handler, so any uncaught C++ exception is fatal.
Correlating the crash logs with the ios-v5.13.0 source, the only std::out_of_range sites in
vendor/vector-tile are the unguarded .at() calls in feature::getProperties()
(keys.at()/values.at()) and layer::getFeature() (features.at()). getGeometries() is already
guarded against malformed geometry, but getProperties() is not. The tile parse path is
wrapped in try/catch, but the synchronous query path (queryRenderedFeatures /
querySourceFeatures -> convertFeature -> getProperties()) is not, so a malformed/truncated
tile can throw an uncaught std::out_of_range and terminate the process.
Previously reported in #2306 (closed with "please upgrade"); this is a source-level
follow-up. Full analysis, stack traces, and suggested fix are below.
Follow-up: uncaught
std::out_of_rangefrom vector-tile feature access (defensive gap observed in 5.13.0)Context / why I'm following up
Related earlier issue: #2306 (closed).
I previously reported this crash (
Fatal Exception: std::out_of_range, Crashlytics issue62751283f37ff98f4a8da99a0ad0ae2e, app 12.2.0) in#2306. That issue was closed with
a suggestion to upgrade and observe. I have not upgraded yet; instead I went back and did a
source-level investigation, correlating the crash logs against the MapLibre iOS source at
ios-v5.13.0(commitd92431b404b8, the version we vendor) to provide something moreactionable than a raw Crashlytics trace before deciding whether an upgrade would actually
address it.
All code references below are to
ios-v5.13.0specifically. I have not diffed againstmain/newer releases, so if any of this is already fixed upstream, please just point me tothe change.
This is intended as additional material to help re-judge whether there is a real defensive
gap — not to dispute the earlier triage. I've tried to be explicit about what the evidence
does and does not prove.
What the crashes have in common
Fatal Exception: std::out_of_range, uncaught, terminates the process.Mapbox-named GL Native framework.std::set_terminatehandler(visible as
TerminateHandler::kotlinHandler). Any uncaught C++ exception anywhere inthe process is therefore fatal — there is no "failed to load tile" degradation path.
we cannot reproduce on demand locally.
Evidence 1 — the originally-filed crash (app 12.2.0)
The most useful frame in that report is the live worker stack, which shows the throw site
directly:
So in that build, the exception was thrown from feature value access during filter
evaluation, inside
SymbolLayout::SymbolLayout, on the tile parse path.The main thread shows the terminate being delivered:
Evidence 2 — newer crashes (different app, same class)
We have four more recent traces (issue
8a3647...) from another app embedding the sameframework, same exception class. Their concurrent worker stacks show the same family of
parse-time feature access:
Same main-thread terminate delivery via
CFRunLoopRunSpecific -> objc_exception_rethrow.Full crash trace — issue 8a3647..., session ef679..., app 15.0.1 (19472)
Source-level analysis against
ios-v5.13.0A. Where
std::out_of_rangecan originateIn
vendor/vector-tile/include/mapbox/vector_tile.hpp, the only.at()(i.e.std::out_of_range) sites are:feature::getProperties():layer::getFeature(std::size_t i):Note: in 5.13.0,
feature::getValue()and the geometry command parser throwstd::runtime_error(bounds checked with explicitthrow std::runtime_error(...)), notstd::out_of_range. So the originally-filed trace (throw ingetValue) corresponds to abuild whose
getValuediffered from 5.13.0. However, theout_of_range-producing.at()sites in
getProperties()/getFeature()are present and unguarded in 5.13.0.B. Geometry access is guarded, property access is not
src/mbgl/tile/vector_tile_data.cppalready tolerates malformed geometry:But the sibling
getProperties()has no equivalent guard:C. Parse path is caught; query path is not
Parse path (worker):
GeometryTileWorker::setData / setLayers / coalesced / symbolDependenciesChangedall wrapparse()intry { ... } catch (...)and route toGeometryTile::onError -> RenderSource::onTileError -> RenderOrchestrator::onTileError -> Observer::onResourceError. In Continuous modeMap::Impl::onResourceErrordoes notrethrow. So in 5.13.0, an exception thrown during parse (the path both crash datasets show)
should be caught and logged rather than terminating.
Query path (synchronous, caller thread):
queryRenderedFeatures/querySourceFeaturesare not wrapped:src/mbgl/tile/geometry_tile.cpp,GeometryTile::querySourceFeatures:src/mbgl/geometry/feature_index.cpp,FeatureIndex::query:convertFeature(src/mbgl/tile/geometry_tile_data.cpp) unconditionally callsgetProperties(). On iOS these are reached synchronously from-[MGLMapView visibleFeaturesAtPoint:...] / visibleFeaturesInRect:...(
queryRenderedFeatures) and-[MGLVectorTileSource featuresInSourceLayersWithIdentifiers:predicate:](
querySourceFeatures), with no exception guard in the Objective-C bridge either. On amalformed tile, an
std::out_of_rangeon this path is uncaught and — for a host with aglobal terminate handler — fatal.
What this suggests (stated conservatively)
schema-mismatched tiles (
.at()ingetProperties()/getFeature(); older builds alsovia
getValue).try/catch (...), but the query path isnot, and
getProperties()is not individually guarded the waygetGeometries()is.same applies to other terminate-handler setups), the unguarded query path is a latent
hard crash on bad tile data.
I cannot 100% attribute the live production crash to the query path vs. the parse path
without symbolication of the exact shipped framework. But the code gap in 5.13.0 is
demonstrable, and it is the same exception class.
Questions
std::out_of_rangefromfeature::getProperties()/layer::getFeature()considered a defect, given
getGeometries()is already guarded against malformed data?GeometryTile::querySourceFeatures,FeatureIndex::query,convertFeature) tolerate a malformed feature by skipping it instead of propagating?embedders rely on that being enforced? Today geometry is tolerated but properties are not,
which reads as inconsistent.
Suggested direction (for discussion, not a demand)
getGeometries()handling inVectorTileFeature::getProperties():catch
std::exception, log viaEvent::ParseTile, return empty/partial properties.GeometryTile::querySourceFeaturesandFeatureIndex::queryso one bad feature is skipped rather than aborting/propagating.Steps to reproduce
Intermittent, production-only; not deterministically reproducible for us.
Relevant log output
Additional context
No response