Crash at GetUnknownProperties #509

Open
opened 2026-05-02 01:46:12 +02:00 by mikh-abc · 4 comments
mikh-abc commented 2026-05-02 01:46:12 +02:00 (Migrated from github.com)

Call stack
Dumper-7.dll!StructManager::GetInfo(const UEStruct Struct) Line 134
Dumper-7.dll!StructWrapper::StructWrapper(const UEStruct Str) Line 10
Dumper-7.dll!CppGenerator::GetMemberTypeStringWithoutConst(UEProperty Member, int PackageIndex, bool * bOutIsUnknownProperty) Line 1049
Dumper-7.dll!CppGenerator::GetUnknownProperties() Line 1207
Dumper-7.dll!CppGenerator::GeneratePropertyFixupFile(std::basic_ofstream<char,std::char_traits> & PropertyFixup) Line 1221
Dumper-7.dll!CppGenerator::Generate() Line 1589
Dumper-7.dll!Generator::Generate() Line 92
Dumper-7.dll!MainThread(HINSTANCE__ * Module) Line 60

Output
Initializing [Dumper-7]
Started Generation [Dumper-7]!

Dumper-7 by me, you & him

Searching for GObjects...

Found FChunkedFixedUObjectArray GObjects at offset 0x8f7c5a0

Off::InSDK::ObjArray::FUObjectItemSize: 18

Found FName::AppendString at Offset 0x1376ED0

Found 'FNamePool GNames' at offset 0x8E5FF68

Off::UObject::Flags: 0x8
Off::UObject::Index: 0xC
Off::UObject::Class: 0x10
Off::UObject::Outer: 0x20
Off::UObject::Name: 0x18

Off::UClass::CastFlags: 0xD8
Off::UStruct::Children: 0x48
Off::UField::Next: 0x28
Off::UStruct::SuperStruct: 0x40
Off::UStruct::Size: 0x58
Off::UStruct::MinAlignment: 0x5C
Off::UClass::CastFlags: 0xD8

Game uses FProperty system

Off::UStruct::ChildProperties: 0x50
Applaying fix to hardcoded offsets

Off::FField::Next: 0x18
Off::FField::Class: 0x8
Off::FField::Name: 0x20
Off::FField::Flags: 0x28
Off::FFieldClass::CastFlags: 0x10

Off::UStruct::StructBaseChain: 0x30
Off::UClass::ClassDefaultObject: 0x110
Off::UClass::ImplementedInterfaces: 0x1D8
Off::UEnum::Names: 0x40

Off::UFunction::FunctionFlags: 0xB0
Off::UFunction::ExecFunction: 0xD8

Off::Property::ElementSize: 0x34
Off::Property::ArrayDim: 0x30
Off::Property::Offset_Internal: 0x44
Off::Property::PropertyFlags: 0x38
UBoolProperty::Base: 0x70

Off::EnumProperty::Base: 0x70

UPropertySize: 0x70

Off::ObjectProperty::PropertyClass: 0x70
Off::ByteProperty::Enum: 0x70
Off::StructProperty::Struct: 0x70

Off::DelegateProperty::SignatureFunction: 0x70

Off::ArrayProperty::Inner: 0x78
Off::SetProperty::ElementProp: 0x70
Off::MapProperty::Base: 0x70

Off::InSDK::ULevel::Actors: 0xA0

Off::InSDK::UDataTable::RowMap: 0x30

PE-Offset: 0x1593B10
PE-Index: 0x4C

GWorld-Offset: 0x8D0D200

Off::InSDK::Text::TextSize: 0x10
Off::InSDK::Text::TextDatOffset: 0x0
Off::InSDK::Text::InTextDataStringOffset: 0x20

Dumper-7: bIsObjPtrInsteadOfFieldPathProperty = false

Dumper-7: bUseUint8ArrayDim = false

GameName: Whiskerwood
GameVersion: 5.6.0-0+UE5

FolderName: 5.6.0-0+UE5-Whiskerwood

