Skip to content

Commit

Permalink
IGNITE-23732 .NET: Document CET crash on .NET 9 (#11677)
Browse files Browse the repository at this point in the history
  • Loading branch information
ptupitsyn authored Nov 22, 2024
1 parent 7bde6a4 commit 7d73b0b
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions docs/_docs/net-specific/net-troubleshooting.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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>
----
--

0 comments on commit 7d73b0b

Please sign in to comment.