Summary
A packaged (MSIX/AppX) or plain standalone Release .exe build of a ReactNativeWin32App (Composition/new-architecture template) crashes immediately at startup with FAST_FAIL_FATAL_APP_EXIT (0xc0000409), before any JS runs. The app works correctly only when launched via Visual Studio's F5 debugger with a live Metro connection — any other launch method (packaged AppX, plain .exe, with or without a prebuilt bundle) crashes every time.
Reproduced identically on both react-native-windows 0.85.0-preview.1 and 0.84.0 (stable), with react-native 0.85.3 and 0.84.1 respectively, so this isn't a preview-only regression.
Crash signature
!analyze -v bucket: FAIL_FAST_FATAL_APP_EXIT_c0000409_ucrtbase.dll!abort
- An uncaught C++ exception is thrown, dispatch fails to find a handler,
ucrtbase!terminate → ucrtbase!abort → int 29h.
Microsoft.ReactNative.dll ships without a public PDB, so the stack only resolves to nearest exports (facebook::yoga::Node::operator=, facebook::yoga::Event::operator=) with large, unreliable offsets.
Exact call site (found via live cdb, breakpoint on VCRUNTIME140!_CxxThrowException)
The exception is thrown twice, both times with the identical _ThrowInfo pointer (i.e. the exact same exception type/throw site both times):
- First throw: during
reactNativeWin32App.ReactNativeHost().InstanceSettings() — caught/handled internally, execution continues.
- Second throw: during
reactNativeWin32App.AppWindow() — not caught this time, propagates to abort().
Both are immediately preceded by:
(pid.tid): Windows Runtime Originate Error - code 40080201 (first chance)
(pid.tid): C++ EH exception - code e06d7363 (first chance)
The 40080201 code is completely consistent across every single run (different RNW versions, different builds, minimal vs. real app JS).
Reproduction is JS-content-independent
Reproduced with the actual app's real JS bundle and with a trivial one-line <Text> component as index.windows.js — identical crash, identical signature, identical call site. This rules out anything in application JS/config; it happens before any bundle is even read (crash occurs during InstanceSettings()/AppWindow(), both called before BundleRootPath/JavaScriptBundleFile are set).
Environment
- Visual Studio 2026 (18.10.1-1.26427.6), MSBuild toolset
v145
- Windows SDK 10.0.22621.0 (RNW's default
WindowsTargetPlatformVersion) and 10.0.26100.0 both tested, same result
- Windows 11, build 26100 (host)
- New Architecture (Fabric) enabled — default project template,
RnwNewArch/USE_WINUI3/RNW_NEW_ARCH all defined
- Note: the vendored
.vcxproj for @react-native-async-storage/async-storage's Windows native module hardcodes PlatformToolset v143, which VS2026 no longer ships — had to patch to v145 to build at all. Possibly indicates this whole toolchain combination (RNW + VS2026) isn't yet a validated/supported pairing.
Possibly related
#14954 — same failure bucket (FAIL_FAST_FATAL_APP_EXIT_c0000409_microsoft.reactnative.dll) reported via Microsoft's own telemetry against 0.82, closed without a documented root cause.
What would help
Since Microsoft.ReactNative.dll has no public PDB, we can't identify the exact throwing function or exception message ourselves. A build with symbols, or pointers to what InstanceSettings()/AppWindow() might throw internally (e.g. Yoga config validation, a DirectX/Composition device query, or a WinRT activation failure under RoOriginateError code 0x40080201) would let us narrow this down further.
Repro steps
npx react-native-windows-init (Composition/new-arch C++ app template) or equivalent existing project.
- Build Release x64, either as packaged AppX or as the plain intermediate
.exe.
- Launch it directly (not via VS F5) — crashes within ~1 second, before any window is shown.
- Launching the same binary via VS F5 with a live Metro packager connection works fine.
Summary
A packaged (MSIX/AppX) or plain standalone Release
.exebuild of aReactNativeWin32App(Composition/new-architecture template) crashes immediately at startup withFAST_FAIL_FATAL_APP_EXIT(0xc0000409), before any JS runs. The app works correctly only when launched via Visual Studio's F5 debugger with a live Metro connection — any other launch method (packaged AppX, plain.exe, with or without a prebuilt bundle) crashes every time.Reproduced identically on both react-native-windows 0.85.0-preview.1 and 0.84.0 (stable), with react-native 0.85.3 and 0.84.1 respectively, so this isn't a preview-only regression.
Crash signature
!analyze -vbucket:FAIL_FAST_FATAL_APP_EXIT_c0000409_ucrtbase.dll!abortucrtbase!terminate→ucrtbase!abort→int 29h.Microsoft.ReactNative.dllships without a public PDB, so the stack only resolves to nearest exports (facebook::yoga::Node::operator=,facebook::yoga::Event::operator=) with large, unreliable offsets.Exact call site (found via live cdb, breakpoint on
VCRUNTIME140!_CxxThrowException)The exception is thrown twice, both times with the identical
_ThrowInfopointer (i.e. the exact same exception type/throw site both times):reactNativeWin32App.ReactNativeHost().InstanceSettings()— caught/handled internally, execution continues.reactNativeWin32App.AppWindow()— not caught this time, propagates toabort().Both are immediately preceded by:
The
40080201code is completely consistent across every single run (different RNW versions, different builds, minimal vs. real app JS).Reproduction is JS-content-independent
Reproduced with the actual app's real JS bundle and with a trivial one-line
<Text>component asindex.windows.js— identical crash, identical signature, identical call site. This rules out anything in application JS/config; it happens before any bundle is even read (crash occurs duringInstanceSettings()/AppWindow(), both called beforeBundleRootPath/JavaScriptBundleFileare set).Environment
v145WindowsTargetPlatformVersion) and 10.0.26100.0 both tested, same resultRnwNewArch/USE_WINUI3/RNW_NEW_ARCHall defined.vcxprojfor@react-native-async-storage/async-storage's Windows native module hardcodesPlatformToolset v143, which VS2026 no longer ships — had to patch tov145to build at all. Possibly indicates this whole toolchain combination (RNW + VS2026) isn't yet a validated/supported pairing.Possibly related
#14954 — same failure bucket (
FAIL_FAST_FATAL_APP_EXIT_c0000409_microsoft.reactnative.dll) reported via Microsoft's own telemetry against 0.82, closed without a documented root cause.What would help
Since
Microsoft.ReactNative.dllhas no public PDB, we can't identify the exact throwing function or exception message ourselves. A build with symbols, or pointers to whatInstanceSettings()/AppWindow()might throw internally (e.g. Yoga config validation, a DirectX/Composition device query, or a WinRT activation failure underRoOriginateErrorcode 0x40080201) would let us narrow this down further.Repro steps
npx react-native-windows-init(Composition/new-arch C++ app template) or equivalent existing project..exe.