View Issue Details

IDProjectCategoryView StatusLast Update
0003978NoesisGUIC# SDKpublic2025-08-06 17:02
Reporterdarthmaule2 Assigned Tosfernandez  
PrioritynormalSeveritycrash 
Status resolvedResolutionfixed 
Product Version3.2.7 
Target Version3.2.9Fixed in Version3.2.8 
Summary0003978: ExecutionEngineException during application shutdown after upgrading to .NET 9
Description

I get an ExecutionEngineException on application shutdown.

The exception originates in Extend.cs:

private static void ReleasePending()
{
    lock (_pendingRelease)
    {
        int count = _pendingRelease.Count;
        for (int i = 0; i < count; i++)
        {
            BaseComponent.Release(_pendingRelease[i]);    <----- Exception here
        }
        _pendingRelease.RemoveRange(0, count);
    }
}

And with this console output:

Fatal error. 0xC0000005
at Noesis.NoesisGUI_PINVOKE.BaseComponent_Release(IntPtr)
at Noesis.Extend.ReleasePending()
at Noesis.Extend.Shutdown()
at Noesis.GUI.Shutdown()
at NoesisApp.Application.Finish()
at NoesisApp.Application.Run()
at UIShell.App.Main(System.String[])

Steps To Reproduce

Startup my application
Close the application

PlatformAny

Activities

sfernandez

sfernandez

2025-02-25 13:28

manager   ~0010378

Is this reproducible in the windows version of the software?
Can we get the code for the latest version to reproduce it?

darthmaule2

darthmaule2

2025-04-01 18:42

reporter   ~0010454

I did some git bisecting, and found this:

  1. An AccessViolationException started occurring on shutdown after upgrading from Noesis 3.2.5 to 3.2.7
  2. That same spot in the code then started throwing an ExecutionEngineExceptoin after upgrading to .NET 9
  3. Prior to the 3.2.5 upgrade, shutdown did not throw an exception, but it did hang in the debugger when running in Visual Studio on Windows, so maybe I’m doing something bad…

Probably 1 & 2 are the same thing and maybe even 3.

sfernandez

sfernandez

2025-04-02 22:25

manager   ~0010455

The crash occurs deleting a RenderTarget object after the RenderDevice is already destroyed. Somehow that render target is being kept alive.
I'll need more time to discover the order of destruction of things in your application to find a solution.

Issue History

Date Modified Username Field Change
2025-02-24 19:23 darthmaule2 New Issue
2025-02-25 13:28 sfernandez Assigned To => sfernandez
2025-02-25 13:28 sfernandez Status new => feedback
2025-02-25 13:28 sfernandez Note Added: 0010378
2025-02-26 12:58 jsantos Target Version => 3.2.8
2025-04-01 18:42 darthmaule2 Note Added: 0010454
2025-04-01 18:42 darthmaule2 Status feedback => assigned
2025-04-02 22:25 sfernandez Status assigned => feedback
2025-04-02 22:25 sfernandez Note Added: 0010455
2025-06-06 12:52 jsantos Target Version 3.2.8 => 3.2.9
2025-08-06 17:02 sfernandez Status feedback => resolved
2025-08-06 17:02 sfernandez Resolution open => fixed
2025-08-06 17:02 sfernandez Fixed in Version => 3.2.8