Crash after adding a function to a blueprint interface

Hey Guys,

I was working on my project, and added a function to a blueprint interface. When I compiled, the editor threw an exception. When I restarted the editor, it crashes and closes out with the below output logging.

Something is wrong with the interface blueprint and the editor can’t start up with it, the only way to get the editor to start is to remove the blueprint from the content directory (or change the extension), but then all the rest of the blueprints referencing the interface are broken. I think the bolded line is the issue.

Can somebody explain to me why this happens?

[2015.05.23-03.44.42:252][ 0]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a QuestMaster_C, therefore ’ Target ’ must have a connection.
[2015.05.23-03.44.42:252][ 0]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a TWEQuestMasterBase, therefore ’ Target ’ must have a connection.
[2015.05.23-03.44.42:253][ 0]LogBlueprint:Error: [compiler] Error Variable node Get QuestInfo uses an invalid target. It may depend on a node that is not connected to the execution chain, and got purged.
[2015.05.23-03.44.42:272][ 0]LogBlueprint:Warning: [compiler] Warning [0007.75] Compile of QuestGiverMaster failed. 3 Fatal Issue(s) 0 Warning(s) [in 61 ms]
[2015.05.23-03.44.42:273][ 0]LogBlueprint:Warning: [compiler] Warning [0007.75] Compile of QuestGiverMaster failed. 3 Fatal Issue(s) 1 Warning(s) [in 0 ms]
[2015.05.23-03.44.42:273][ 0]LogBlueprint:Warning: [compiler] Warning [0007.75] Compile of QuestGiverMaster failed. 3 Fatal Issue(s) 2 Warning(s) [in 0 ms]
[2015.05.23-03.44.42:274][ 0]LogBlueprint:Warning: [compiler] Warning [0007.75] Compile of QuestGiverMaster failed. 3 Fatal Issue(s) 3 Warning(s) [in 0 ms]
[2015.05.23-03.44.44:906][ 0]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a QuestMaster_C, therefore ’ Target ’ must have a connection.
[2015.05.23-03.44.44:907][ 0]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a QuestMaster_C, therefore ’ Target ’ must have a connection.
[2015.05.23-03.44.44:907][ 0]LogBlueprint:Error: [compiler] Error This blueprint (self) is not a QuestMaster_C, therefore ’ Target ’ must have a connection.
[2015.05.23-03.44.44:910][ 0]LogBlueprint:Error: [compiler] Error Variable node Get QuestInfo uses an invalid target. It may depend on a node that is not connected to the execution chain, and got purged.
[2015.05.23-03.44.44:952][ 0]LogBlueprint:Warning: [compiler] Warning [0010.43] Compile of PlayerCharacter failed. 4 Fatal Issue(s) 0 Warning(s) [in 121 ms]
[2015.05.23-03.44.44:953][ 0]LogBlueprint:Warning: [compiler] Warning [0010.43] Compile of PlayerCharacter failed. 4 Fatal Issue(s) 1 Warning(s) [in 0 ms]
[2015.05.23-03.44.44:954][ 0]LogBlueprint:Warning: [compiler] Warning [0010.43] Compile of PlayerCharacter failed. 4 Fatal Issue(s) 2 Warning(s) [in 0 ms]
[2015.05.23-03.44.44:954][ 0]LogBlueprint:Warning: [compiler] Warning [0010.43] Compile of PlayerCharacter failed. 4 Fatal Issue(s) 3 Warning(s) [in 0 ms]
[2015.05.23-03.44.45:249][ 0]LogBlueprint:Warning: RefreshAllNodes called on incompletly loaded blueprint 'Blueprint /Game/Quest/QuestInterface.QuestInterface’

Hi Devlyn811,

The possibilities could be endless.

But by reading the portion of the log that you have supplied, it says:

Error Variable node Get QuestInfo uses
an invalid target. It may depend on a
node that is not connected to the
execution chain, and got purged.

So make sure that your target to Get QuestInfo is the appropriate one. Now I can’t help you with the target since I don’t know your setup and what is connected to what.

Hey thanks for the reply!

The portion of the log you referenced is a symptom of the issue, not the issue itself. For some reason, the QuestInterface is corrupted - I removed the QuestInterface to start the editor, rebuild all the blueprints that reference (which was no small effort) and get everything working, but when I shut down the editor, the same issue occurs again and all the nodes and pins that reference the QuestInterface are invalidated.

The nearest solution I can get is to pull out my backup and re-do what I lost up till that point, but it still doesn’t solve the issue:

  • When compiling the blueprint in the first place that caused the issue, why the crash?
  • Why does the engine crash when the blueprint interface is attempted to be loaded?

This type of thing also happened before with some blueprint structs. the blueprint asset becomes corrupted (or there is a corruption elsewhere) and all the nodes referencing the blueprint in question are invalidated.

Unfortunately, in the current state, there is no ‘fix’, Even attempting to create a brand new Blueprint interface and the issue occurs again - project progress is effectively completely halted dead in its tracks.

This isn’t the first time this has occurred, but the main problem is, that when it does occur, the project is larger and it’s much more of an effort to rectify, but without knowing why this is happening, each time I click the blueprint compile button, I have to cringe as to what is going to blow up and how much effort it will take to repair the damage. And time and money are limited, deadlines loom and progress is halted, but why?

I’ve had something similar happen to me yesterday where it told me, upon opening the editor, that I was missing a module. But when I looked in my directory in question, It was there! Even after I deleted the module in question, I was still getting that error. Only 24 hours later did it recognize that it was no longer needed or called upon.

I’ll go out on a limb here, no harm in trying something. Have you tried renaming you project folder, re-opening the project in the editor. The close the editor again and rename the folder to what it was so that it can “re-discover” your project?

I’ve not tried that - it’s a C++ project - so I’ll try re-naming, re-generating, and re-building and see what that does…

Hmm - well, I gave it a go - but the same issue occurs. I don’t know where the corrpution is but here is where the code breaks:

void FKismetEditorUtilities::RecompileBlueprintBytecode(UBlueprint* BlueprintObj, TArray<UObject*>* ObjLoaded)
{
	check(BlueprintObj);
	checkf(BlueprintObj->GeneratedClass, TEXT("Invalid generated class for %s"), *BlueprintObj->GetName());

So this tells me that a file somewhere is dinked up, but no idea which file or what is wrong with it.

I do make regular backups, so it looks like pulling out from the back-up is gonna have to be the way to go. But there has to be a root cause for this issue and without knowing what it is, I don’t think that this is reasonably going to be able to work out.

Pulling from backup was the way to go. Fortunately, I was able to re-do the work in just a few hours. I haven’t been able to figure out what exactly caused the issue, but to help mitigate the problem, closing down the editor and re-starting every hour or so helps to catch these types of problems before getting too much work done in a single work session, so there is less to have to re-do if the necessity of working from a backup occurs.

T.J. thanks for fixing the title of the issue - I was venting a little and when I posted, I forgot to change it to something that was actually useful before I posted and didn’t notice. I’ll avoid that type of thing in the future.