View Issue Details

IDProjectCategoryView StatusLast Update
0005188NoesisGUIC# SDKpublic2026-08-26 00:21
ReporterBrandonReinhart Assigned Tosfernandez  
PrioritynormalSeveritycrash 
Status assignedResolutionopen 
Product Version4.0 
Target Version4.0.1 
Summary0005188: Managed RenderDevice subclass crashes in Noesis_RenderDevice_Extend
Description

I'm working on a nuget package for Noesis 4.0 to Godot 4.7.

A managed subclass of Noesis.RenderDevice crashes during construction with Noesis.GUI 4.0.0 on Linux.

Noesis.GUI.Init() succeeds. Constructing the RenderDevice subclass immediately segfaults before the first line of the subclass constructor body executes. The failure reproduces in a standalone console process. It does not require Godot to be running, a graphics API or graphics device, XAML, a View, or a call to Renderer.Init().

Environment

  • Noesis.GUI: 4.0.0 from NuGet
  • .NET runtime: 9.0.16
  • .NET SDK: 9.0.314
  • Target framework tested: net8.0 and net9.0
  • Managed Noesis assemblies tested:
    • lib/netstandard2.0/Noesis.GUI.dll
    • lib/net9.0/Noesis.GUI.dll
  • OS: Ubuntu 26.04 x64
  • Native library:
    runtimes/linux-x64/native/libNoesis.so
  • libNoesis.so SHA-256: 0256ab770e9c3490c4168784987620608bc4f11786f47a44e9bda57cbe1b2f7b

Minimal Repro:

  Noesis.GUI.Init();
  Console.Error.WriteLine("Noesis initialized");

  _ = new CustomRenderDevice();

  // Never reached, including the first line of the CustomRenderDevice
  // constructor body.
  Console.Error.WriteLine("RenderDevice constructed");

The process exits with SIGSEGV / exit code 139. GDB shows the main thread entering libNoesis.so during the managed RenderDevice base constructor. The stack includes the native path associated with Noesis_RenderDevice_Extend and then calls through address 0x0.

The subclass constructor body is never entered, so no application rendering code, buffer allocation, graphics-device access, or callback implementation has run.

  • Reproduces outside Godot in a standalone console application.
  • Reproduces without Vulkan or any graphics device.
  • Reproduces before Renderer.Init().
  • Reproduces with application type registration disabled.
  • Reproduces without application resources or XAML.
  • Reproduces using both the netstandard2.0 and net9.0 Noesis managed assemblies.
  • The loaded libNoesis.so exactly matches the file shipped in the Noesis.GUI 4.0.0 NuGet package.
PlatformLinux

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2026-08-25 17:36 BrandonReinhart New Issue
2026-08-26 00:21 sfernandez Assigned To => sfernandez
2026-08-26 00:21 sfernandez Status new => assigned
2026-08-26 00:21 sfernandez Target Version => 4.0.1