From 267862f5413983dbfd920cd6d123a78b5b43329a Mon Sep 17 00:00:00 2001 From: Pavel Tupitsyn Date: Fri, 22 Nov 2024 12:45:38 +0200 Subject: [PATCH] IGNITE-23732 .NET: Document CET crash on .NET 9 (#11677) --- .../net-specific/net-troubleshooting.adoc | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/_docs/net-specific/net-troubleshooting.adoc b/docs/_docs/net-specific/net-troubleshooting.adoc index 01305be7a8976..d74943b16aa8a 100644 --- a/docs/_docs/net-specific/net-troubleshooting.adoc +++ b/docs/_docs/net-specific/net-troubleshooting.adoc @@ -177,3 +177,29 @@ NativeLibrary.SetDllImportResolver( (lib, _, _) => lib == "libcoreclr.so" ? (IntPtr) (-1) : IntPtr.Zero); ---- -- + +=== .NET 9: Process exited with code -1073740791 (0xc0000409) + +Caused by Intel CET (Control-flow Enforcement Technology) being link:https://learn.microsoft.com/en-us/dotnet/core/compatibility/interop/9.0/cet-support[enabled by default for .NET 9 assemblies]. +Ignite starts a JVM in-process, which is incompatible with CET. + +More details: + +* link:https://learn.microsoft.com/en-us/dotnet/core/compatibility/9.0[Breaking changes in .NET 9] +* link:https://windows-internals.com/cet-on-windows/[CET Internals in Windows] +* link:https://ptupitsyn.github.io/Ignite-on-NET-9/[Blog: Ignite on .NET 9] + +==== Workaround + +Disable CET for the application by adding the following to the main project file (csproj, vsproj, etc): + +[tabs] +-- +tab:XML[] +[source,xml] +---- + + false + +---- +-- \ No newline at end of file