UE 4.26 Project Will Not Open After Crash During Blueprint Compilation (freezes at 92%, 93%, or 94%)—MaxElements

Hello friendly UE4 community,

I have a project that will not open. The loading screen freezes either at 92%, 93%, or 94%, memory usage for the process skyrockets until system memory is near 100%, and then about 15 minutes later I get a crash report. This is happening consistently (I have tested it about 10 times, 4 times to completion without killing the process, including after engine verification and reverting checked out files).

Here is my output log: Log file open, 05/20/21 19:57:28LogInit: LLM is enabledLogInit: LLM CsvWrite - Pastebin.com

I finished an engine verification and the project failed to open again.

This issue seems to have sprung from a bad compilation inside of blueprint, I’m not quite sure why this happened, but I had a crash on compile, and the project no longer opens.

Fortunately, I made a submission to Perforce about an hour before this crash, but after reverting all modified files (really only two, but I did the same for three other files that were also checked out according to P4V), the project still will not open.

Here are some particulars about what I was doing prior to this failed compile:

  1. Adding two new DateTime variables to my main user SaveGame class (also BP), CreateTime and UpdateTime.
  2. Adding functionality to the GameInstance in the player loading execution to see if the player needs a certain update (defaulting out control settings in this case).

I don’t think that I did anything weird with the node wiring, but it is possible (some sort of infinite loop type thing—I was being careful to avoid this). What is weird to me is that after reverting what would presumably be the effected files, the project still won’t open.

Also, in regard to the MaxElements/max UObjects going over 25mm, this has never been a game/project in the past with tons of actors. I’m not sure how this recent node work could create that number of references or actors.

Thank God I have a backup of the entire project from 2021-05-17 that I will now try to unzip and open with the engine, but I would still like to recover this project for obvious reasons. In lieu of finding a solution in time, I wanted to post this so that people experiencing this issue in the future can find a solution.

Fortunately I have solved my problem, and the timely commit to source control was key. It turns out that all I needed to do was revert the GameInstance Blueprint class that had the bad compile. I also know the cause of this bad compile, I had accidentally put macro A (which contains a call to macro B) into collapsed nodes, that were inside of macro B. I thought that the Blueprint editor prevented this, but I checked again, and it wasn’t even related to collapsed nodes, I could drop it right in to the macro that it itself called.

Considering that the editor won’t let you put a Delay node in a macro library or in a function, could there also be a check that macros aren’t dropped in to macros that they also call? It was stupid wee hours thinking by me and not being careful, but man that is a hefty price to pay if you make the mistake of creating a loop like that. Without source control or backups you could lose days of work or everything.

I still have the corrupted file if anyone wants to try to figure out how to save it, I’m willing to try.

Epic team, I understand if you want to mark this as solved since I suppose it isn’t technically a bug. It is a pretty glaring hole in the typical foolproofing that BP provides (for example: editor has an infinite loop check for PIE, attempting to divide by 0 will mess things up but not crash your computer, I don’t think you can create a function loop like this).