**Call stack** Dumper-7.dll!StructManager::GetInfo(const UEStruct Struct) Line 134 Dumper-7.dll!StructWrapper::StructWrapper(const UEStruct Str) Line 10 Dumper-7.dll!CppGenerator::GetMemberTypeStringWithoutConst(UEProperty Member, int PackageIndex, bool * bOutIsUnknownProperty) Line 1049 Dumper-7.dll!CppGenerator::GetUnknownProperties() Line 1207 Dumper-7.dll!CppGenerator::GeneratePropertyFixupFile(std::basic_ofstream<char,std::char_traits<char>> & PropertyFixup) Line 1221 Dumper-7.dll!CppGenerator::Generate() Line 1589 Dumper-7.dll!Generator::Generate<CppGenerator>() Line 92 Dumper-7.dll!MainThread(HINSTANCE__ * Module) Line 60 **Output** Initializing [Dumper-7] Started Generation [Dumper-7]! Dumper-7 by me, you & him Searching for GObjects... Found FChunkedFixedUObjectArray GObjects at offset 0x8f7c5a0 Off::InSDK::ObjArray::FUObjectItemSize: 18 Found FName::AppendString at Offset 0x1376ED0 Found 'FNamePool GNames' at offset 0x8E5FF68 Off::UObject::Flags: 0x8 Off::UObject::Index: 0xC Off::UObject::Class: 0x10 Off::UObject::Outer: 0x20 Off::UObject::Name: 0x18 Off::UClass::CastFlags: 0xD8 Off::UStruct::Children: 0x48 Off::UField::Next: 0x28 Off::UStruct::SuperStruct: 0x40 Off::UStruct::Size: 0x58 Off::UStruct::MinAlignment: 0x5C Off::UClass::CastFlags: 0xD8 Game uses FProperty system Off::UStruct::ChildProperties: 0x50 Applaying fix to hardcoded offsets Off::FField::Next: 0x18 Off::FField::Class: 0x8 Off::FField::Name: 0x20 Off::FField::Flags: 0x28 Off::FFieldClass::CastFlags: 0x10 Off::UStruct::StructBaseChain: 0x30 Off::UClass::ClassDefaultObject: 0x110 Off::UClass::ImplementedInterfaces: 0x1D8 Off::UEnum::Names: 0x40 Off::UFunction::FunctionFlags: 0xB0 Off::UFunction::ExecFunction: 0xD8 Off::Property::ElementSize: 0x34 Off::Property::ArrayDim: 0x30 Off::Property::Offset_Internal: 0x44 Off::Property::PropertyFlags: 0x38 UBoolProperty::Base: 0x70 Off::EnumProperty::Base: 0x70 UPropertySize: 0x70 Off::ObjectProperty::PropertyClass: 0x70 Off::ByteProperty::Enum: 0x70 Off::StructProperty::Struct: 0x70 Off::DelegateProperty::SignatureFunction: 0x70 Off::ArrayProperty::Inner: 0x78 Off::SetProperty::ElementProp: 0x70 Off::MapProperty::Base: 0x70 Off::InSDK::ULevel::Actors: 0xA0 Off::InSDK::UDataTable::RowMap: 0x30 PE-Offset: 0x1593B10 PE-Index: 0x4C GWorld-Offset: 0x8D0D200 Off::InSDK::Text::TextSize: 0x10 Off::InSDK::Text::TextDatOffset: 0x0 Off::InSDK::Text::InTextDataStringOffset: 0x20 Dumper-7: bIsObjPtrInsteadOfFieldPathProperty = false Dumper-7: bUseUint8ArrayDim = false GameName: Whiskerwood GameVersion: 5.6.0-0+UE5 FolderName: 5.6.0-0+UE5-Whiskerwood
Fischsalat commented 2026-05-02 12:02:20 +02:00 (Migrated from github.com)

Could you please print which class/field is causing the invalid struct access? I'd rather find the source of the issue, than to implement a workaround that might yield potentially faulty results. I still appreciate that included stacktrace and the PR.

Could you please print which class/field is causing the invalid struct access? I'd rather find the source of the issue, than to implement a workaround that might yield potentially faulty results. I still appreciate that included stacktrace and the PR.
mikh-abc commented 2026-05-02 13:42:50 +02:00 (Migrated from github.com)

[0000FC78] {0x27416bddff0} LocTextBlock NewGameEmbark.NewGameEmbark_C.WidgetTree.ResearchCostString
[0000FC6F] {0x27416bd7180} LocTextBlock NewGameEmbark.NewGameEmbark_C.WidgetTree.CropFertilityString

should be these two

[0000FC78] {0x27416bddff0} LocTextBlock NewGameEmbark.NewGameEmbark_C.WidgetTree.ResearchCostString [0000FC6F] {0x27416bd7180} LocTextBlock NewGameEmbark.NewGameEmbark_C.WidgetTree.CropFertilityString should be these two
Fischsalat commented 2026-05-04 18:16:55 +02:00 (Migrated from github.com)

So is that the class it tries to find, the property that's being iterated, the class that's being iterated? You need to give me some context of what you're printing.

So is that the class it tries to find, the property that's being iterated, the class that's being iterated? You need to give me some context of what you're printing.
mikh-abc commented 2026-05-04 20:01:47 +02:00 (Migrated from github.com)

Looks like the cause of the problem is that the class LocTextBlock was not parsed correctly. But also I didn't find any dumped class with these properties (ResearchCostString, CropFertilityString).

Printed same lines as from GObjects-Dump-WithProperties.txt with same GetIndex() and GetFullName()
I can print something else if you tell me what you need.

Looks like the cause of the problem is that the class LocTextBlock was not parsed correctly. But also I didn't find any dumped class with these properties (ResearchCostString, CropFertilityString). Printed same lines as from GObjects-Dump-WithProperties.txt with same GetIndex() and GetFullName() I can print something else if you tell me what you need.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
software-migration-backups/Dumper-7-17-05-2026#509
No description provided.