Migration from 4.26 to 4.27 PackagingResults: Error: Unknown Cook Failure

Hi, all! I’m trying to migrate project to new UE version and have Unknown Cook Failure. So I can not even figure out what’s the issue to fix it :frowning:

PackagingResults: Error: begin: stack for UAT
PackagingResults: Error: === Critical error: ===
PackagingResults: Error: Fatal error!
PackagingResults: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000038
PackagingResults: Error: [Callstack] 0x00007ff985ac8640 UE4Editor-Engine.dll!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff985aaf215 UE4Editor-Engine.dll!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff9983ab5c0 UE4Editor-UnrealEd.dll!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff9983e3db3 UE4Editor-UnrealEd.dll!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff9983f988f UE4Editor-UnrealEd.dll!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff99822e6a0 UE4Editor-UnrealEd.dll!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff998258f4d UE4Editor-UnrealEd.dll!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff65031a02c UE4Editor-Win64-DebugGame-Cmd.exe!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff650310d2c UE4Editor-Win64-DebugGame-Cmd.exe!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff6503110ba UE4Editor-Win64-DebugGame-Cmd.exe!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff6503140dd UE4Editor-Win64-DebugGame-Cmd.exe!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff650325984 UE4Editor-Win64-DebugGame-Cmd.exe!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ff6503278ca UE4Editor-Win64-DebugGame-Cmd.exe!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ffa87a77034 KERNEL32.DLL!UnknownFunction []
PackagingResults: Error: [Callstack] 0x00007ffa88f22651 ntdll.dll!UnknownFunction []
PackagingResults: Error: end: stack for UAT
UATHelper: Packaging (Windows (64-bit)): Took 77.1219999s to run UE4Editor-Win64-DebugGame-Cmd.exe, ExitCode=3
UATHelper: Packaging (Windows (64-bit)): ERROR: Cook failed.
UATHelper: Packaging (Windows (64-bit)):        (see C:\Users\Fenyx\AppData\Roaming\Unreal Engine\AutomationTool\Logs\d+Games+UE_4.27\Log.txt for full exception trace)
PackagingResults: Error: Cook failed.
UATHelper: Packaging (Windows (64-bit)): AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
UATHelper: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults: Error: Unknown Cook Failure

At the beginning I couldn’t start Editor die to Python Script plugin and exception:

assertion failed: !generatedwrappedtypes.contains(typeregistryname) [file:d:/build/++ue4/sync/engine/plugins/experimental/pythonscriptplugin/source/pythonscriptplugin/private/pywrappertyperegistry.cpp] [line: 1455]

I had only one Niagara asset so I removed it and related Bluprints and turned of Python and Niagara. But anyway the issue with package persissts.
What’s could be wrong? Thx!

UPD: with editor symbols I have found at least issue with python script plugin. The issue in one of my core structs, but I have no clue what’s wrong with it…

USTRUCT(BlueprintType)
struct FCharacterAttributes : public FCharacterAttributesRow
{
	GENERATED_BODY()

	//Base mesh props. Created once per Character
	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	FString AttributesRow{""};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	TSubclassOf<ATacticalCharacter> BP{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	ECharacterSize Size{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	TSubclassOf<UAnimBP> Animation{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	USkeletalMesh* HeadGear{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	USkeletalMesh* Hair{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	USkeletalMesh* Beard{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	USkeletalMesh* Head{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	USkeletalMesh* Torso{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	USkeletalMesh* Legs{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	EModularCharacterTypeEnum modularType{EModularCharacterTypeEnum::MasterPose};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	FColor HairColor{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	FColor BeardColor{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	FColor SkinColor{};

	//Secondary stats

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	int32 WeightCurrent{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	int32 HealthPointsCurrent{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	int32 HealthPointsLowest{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	int32 MindPointsCurrent{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	int32 ActionPointsCurrent{};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	FString Name{""};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	int Exp{0};

	UPROPERTY(EditAnywhere, BlueprintReadOnly, SaveGame)
	int Level{1};

	UPROPERTY(EditAnywhere, BlueprintReadWrite, SaveGame)
	TMap<FName, float> morphs;

	UPROPERTY(Instanced, EditAnywhere, BlueprintReadWrite, SaveGame)
	TArray<UCharacterFeature*> Abilities;

	UPROPERTY(Instanced, EditAnywhere, BlueprintReadWrite, SaveGame)
	TArray<USkill*> Skills;

	FCharacterAttributes() = default;

	FCharacterAttributes(const FCharacterAttributesRow& row) : FCharacterAttributesRow(row)
	{
	};

	static int32 GetTemplateStat(int32& stat) {
		return stat;
	}

	static int GetTemplateCurrent(int32& curr, int32 max) {
		if (curr > max) {
			curr = max;
		}
		return curr;
	}

	static int GetTemplateMax(int32& max, int32& stat, float& statGrowth) {
		int32 nMax = max + stat * statGrowth;
		return nMax < 0 ? 0 : nMax;
	}

	static void AddSubtractTemplateCurrent(float addition, int32& curr, int32 max) {
		curr += addition;
		if (curr < 0) {
			curr = 0;
		}

		if (curr > max) {
			curr = max;
		}
	}

	static void AddSubtractTemplateBaseMax(float addition, int32& max) {
		max += addition;
	}

	void Init() {
		HealthPointsCurrent = GetTemplateMax(
			HealthPoints,
			Constitution,
			ConstitutionToHealthPoints
		);
		HealthPointsLowest = HealthPointsCurrent;
	}
};

UPD1: After removing parts of struct I could locate the issue… BlueprintType in USTRUCT definition. But I still don’t have idea how to fix it.

1 Like

For anybody who struggles with similar error. This article helped me find and fix my issue.
So I’ve changed solution configuration for Develop Editor from "$(SolutionDir)Tactical.uproject" -skipcompile to "$(SolutionDir)Tactical.uproject" -run=Cook -TargetPlatform=WindowsNoEditor -unversioned -CookAll
In that case I could run cooking in debug mode and could find broken blueprint(which actually worked in editor =/)

One additional cooment about Python plugin error. I’ve seen this error several times in search output without solution.

assertion failed: !generatedwrappedtypes.contains(typeregistryname) [file:d:/build/++ue4/sync/engine/plugins/experimental/pythonscriptplugin/source/pythonscriptplugin/private/pywrappertyperegistry.cpp] [line: 1455]

The cause in my case was renaming of classes. I had CharacterAttributes which was renamed to CharacterAttributesComponent and I created new structure with name CharacterAttributes. In that case for CharacterAttributesComponent python plugin crated 2 wrappers (CharacterAttributesComponent, CharacterAttributes (!old name)) and when new CharacterAttributes was handled, row with that name was exist.

So for my case simple removing from \Config\DefaultEngine.ini solved the issue:
+ClassRedirects = (OldName="/Script/Tactical.CharacterAttributes",NewName="/Script/Tactical.CharacterAttributesComponent")