PlayerController blueprint compile hang on 4.11.2

Since upgrading from 4.10 to 4.11.2 I am unable to compile my PlayerController blueprint. The editor hangs indefinitely and starts leaking memory, while also using a constant 1.5Mbps of network (editor uses 1.2GB memory before compile, after letting it hang for 10 minutes it climbed steadily to ~8GB).

  • The project is blueprint-only, and I use Perforce on a LAN server.
  • The project was upgraded using the “open a copy” method on a clean 4.11.2 installation
  • The PlayerController is the child of another custom playercontroller blueprint (the parent compiles fine if I delete the child)
  • The project has been running fine on 4.11 for a couple of days and every other class compiles OK - I only noticed the problem once I needed to modify this PlayerController, so now I’m blocked.
  • On 4.10/4.9/4.8, the PlayerController compiled without issues (~2 sec).

.

I am happy to send a project link privately if someone can debug it (it’s under 20MB zipped).

.

Things I’ve tried:

  • Compiling all blueprints it references (and all blueprints that reference it), before compiling it
  • Disconnecting from source control
  • Deleting all temp data (Intermediate folder, Build folder, DerivedDataCache)
  • Removing the blueprint from the project, then compiling it’s parent, then re-adding the blueprint to the project
  • Fixupredirects
  • Removing a reference to an old interface class it was using

.

Possibly related - since the 4.11 upgrade I’ve also started getting the “Files need check-out!” popup spam, as bugged in this thread.

Any help appreciated. Before discovering the bug I’d done a couple of full days work since upgrading to 4.11, so I’d hate to have to roll back to 4.10 and lose it all.

Hi ,

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?
  • What steps can I take to reproduce this on my end?
  • Do you use source control?
  • What is contained in your PlayerController blueprint?

Hi ,

  • Does this occur in a clean, blank project with no additional content or is it limited to one project? - Yes, if I put my blueprints into a fresh, blank 4.11.2 project, the hang occurs.
  • What steps can I take to reproduce this on my end? - you can load the project I just sent you in the forums :slight_smile: in 4.11.2, open Blueprints > PS_PlayerController and attempt to compile.
  • Do you use source control? - Yes, Perforce - I have tried disabling it, and it has been working no problem on prior engine versions (see first post).
  • What is contained in your PlayerController blueprint? - plenty of blueprint scripting but nothing I can think of that is overly special… input events, custom events, functions etc. An overridden parent class function, an event dispatcher.

Hi ,

After deleting things one by one I have narrowed it down to an input event, however it’s still unclear why it’s causing a hang in my PlayerController and I can’t find a workaround (other than not using an input event).

Having this in my PlayerController (PS_PlayerController), causes the hang:

88667-inputaction.png

I have tried making a new blank playercontroller and placing it in there, no hang. I also tried placing it in a new blank child BP of the blank playercontroller (since in my case, the playercontroller is a child of another class), no hang.
I tried deleting and re-creating the input binding, creating fresh nodes etc, no luck.

So there is something special about my PlayerController still, that is causing a problem with the basic input event, in 4.11.2.

Hi ,

I was able to reproduce the compile hange, but I cannot find the event you are speaking about. Is it named something other than EscapeKey in the version you sent me?

Hi ,

I have entered a bug report, UE-30063, to be assessed by the development staff.

Hi ,

Sorry yes, I had renamed it from “InGameMenu” to “EscapeKey” while reproducing (because I had a function named “InGameMenu” as well, so I was making sure that wasn’t the cause of the problem :slight_smile: ).

Also, the custom playercontroller blueprint keeps crashing on almost every compile if there is any change in the nodes or connectors. Saving before compiling helps a lot. In our case, there was a lot of suspicion on two custom events getting fired from a custom AI controller, because it compiles fine with just the Tick event. But Event BeginPlay also caused the same issue.

Hi ,

That sounds like a separate error and should be made into a new bug report so we can assist you more in depth. Please make a new post in the bug reports section. In the post, please include what is occurring, what steps we can take to reproduce the error on our end, your crash logs and callstack, and whether or not you have reproduced this in a clean, blank project with no additional content or if it is limited to one project.

Hmmm. I can’t reproduce this for some reason. Neither in a blank project nor in the project converted from 4.8.3 to 4.11.2. Perhaps it was a one time thing and the computer needed a good old hard . I will continue to monitor and do the needful as you requested, .

I was able to reproduce this today in my project 4.11. I compiled my PlayerController Blueprint multiple times today with success. The Controller in question has a “Key B” event since a few git revisions and also compiled without problems until just a moment ago. Now, every time I hit “compile” the editor freezes. I’ve tried all the things did and also re-renamed a lot of functions parameters to make sure it is not the invisible rename bug where the name displayed in the blueprint is not the actual name that compiles. After coming across this post I removed the “Key B” event node, now it compiles again.

Also: when it freezes it seems leak memory is leeking and it rose from 800MB RAM (which is about what it usually has) up to 5GB at which point I just termiated the task.

This is marked as fixed in 4.13 - but in case there’s anyone looking for a workaround in a prior engine version - I put the input key events in my PlayerController’s parent class, and had those fire Custom Events which I then used in the child PlayerController. The hang doesn’t happen then.