This is an automated email from the ASF dual-hosted git repository.
ptupitsyn pushed a commit to branch ignite-2.16
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/ignite-2.16 by this push:
new 7d73b0b145f IGNITE-23732 .NET: Document CET crash on .NET 9 (#11677)
7d73b0b145f is described below
commit 7d73b0b145fe9c7dc07b3c85f924b76da8f2f01d
Author: Pavel Tupitsyn <[email protected]>
AuthorDate: Fri Nov 22 12:55:05 2024 +0200
IGNITE-23732 .NET: Document CET crash on .NET 9 (#11677)
---
docs/_docs/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 cc4617bf255..dfd0dd15ec7 100644
--- a/docs/_docs/net-specific/net-troubleshooting.adoc
+++ b/docs/_docs/net-specific/net-troubleshooting.adoc
@@ -178,3 +178,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]
+----
+<PropertyGroup>
+ <CETCompat>false</CETCompat>
+</PropertyGroup>
+----
+--
\ No newline at end of file