Crash at GetUnknownProperties #509
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
OldButImportant
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
software-migration-backups/Dumper-7-17-05-2026#509
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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
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.
[0000FC78] {0x27416bddff0} LocTextBlock NewGameEmbark.NewGameEmbark_C.WidgetTree.ResearchCostString
[0000FC6F] {0x27416bd7180} LocTextBlock NewGameEmbark.NewGameEmbark_C.WidgetTree.CropFertilityString
should be these two
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.
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.