Description

The following is posted from the user who submitted this issue:

We noticed a crash happening in a certain area of our game, and the debugger showed it appeared to be attempting to free an invalid memory address in FNiagaraRenderer::SetDynamicData_RenderThread. To dig deeper into the possibility of memory corruption, we used the gflags tool and enabled all options on the UE4Editor.exe image. Now at the start of our game we would see the editor trigger an exception regarding an uninitialized critical section. We followed the trail back to this lightning strike effect and created a test project to see if we could reproduce the issue, and we could.

The exception itself is not extremely concerning and could be benign, but given that we are crashing inside the Niagara FX system with apparent memory corruption, any related issue seems very much worth investigating.

The debugger will break with an exception. Text will show in the output window such as:

>
> =======================================
> VERIFIER STOP 0000000000000210: pid 0x5AC0: Critical section not initialized.
>
> 000001F3A6289130 : Critical section address. Run !cs -s <address> to get more information.
> 000001F3ECDDAE90 : Critical section debug info address.
> 0000000000000000 : Not used.
> 0000000000000000 : Not used.
>
>
> =======================================
> This verifier stop is continuable.
> After debugging it use `go' to continue.
>
> =======================================
>
> UE4Editor.exe has triggered a breakpoint.

This has occured in the same area of our game where we have seen a crash from apparent memory corruption inside the Niagara FX system.
Steps to Reproduce
  1. Ensure gflags is installed (part of the Windows 10 SDK)
  2. Enable "Enable application verifier" on "UE4Editor.exe" image file (see screenshot)
  3. Launch the [Link Removed] project in the Unreal Editor
  4. Ensure a debugger is attached
  5. Drag an NS_LightningStrike object into the world

RESULT:

The debugger will break with an exception

EXPECTED:

The application will not generate an exception, nor crash on corrupt memory

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-116531 in the post.

1
Login to Vote

Cannot Reproduce
ComponentRendering - Niagara
Affects Versions4.26.2
Target Fix4.27
CreatedMay 25, 2021
ResolvedJun 3, 2021
UpdatedJun 22, 2021