yandex / mapkit-ios-demo

MapKit iOS demo
Other
82 stars 25 forks source link

Crash: Crashed: Network: sock_write + 507700 #113

Closed MadGeorge closed 3 years ago

MadGeorge commented 3 years ago

Добрый день.

В мае 2020 года мы обновили SDK MapKit CleanShot 2021-03-18 at 16 35 36

Начиная с этой (4.5.1) версии приложения, мы стабильно наблюдаем в Crashlytics падение приложения с не вполне внятными отсылками к sdk яндекс карт.

Приложение за 30 дней падает у 250-450 пользователей. CleanShot 2021-03-18 at 16 37 32

Stack trace 1 **Crashed: Network** **EXC_GUARD 0x08fd4dbfade2dead** ```bash Crashed: Network 0 libsystem_kernel.dylib 0x1b08505fc write + 8 1 THEAPP 0x10590d200 sock_write + 507700 2 THEAPP 0x10590b10c _yandex_impl__BIO_write + 499264 3 THEAPP 0x1058d41e4 _yandex_impl__ssl3_write_pending + 274200 4 THEAPP 0x1058d42f8 _yandex_impl__do_ssl3_write + 274476 5 THEAPP 0x1058da8d4 _yandex_impl__ssl3_dispatch_alert + 300552 6 THEAPP 0x1058d9ecc _yandex_impl__ssl3_shutdown + 297984 7 THEAPP 0x105acfaec Curl_ossl_close + 2353184 8 THEAPP 0x105a9f138 _yandex_impl__Curl_disconnect + 2154092 9 THEAPP 0x105aa170c create_conn + 2163776 10 THEAPP 0x105a9fd14 _yandex_impl__Curl_connect + 2157128 11 THEAPP 0x105aaf450 multi_runsingle + 2220420 12 THEAPP 0x105ab08b0 multi_socket + 2225636 13 THEAPP 0x105ab0990 _yandex_impl__curl_multi_socket_action + 2225860 14 THEAPP 0x1057b0408 std::__1::__function::__func, void ()>::operator()() + 10600 15 THEAPP 0x10576d050 boost::asio::detail::wait_handler)::$_0>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) + 2032 16 THEAPP 0x10577cf90 _yandex_impl___ZN5boost4asio6detail9scheduler10do_run_oneERNS1_27conditionally_enabled_mutex11scoped_lockERNS1_21scheduler_thread_infoERKNS_6system10error_codeE + 67376 17 THEAPP 0x10577cb9c _yandex_impl___ZN5boost4asio6detail9scheduler3runERNS_6system10error_codeE + 66364 18 THEAPP 0x10577ae14 yandex::maps::runtime::network::common::NetworkManagerImpl::run() + 58804 19 THEAPP 0x10577ed9c void yandex::maps::runtime::internal::threadRunner(std::__1::basic_string, std::__1::allocator > const&, yandex::maps::runtime::ThreadPriority, yandex::maps::runtime::network::common::NetworkManagerImpl::NetworkManagerImpl(yandex::maps::runtime::network::common::NetworkConfig const&)::$_0&&) + 75068 20 THEAPP 0x10577ede8 void* std::__1::__thread_proxy >, void (*)(std::__1::basic_string, std::__1::allocator > const&, yandex::maps::runtime::ThreadPriority, yandex::maps::runtime::network::common::NetworkManagerImpl::NetworkManagerImpl(yandex::maps::runtime::network::common::NetworkConfig const&)::$_0&&), std::__1::basic_string, std::__1::allocator >, yandex::maps::runtime::ThreadPriority, yandex::maps::runtime::network::common::NetworkManagerImpl::NetworkManagerImpl(yandex::maps::runtime::network::common::NetworkConfig const&)::$_0> >(void*) + 75144 21 libsystem_pthread.dylib 0x1cd133c9c _pthread_start + 288 22 libsystem_pthread.dylib 0x1cd138880 thread_start + 8 ```
Stack trace 2 **Crashed: Network** **EXC_GUARD 0x08fd4dbfade2dead** ```bash Crashed: Network 0 libsystem_kernel.dylib 0x1c138164c write + 8 1 THEAPP 0x103f81200 sock_write + 507700 2 THEAPP 0x103f7f10c _yandex_impl__BIO_write + 499264 3 THEAPP 0x103f481e4 _yandex_impl__ssl3_write_pending + 274200 4 THEAPP 0x103f482f8 _yandex_impl__do_ssl3_write + 274476 5 THEAPP 0x103f4e8d4 _yandex_impl__ssl3_dispatch_alert + 300552 6 THEAPP 0x103f4decc _yandex_impl__ssl3_shutdown + 297984 7 THEAPP 0x104143aec Curl_ossl_close + 2353184 8 THEAPP 0x104113138 _yandex_impl__Curl_disconnect + 2154092 9 THEAPP 0x10411570c create_conn + 2163776 10 THEAPP 0x104113d14 _yandex_impl__Curl_connect + 2157128 11 THEAPP 0x104123450 multi_runsingle + 2220420 12 THEAPP 0x1041248b0 multi_socket + 2225636 13 THEAPP 0x104124990 _yandex_impl__curl_multi_socket_action + 2225860 14 THEAPP 0x103e24408 std::__1::__function::__func, void ()>::operator()() + 10600 15 THEAPP 0x103de1050 boost::asio::detail::wait_handler)::$_0>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) + 2032 16 THEAPP 0x103df0f90 _yandex_impl___ZN5boost4asio6detail9scheduler10do_run_oneERNS1_27conditionally_enabled_mutex11scoped_lockERNS1_21scheduler_thread_infoERKNS_6system10error_codeE + 67376 17 THEAPP 0x103df0b9c _yandex_impl___ZN5boost4asio6detail9scheduler3runERNS_6system10error_codeE + 66364 18 THEAPP 0x103deee14 yandex::maps::runtime::network::common::NetworkManagerImpl::run() + 58804 19 THEAPP 0x103df2d9c void yandex::maps::runtime::internal::threadRunner(std::__1::basic_string, std::__1::allocator > const&, yandex::maps::runtime::ThreadPriority, yandex::maps::runtime::network::common::NetworkManagerImpl::NetworkManagerImpl(yandex::maps::runtime::network::common::NetworkConfig const&)::$_0&&) + 75068 20 THEAPP 0x103df2de8 void* std::__1::__thread_proxy >, void (*)(std::__1::basic_string, std::__1::allocator > const&, yandex::maps::runtime::ThreadPriority, yandex::maps::runtime::network::common::NetworkManagerImpl::NetworkManagerImpl(yandex::maps::runtime::network::common::NetworkConfig const&)::$_0&&), std::__1::basic_string, std::__1::allocator >, yandex::maps::runtime::ThreadPriority, yandex::maps::runtime::network::common::NetworkManagerImpl::NetworkManagerImpl(yandex::maps::runtime::network::common::NetworkConfig const&)::$_0> >(void*) + 75144 21 libsystem_pthread.dylib 0x1deed7cb0 _pthread_start + 320 22 libsystem_pthread.dylib 0x1deee0778 thread_start + 8 ```

Min iOS SDK target для нашего приложения 11.1 Репорты поступают для самых разных версий и устройств. От iPhone SE 11.4.1 до iPhone 12 Pro Max 14.4.1

Мы не используем какие-то сложные техники для работы с картами. Отображение точек, предоставляемая SDK кластеризация и автокомплит адресов - вот и весь набор. Всегда остается вероятность, что мы как-то не правильно используем sdk (не те потоки, не те данные), но для таких очевидных причин крашрепортов должно быть сильно больше и они должны стабильно воспроизводиться, однако у нас совершенно обратная ситуация.

Есть ли возможность локализовать проблему и выяснить причины этих падений?

MadGeorge commented 3 years ago

Обновили SDK до MapKit 4.0-full и будем следить полечит ли это проблему.