-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Description
I’m seeing an intermittent crash in e2e testing in CI, I was wondering if this rings any bells to you?
Crash dump: https://dev.azure.com/ms/_apis/resources/Containers/4676630/ReactUWPTestAppTreeDump?itemPath=ReactUWPTestAppTreeDump%2FCrashDumps%2FReactUWPTestApp.exe%281%29.7008.dmp
Symbols pkg: https://dev.azure.com/ms/_apis/resources/Containers/4676630/ReactUWPTestApp?itemPath=ReactUWPTestApp%2FAppPackages%2FReactUWPTestApp_1.0.0.0_x64_Test%2FReactUWPTestApp_1.0.0.0_x64.appxsym
Mso::Future<void> ReactViewHost::InitViewInstanceInQueue(ReactViewOptions &&options) noexcept {
// Make sure that we set new options even if we do not load due to the pending unload.
m_options.Exchange(std::move(options));
VerifyElseCrashSzTag(
!m_isViewInstanceInited.Load(),
"The viewInstance must be unloaded before the load with new options.",
0x0285411a /* tag_c7ue0 */);
return InitViewInstanceInQueue();
}Stack:
11 000000d2`2c8fda80 00007ffd`b88eeed0 ntdll!KiUserExceptionDispatcher+0x2e
12 000000d2`2c8fe850 00007ffd`b89e6d01 Microsoft_ReactNative!CrashWithRecovery+0x8 [D:\a\1\s\vnext\Mso\src\crash\crash_min.cpp @ 24]
13 000000d2`2c8fe880 00007ffd`b89e55b1 Microsoft_ReactNative!Mso::React::ReactViewHost::InitViewInstanceInQueue+0x7d [D:\a\1\s\vnext\Microsoft.ReactNative\ReactHost\ReactHost.cpp @ 414]
14 000000d2`2c8fe920 00007ffd`b89e706a Microsoft_ReactNative!<lambda_aa45d089ce1bc7f48b3a357485d9cd03>::operator()+0xa9 [D:\a\1\s\vnext\Microsoft.ReactNative\ReactHost\ReactHost.cpp @ 174]
15 (Inline Function) --------`-------- Microsoft_ReactNative!Mso::Executors::Internal::ExecutorInvoker::Invoke+0xa [D:\a\1\s\vnext\Mso\future\details\executor.h @ 203]
16 000000d2`2c8fea50 00007ffd`b88f4e16 Microsoft_ReactNative!Mso::Futures::FutureTaskInvoke<Mso::Executors::Inline,<lambda_aa45d089ce1bc7f48b3a357485d9cd03>,void,Mso::Future<void>,4>::Invoke+0x2a [D:\a\1\s\vnext\Mso\future\details\futureTask.h @ 317]
17 (Inline Function) --------`-------- Microsoft_ReactNative!Mso::Futures::CurrentFutureImpl::{dtor}+0x9 [D:\a\1\s\vnext\Mso\src\future\futureImpl.cpp @ 185]
18 000000d2`2c8fea90 00007ffd`b88f4759 Microsoft_ReactNative!Mso::Futures::FutureImpl::Invoke+0x146 [D:\a\1\s\vnext\Mso\src\future\futureImpl.cpp @ 285]
19 (Inline Function) --------`-------- Microsoft_ReactNative!Mso::Executors::Inline::Post+0x10 [D:\a\1\s\vnext\Mso\src\future\executor.cpp @ 25]
1a 000000d2`2c8feaf0 00007ffd`b88f59d5 Microsoft_ReactNative!Mso::Futures::FutureTaskPost<Mso::Executors::Inline>::Post+0x29 [D:\a\1\s\vnext\Mso\future\details\futureTask.h @ 153]
1b 000000d2`2c8feb30 00007ffd`b88f5b81 Microsoft_ReactNative!Mso::Futures::FutureImpl::TryPostInternal+0x1b5 [D:\a\1\s\vnext\Mso\src\future\futureImpl.cpp @ 891]
1c 000000d2`2c8febc0 00007ffd`b88f5001 Microsoft_ReactNative!Mso::Futures::FutureImpl::PostContinuation+0x3d [D:\a\1\s\vnext\Mso\src\future\futureImpl.cpp @ 920]
1d 000000d2`2c8fec00 00007ffd`b89e5807 Microsoft_ReactNative!Mso::Futures::FutureImpl::AddContinuation+0x101 [D:\a\1\s\vnext\Mso\src\future\futureImpl.cpp @ 369]
1e 000000d2`2c8fec60 00007ffd`b89e547b Microsoft_ReactNative!Mso::Future<void>::Then<Mso::Executors::Inline,<lambda_aa45d089ce1bc7f48b3a357485d9cd03> >+0xb7 [D:\a\1\s\vnext\Mso\future\details\futureInl.h @ 117]
1f 000000d2`2c8fecb0 00007ffd`b89ea646 Microsoft_ReactNative!Mso::React::ReactHost::LoadInQueue+0x253 [D:\a\1\s\vnext\Microsoft.ReactNative\ReactHost\ReactHost.cpp @ 170]
20 (Inline Function) --------`-------- Microsoft_ReactNative!Mso::React::ReactHost::MakeLoadInstanceAction::__l2::<lambda_dc00d2cc6df73270bdc817083882420f>::operator()+0x10 [D:\a\1\s\vnext\Microsoft.ReactNative\ReactHost\ReactHost.cpp @ 114]
21 000000d2`2c8ff340 00007ffd`b89e201a Microsoft_ReactNative!Mso::Details::FunctionObjectWrapper<<lambda_dc00d2cc6df73270bdc817083882420f>,Mso::Future<void> >::Invoke+0x16 [D:\a\1\s\vnext\Mso\functional\functor.h @ 165]
22 (Inline Function) --------`-------- Microsoft_ReactNative!Mso::Functor<Mso::Future<void> __cdecl(void)>::operator()+0x14 [D:\a\1\s\vnext\Mso\functional\functor.h @ 411]
We will likely need to add some instance management logging in a memory structure; it could be as simple as a circular buffer where we keep strings, or we could put breadcrumbs in the property bag in the react context