-
Notifications
You must be signed in to change notification settings - Fork 1.3k
FileSource HTTPNSURLRequest::start() crash #2123
Conversation
I got this crash today, using an iPhone 6 with iOS 9 GM. I am using the
|
Managed to reproduce this crash by having the network link conditioner set to "Very Bad Network" (slow, packet loss) and then toggling wifi on/off on my cellular-connected device. On
* thread #12: tid = 0xd318a, 0x000000019a1d3140 libsystem_kernel.dylib`__pthread_kill + 8, name = 'FileSource', stop reason = signal SIGABRT
frame #0: 0x000000019a1d3140 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x000000019a29cef8 libsystem_pthread.dylib`pthread_kill + 112
frame #2: 0x000000019a146b78 libsystem_c.dylib`abort + 140
frame #3: 0x000000019a11bb50 libsystem_c.dylib`__assert_rtn + 324
* frame #4: 0x000000010041b468 Mapbox GL`mbgl::HTTPNSURLRequest::start(this=0x000000012dec8340) + 124 at http_request_nsurl.mm:123
frame #5: 0x0000000100421434 Mapbox GL`mbgl::HTTPNSURLRequest::retry(this=0x000000012dec8400)::$_2::operator()() const + 52 at http_request_nsurl.mm:335
frame #6: 0x00000001004213d8 Mapbox GL`void std::__1::__invoke_void_return_wrapper<void>::__call<mbgl::HTTPNSURLRequest::retry()::$_2&>(mbgl::HTTPNSURLRequest::retry()::$_2&&&) [inlined] decltype(__f=0x000000012dec8400)::$_2&>(fp)(std::__1::forward<>(fp0))) std::__1::__invoke<mbgl::HTTPNSURLRequest::retry()::$_2&>(mbgl::HTTPNSURLRequest::retry()::$_2&&&) + 20 at __functional_base:415
frame #7: 0x00000001004213c4 Mapbox GL`void std::__1::__invoke_void_return_wrapper<void>::__call<mbgl::HTTPNSURLRequest::retry(__args=0x000000012dec8400)::$_2&>(mbgl::HTTPNSURLRequest::retry()::$_2&&&) + 52 at __functional_base:440
frame #8: 0x0000000100421158 Mapbox GL`std::__1::__function::__func<mbgl::HTTPNSURLRequest::retry()::$_2, std::__1::allocator<mbgl::HTTPNSURLRequest::retry()::$_2>, void ()>::operator(this=0x000000012dec83f8)() + 68 at functional:1407
frame #9: 0x000000010017d3c8 Mapbox GL`std::__1::function<void ()>::operator(this=0x000000012dec83f8)() const + 176 at functional:1793
frame #10: 0x0000000100422544 Mapbox GL`uv::timer::timer_cb(t=0x000000012de23410) + 56 at uv_detail.hpp:161
frame #11: 0x000000010044b3c8 Mapbox GL`uv__run_timers(loop=0x000000012e851000) + 28 at timer.c:165 [opt]
frame #12: 0x0000000100441ba0 Mapbox GL`uv_run(loop=0x000000012e851000, mode=UV_RUN_DEFAULT) + 160 at core.c:332 [opt]
frame #13: 0x0000000100266530 Mapbox GL`uv::loop::run(this=0x000000016e476a78) + 60 at uv_detail.hpp:70
frame #14: 0x0000000100266230 Mapbox GL`void mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::run<std::__1::tuple<mbgl::FileCache*&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>, 0ul, 1ul>(this=0x000000012de38610, context=<unavailable>, params=0x000000016fde8db8, (null)=std::__1::index_sequence<0UL, 1UL> @ 0x000000016e476a38) + 232 at thread.hpp:125
frame #15: 0x00000001002660e4 Mapbox GL`mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::Thread<mbgl::FileCache*&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(this=0x000000012de78b60)::'lambda'()::operator()() const + 332 at thread.hpp:104
frame #16: 0x0000000100265d30 Mapbox GL`std::__1::__thread_proxy<std::__1::tuple<mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::Thread<mbgl::FileCache*&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(mbgl::util::ThreadContext const&, mbgl::FileCache*&&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&)::'lambda'()> >(void*, void*) [inlined] std::__1::__invoke<mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::Thread<mbgl::FileCache*&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(mbgl::util::ThreadContext const&, mbgl::FileCache*&&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&)::'lambda'()>(__f=0x000000012de78b60)::'lambda'()>(fp)(std::__1::forward<>(fp0))), mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::Thread<mbgl::FileCache*&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(mbgl::util::ThreadContext const&, mbgl::FileCache*&&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&)::'lambda'()&&) + 12 at __functional_base:415
frame #17: 0x0000000100265d24 Mapbox GL`std::__1::__thread_proxy<std::__1::tuple<mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::Thread<mbgl::FileCache*&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(mbgl::util::ThreadContext const&, mbgl::FileCache*&&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&)::'lambda'()> >(void*, void*) [inlined] _ZNSt3__116__thread_executeIZN4mbgl4util6ThreadINS1_17DefaultFileSource4ImplEEC1IJRPNS1_9FileCacheERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEEERKNS2_13ThreadContextEDpOT_EUlvE_JEJEEEvRNS_5tupleIJT_DpT0_EEENS_15__tuple_indicesIJXspT1_EEEE(__t=0x000000012de78b60, (null)=__tuple_indices<> @ 0x000000016e476ea8) + 16 at thread:337
frame #18: 0x0000000100265d14 Mapbox GL`std::__1::__thread_proxy<std::__1::tuple<mbgl::util::Thread<mbgl::DefaultFileSource::Impl>::Thread<mbgl::FileCache*&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(mbgl::util::ThreadContext const&, mbgl::FileCache*&&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&)::'lambda'()> >(__vp=0x000000012de78b60) + 288 at thread:347
frame #19: 0x000000019a29bb28 libsystem_pthread.dylib`_pthread_body + 156
frame #20: 0x000000019a29ba8c libsystem_pthread.dylib`_pthread_start + 156 |
Managed to reproduce this on my phone, but not on my (Wi-Fi only) iPad; looks like it's related to switching between networks (cell <--> wifi). I'm convinced that this happens in the following scenario: We're doing a request on one network, which takes some time (Network Link Conditioner helps here to prolong the time a request takes). Then, we're switching to another network mode, which triggers This particular issue is crashing on the |
Networking crash while panning around on
iosapp
.iPhone 5, iOS 9b4, testing the
perspective
branch (#2116) @ f34e037.Full crash log here.
/cc @tmpsantos @kkaefer