cpp_client_telemetry icon indicating copy to clipboard operation
cpp_client_telemetry copied to clipboard

Crash on Mac at app teardown at Microsoft::Applications::Events::ILogConfiguration::operator[](char const*)

Open eduardo-camacho opened this issue 3 years ago • 1 comments

Office Microsoft AutoUpdate app for Mac uses 1DS snapshot maintained by DIG team (Matt/Sid). An automation testing is randomly testing at lab with following crash log:

Process: mbuunittestapp [26750] Path: /Volumes/VOLUME/*/mbuunittestapp Identifier: mbuunittestapp Version: () Code Type: ARM-64 Parent Process: Python [25479] User ID: 502

Date/Time: 2022-10-14 15:36:07.00 -0700 OS Version: macOS 12.6 (21G115) Report Version: 2 Anonymous UUID: DA6A410D-7034-1F8E-849E-AAFF7D645BC3

Time Awake Since Boot: 110000 seconds

System Integrity Protection: disabled

Crashed Thread: 3

Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: 0x0000000000000001, 0x555555555555558c

Termination Signal: Segmentation fault: 11 Termination Reason: Namespace: SIGNAL, 11 Termination Process: exc handler [26750]

Thread 0: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x1b442ea90 __write_nocancel + 8 1 libsystem_c.dylib 0x1b435c5b0 __swrite + 23 2 libsystem_c.dylib 0x1b433b444 _swrite + 107 3 libsystem_c.dylib 0x1b433956c __sflush + 231 4 libsystem_c.dylib 0x1b433940c fflush + 35 5 libc++.1.dylib 0x1b43d8074 std::__1::__stdoutbuf::sync() + 179 6 libc++.1.dylib 0x1b43c6324 std::__1::basic_ostream<char, std::__1::char_traits >::flush() + 143 7 libc++.1.dylib 0x1b43d73a4 std::__1::DoIOSInit::~DoIOSInit() + 31 8 libsystem_c.dylib 0x1b4353dd0 __cxa_finalize_ranges + 463 9 libsystem_c.dylib 0x1b4353b74 exit + 43 10 libdyld.dylib 0x1b4474ec4 dyld4::LibSystemHelpers::exit(int) const + 19 11 dyld 0x100ffd0d8 start + 595

Thread 1: 0 libsystem_pthread.dylib 0x1b4463078 start_wqthread + 0

Thread 2: 0 libsystem_pthread.dylib 0x1b4463078 start_wqthread + 0

Thread 3: Crashed: 0 MAUUnittests.dylib 0x108d46294 std::__1::less<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >::operator()(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) const + 12 1 MAUUnittests.dylib 0x108d46188 std::__1::__tree_node_base<void*>& std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant> > >::__find_equal<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >(std::__1::__tree_end_node<std::__1::__tree_node_base<void>>&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) + 60 2 MAUUnittests.dylib 0x108d46188 std::__1::__tree_node_base<void*>& std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant> > >::__find_equal<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >(std::__1::__tree_end_node<std::__1::__tree_node_base<void>>&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) + 60 3 MAUUnittests.dylib 0x108d46098 std::__1::pair<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant>, void*>, long>, bool> std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, Microsoft::Applications::Events::Variant> > >::__emplace_unique_key_args<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::piecewise_construct_t const&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >&&>, std::__1::tuple<> >(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::piecewise_construct_t const&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >&&>&&, std::__1::tuple<>&&) + 40 4 MAUUnittests.dylib 0x108d4601c Microsoft::Applications::Events::ILogConfiguration::operator[](char const) + 64 5 MAUUnittests.dylib 0x108d574cc Microsoft::Applications::Events::RuntimeConfig_Default::GetCollectorUrl() + 32 6 MAUUnittests.dylib 0x108d6ad58 Microsoft::Applications::Events::HttpRequestEncoder::handleEncode(std::__1::shared_ptrMicrosoft::Applications::Events::EventsUploadContext const&) + 172 7 MAUUnittests.dylib 0x108d66b24 void Microsoft::Applications::Events::RouteSource<std::__1::shared_ptrMicrosoft::Applications::Events::EventsUploadContext const&>::operator()<std::__1::shared_ptrMicrosoft::Applications::Events::EventsUploadContext const&>(std::__1::shared_ptrMicrosoft::Applications::Events::EventsUploadContext const&) const + 56 8 MAUUnittests.dylib 0x108d87568 Microsoft::Applications::Events::Packager::handleFinalizePackage(std::__1::shared_ptrMicrosoft::Applications::Events::EventsUploadContext const&) + 140 9 MAUUnittests.dylib 0x108d8532c Microsoft::Applications::Events::StorageObserver::handleRetrieveEvents(std::__1::shared_ptrMicrosoft::Applications::Events::EventsUploadContext const&) + 196 10 MAUUnittests.dylib 0x108d9c648 Microsoft::Applications::Events::TransmissionPolicyManager::uploadAsync(Microsoft::Applications::Events::EventLatency) + 192 11 MAUUnittests.dylib 0x108d890d4 Microsoft::Applications::Events::PlatformAbstraction::WorkerThread::threadFunc(void*) + 324 12 MAUUnittests.dylib 0x108d89618 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, void ()(void), void*> >(void*) + 44 13 libsystem_pthread.dylib 0x1b446826c _pthread_start + 147 14 libsystem_pthread.dylib 0x1b446308c thread_start + 7

Thread 4: 0 libsystem_pthread.dylib 0x1b4463078 start_wqthread + 0

Thread 5: 0 libsystem_pthread.dylib 0x1b4463078 start_wqthread + 0

Thread 6: 0 libsystem_pthread.dylib 0x1b4463078 start_wqthread + 0

Thread 7: Dispatch queue: com.apple.CFNetwork.CacheDB-write 0 com.apple.CoreFoundation 0x1b44d8ccc CFBasicHashAddValue + 1040 1 com.apple.CoreFoundation 0x1b44d8850 CFDictionaryAddValue + 347 2 com.apple.CoreFoundation 0x1b44d8850 CFDictionaryAddValue + 347 3 com.apple.CoreFoundation 0x1b45085bc _flattenPlist + 307 4 com.apple.CoreFoundation 0x1b4508720 _flattenPlist + 663 5 com.apple.CoreFoundation 0x1b4507e80 __CFBinaryPlistWriteOrPresize + 319 6 com.apple.CoreFoundation 0x1b4507aa0 CFPropertyListWrite + 203 7 com.apple.CoreFoundation 0x1b4529684 CFPropertyListCreateData + 143 8 com.apple.CFNetwork 0x1b90cd580 0x1b90bf000 + 58752 9 com.apple.CFNetwork 0x1b90cea1c 0x1b90bf000 + 64028 10 com.apple.CFNetwork 0x1b91d97c0 0x1b90bf000 + 1157056 11 libdispatch.dylib 0x1b42b2fb4 _dispatch_block_async_invoke2 + 147 12 libdispatch.dylib 0x1b42a41b4 _dispatch_client_callout + 19 13 libdispatch.dylib 0x1b42ab8a8 _dispatch_lane_serial_drain + 667 14 libdispatch.dylib 0x1b42ac438 _dispatch_lane_invoke + 443 15 libdispatch.dylib 0x1b42b6c98 _dispatch_workloop_worker_thread + 647 16 libsystem_pthread.dylib 0x1b4464360 _pthread_wqthread + 287 17 libsystem_pthread.dylib 0x1b4463080 start_wqthread + 7

Thread 8: 0 libsystem_kernel.dylib 0x1b442a8b0 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x1b442ad20 mach_msg + 75 2 com.apple.CoreFoundation 0x1b4535210 __CFRunLoopServiceMachPort + 371 3 com.apple.CoreFoundation 0x1b45336c0 __CFRunLoopRun + 1179 4 com.apple.CoreFoundation 0x1b4532a84 CFRunLoopRunSpecific + 599 5 com.apple.CFNetwork 0x1b932a638 0x1b90bf000 + 2537016 6 com.apple.Foundation 0x1b54105cc NSThread__start + 807 7 libsystem_pthread.dylib 0x1b446826c _pthread_start + 147 8 libsystem_pthread.dylib 0x1b446308c thread_start + 7

Binary Images: 0x1b4429000 - 0x1b4460fff libsystem_kernel.dylib () /usr/lib/system/libsystem_kernel.dylib 0x1b4328000 - 0x1b43a9fff libsystem_c.dylib () /usr/lib/system/libsystem_c.dylib 0x1b43aa000 - 0x1b4410fff libc++.1.dylib () <3d1e6031-901d-3df1-9e9a-f85ff1c2e803> /usr/lib/libc++.1.dylib 0x1b446e000 - 0x1b447afff libdyld.dylib () /usr/lib/system/libdyld.dylib 0x100ff8000 - 0x101057fff dyld () <38ee9fe9-b66d-3066-8c5c-6ddf0d6944c6> /usr/lib/dyld 0x1b4461000 - 0x1b446dfff libsystem_pthread.dylib () <63c4eef9-69a5-38b1-996e-8d31b66a051d> /usr/lib/system/libsystem_pthread.dylib 0x108cb8000 - 0x108df7fff MAUUnittests.dylib () <7243901e-e6b9-3beb-929d-32538dc7cda4> /Volumes/VOLUME//MAUUnittests.dylib 0x1b44b0000 - 0x1b49f6fff com.apple.CoreFoundation (6.9) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x1b90bf000 - 0x1b9573fff com.apple.CFNetwork (1335.0.3) /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork 0x1b42a0000 - 0x1b42e6fff libdispatch.dylib () /usr/lib/system/libdispatch.dylib 0x1b53b4000 - 0x1b57a5fff com.apple.Foundation (6.9) <8bbf8f9b-0034-34f0-a2c5-13c31941632d> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 0x0 - -0x1 ??? () <00000000-0000-0000-0000-000000000000> ???

VM Region Summary: ReadOnly portion of Libraries: Total=791.9M resident=0K(0%) swapped_out_or_unallocated=791.9M(100%) Writable regions: Total=1.2G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.2G(100%)

                            VIRTUAL   REGION 

REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Activity Tracing 256K 1 ColorSync 64K 2 CoreGraphics 16K 1 CoreServices 624K 2 Dispatch continuations 64.0M 1 Kernel Alloc Once 32K 1 MALLOC 1.1G 165 MALLOC guard page 288K 14 Performance tool data 4288K 8 not counted in TOTAL below SQLite page cache 256K 4 STACK GUARD 56.1M 9 Stack 12.2M 9 VM_ALLOCATE 64K 4 __AUTH 1861K 155 __AUTH_CONST 9511K 307 __CTF 756 1 __DATA 8582K 297 __DATA_CONST 10.0M 312 __DATA_DIRTY 726K 113 __FONT_DATA 4K 1 __LINKEDIT 580.4M 6 __OBJC_CONST 1243K 128 __OBJC_RO 83.0M 1 __OBJC_RW 3168K 1 __TEXT 211.4M 327 __UNICODE 592K 1 dyld private memory 1024K 1 libnetwork 640K 16 mapped file 50.4M 15 shared memory 848K 12 =========== ======= ======= TOTAL 2.2G 1907

eduardo-camacho avatar Oct 17 '22 20:10 eduardo-camacho

As discussed in last community meeting, this seems to be scenario where caller having a background thread running as the globals are being torn down. These background threads are still trying to emit events while main thread is tearing down.

lalitb avatar Nov 01 '22 19:11 lalitb