Starting game now crashes with Assertion failed

Starting the game results in a black screen and this crash:

192671-crash1.jpg

This project builds and compiles without errors. This crash does not exist in 4.16.2.

=== Critical error: ===
 
Assertion failed: bCustomPropertyListForPostConstructionInitialized [File:H:\UnrealEngine-release\Engine\Source\Runtime\Engine\Private\BlueprintGeneratedClass.cpp] [Line: 563] 
 

KERNELBASE.dll!0x00000000FD5A9E5D
Game.exe!FOutputDeviceWindowsError::Serialize() [h:\unrealengine-release\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:120]
Game.exe!FOutputDevice::Logf__VA() [h:\unrealengine-release\engine\source\runtime\core\private\misc\outputdevice.cpp:70]
Game.exe!FDebug::AssertFailed() [h:\unrealengine-release\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
Game.exe!UBlueprintGeneratedClass::InitPropertiesFromCustomList() [h:\unrealengine-release\engine\source\runtime\engine\private\blueprintgeneratedclass.cpp:565]
Game.exe!FObjectInitializer::InitProperties() [h:\unrealengine-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:3047]
Game.exe!FObjectInitializer::PostConstructInit() [h:\unrealengine-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2751]
Game.exe!FObjectInitializer::~FObjectInitializer() [h:\unrealengine-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2662]
Game.exe!StaticConstructObject_Internal() [h:\unrealengine-release\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:3120]
Game.exe!FLinkerLoad::CreateExport() [h:\unrealengine-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3885]
Game.exe!FLinkerLoad::IndexToObject() [h:\unrealengine-release\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:4225]

Crash log here Log file open, 07/26/17 15:07:00LogWindows: LoadLibraryWithSearchPaths failed - Pastebin.com

In 4.17 preview-3, this crash only happen if building a dev build, the crash does not exist in a shipping build since shipping builds dosen’t do that assert check(…) or something.

Hey there,

Are you using any C++ in the project at all? If so, what happens when you try to launch from Visual Studio with the debugger attached?

Hello ,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue on our end?
  2. If so, could you provide a detailed list of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any settings/blueprints or code that may be involved with this issue?

I have the project setup for c++ compiling etc, mostly for dedicated server builds, the project has no c++ actors added or anything, its a BP only project. Debugging in VS breaks at the same line (563) inside this function:

void UBlueprintGeneratedClass::InitPropertiesFromCustomList(uint8* DataPtr, const uint8* DefaultDataPtr)
{
	FScopeLock SerializeAndPostLoadLock(&SerializeAndPostLoadCritical);
	check(bCustomPropertyListForPostConstructionInitialized); // Something went wrong, probably a race condition

	if (const FCustomPropertyListNode* CustomPropertyList = GetCustomPropertyListForPostConstruction())
	{
		InitPropertiesFromCustomList(CustomPropertyList, this, DataPtr, DefaultDataPtr);
	}
}

Im going to look into reproducing this in a new project, the main project is pretty large so not sure I can isolate the issue without any further debug info from VS, it seems pretty much anything could have failed that assert.

  1. No, im not using the FMod plugin.

  2. Yes, removing all widgets seems to prevent the crash from happening.

  3. The widgets are just pretty straight forward widgets, some like the HUD use a BP interface, and some have events that are called from other actors in the game and/or vise versa, but nothing special.

Voted. Thank you for notifying!

This error is the same I get when trying to load my project in the 4.17 editor, so it might be related:

Hmm yeah its the same crash, mine only happen when launching a dev build of the packaged game, but its the same crash for sure.

Additional questions:

  1. Are you currently using the FModStudio plugin?
  2. If you remove all widgets from the project before upgrading, does the crash still occur?
  3. If so, could you provide information on how your widgets are setup?
  1. Yes, I’m using the FMod plugin.
  2. Removing all widgets solves the problem and the project loads successfully.
  3. I can send you the project files in a private message if you want.

Thanks.

Hi all,

epic have confirmed this is a bug:

Go up vote there :smiley:

I am having this issue in 4.17.1
I managed to debug this and find which widgets are broken, but is there a way to Fix Broken Widgets?

I tried duplicating some of the widgets and deleting the old ones which were causing the crash, this fixed some but not all of the widget.

I went to line 563 in the BlueprintGeneratedClass.cpp where the error was reported, since i have the source version of the engine and put a breakpoint on it, i was then able to step through all the widgets and if they were false they were the broken ones, I actually just commented out that line and was able to package my game and server and run both. This may be a pretty bad way to fix the issue but at least my game runs now!

1 Like

Not sure… I had a widget that crashed as soon as it hit a “play animation” node in the graph. The ONLY way to stop the engine from crashing was to create a brand new widget BP and copy/paste everything from inside the old widget, into the new one.

No change I made to the old widget, (deleting / re-adding nodes, refreshing, re-saveing etc), made any difference.

Do you have any good method for finding what widgets are broken? Its a bit of a hit n miss for me right now.

In my case, I found that all the widgets had circular references between themselves and my player controller (the PC created the widget, and then i had button clicked handlers in the widget that got the player controller and cast it to the blueprint type that was creating the widget in the first place). I suspected these were the cause, so I removed the circular references, and it fixed the crash.

I replaced that behaviour with an event driven system, so the widget doesn’t reference the player controller any more, but instead uses and event dispatcher which the PC handles.

We found a workaround. Event driven loader seems to fix the problem in our case.

They supposedly fixed it in 4.17.2
The last comment has a link to the fix.