[Bug] [Crash] [UE4.27] When modifying a UDeveloperSettings property

Editor crash when modifying a property within a class deriving from UDeveloperSettings, when writing to DefaultGame.ini.

Accessing index 0 of Keys, out of bounds.

=== Critical error: ===

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 703] 
Array index out of bounds: 0 from an array of size 0


Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000008

[Callstack] 0x00007ffbd3f63371 UE4Editor-Core.dll!FString::FString() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Containers\UnrealString.h:2161]
[Callstack] 0x00007ffbd5f12bbb UE4Editor-CoreUObject.dll!UObject::UpdateSinglePropertyInConfigFile() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:2743]
[Callstack] 0x00007ffb88d3c6d0 UE4Editor-SettingsEditor.dll!SSettingsEditor::NotifyPostChange() [D:\Build\++UE4\Sync\Engine\Source\Developer\SettingsEditor\Private\Widgets\SSettingsEditor.cpp:218]
[Callstack] 0x00007ffbc0f999e7 UE4Editor-PropertyEditor.dll!FPropertyNode::NotifyPostChange() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\PropertyNode.cpp:2420]
[Callstack] 0x00007ffbc0f8119a UE4Editor-PropertyEditor.dll!FPropertyValueImpl::ImportText() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\PropertyHandleImpl.cpp:458]
[Callstack] 0x00007ffbc0f816e8 UE4Editor-PropertyEditor.dll!FPropertyValueImpl::ImportText() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\PropertyHandleImpl.cpp:226]
[Callstack] 0x00007ffbc0fdd575 UE4Editor-PropertyEditor.dll!FPropertyValueImpl::SetValueAsString() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\PropertyHandleImpl.cpp:746]
[Callstack] 0x00007ffbc10c6297 UE4Editor-PropertyEditor.dll!SPropertyEditorCombo::SendToObjects() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\UserInterface\PropertyEditor\SPropertyEditorCombo.cpp:255]
[Callstack] 0x00007ffbc109d3de UE4Editor-PropertyEditor.dll!SPropertyEditorCombo::OnComboSelectionChanged() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\UserInterface\PropertyEditor\SPropertyEditorCombo.cpp:195]
[Callstack] 0x00007ffbc1071647 UE4Editor-PropertyEditor.dll!TBaseSPMethodDelegateInstance<0,SPropertyEditorCombo,0,void __cdecl(TSharedPtr<FString,0>,enum ESelectInfo::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
[Callstack] 0x00007ffbc10af767 UE4Editor-PropertyEditor.dll!SPropertyComboBox::OnSelectionChangedInternal() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\UserInterface\PropertyEditor\SPropertyComboBox.cpp:123]
[Callstack] 0x00007ffbc10708e7 UE4Editor-PropertyEditor.dll!TBaseSPMethodDelegateInstance<0,SPropertyComboBox,0,void __cdecl(TSharedPtr<FString,0>,enum ESelectInfo::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
[Callstack] 0x00007ffbc0a8d1e4 UE4Editor-EditorWidgets.dll!TDelegate<void __cdecl(TSharedPtr<FString,0>,enum ESelectInfo::Type),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:599]
[Callstack] 0x00007ffbc0b2c3d1 UE4Editor-EditorWidgets.dll!SSearchableComboBox::OnSelectionChanged_Internal() [D:\Build\++UE4\Sync\Engine\Source\Editor\EditorWidgets\Private\SSearchableComboBox.cpp:216]
[Callstack] 0x00007ffbc0aebff7 UE4Editor-EditorWidgets.dll!TBaseSPMethodDelegateInstance<0,SSearchableComboBox,0,void __cdecl(TSharedPtr<FString,0>,enum ESelectInfo::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
[Callstack] 0x00007ffbc0a8d1e4 UE4Editor-EditorWidgets.dll!TDelegate<void __cdecl(TSharedPtr<FString,0>,enum ESelectInfo::Type),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:599]
[Callstack] 0x00007ffbc0b37e00 UE4Editor-EditorWidgets.dll!SListView<TSharedPtr<FString,0> >::Private_SignalSelectionChanged() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Public\Widgets\Views\SListView.h:947]
[Callstack] 0x00007ffbc0b2702d UE4Editor-EditorWidgets.dll!STableRow<TSharedPtr<FString,0> >::OnMouseButtonUp() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Public\Widgets\Views\STableRow.h:620]
[Callstack] 0x00007ffbcbc4421e UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_cc5aea9e7377b04ce85c30c65ec3889b> >() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:378]
[Callstack] 0x00007ffbcbcbe104 UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4831]
[Callstack] 0x00007ffbcbca7097 UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5372]
[Callstack] 0x00007ffbcbc99b62 UE4Editor-Slate.dll!FSlateApplication::OnMouseUp() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5337]
[Callstack] 0x00007ffbe8e1c025 UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2205]
[Callstack] 0x00007ffbe8e092b7 UE4Editor-ApplicationCore.dll!FWindowsApplication::DeferMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2698]
[Callstack] 0x00007ffbe8e1e465 UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1881]
[Callstack] 0x00007ffbe8e04410 UE4Editor-ApplicationCore.dll!FWindowsApplication::AppWndProc() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:905]
[Callstack] 0x00007ffc6b98e7e8 USER32.dll!UnknownFunction []
[Callstack] 0x00007ffc6b98e229 USER32.dll!UnknownFunction []
[Callstack] 0x00007ffbe8e1fcd4 UE4Editor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:125]
[Callstack] 0x00007ff6f9d67621 UE4Editor.exe!FEngineLoop::Tick() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4850]
[Callstack] 0x00007ff6f9d80fcc UE4Editor.exe!GuardedMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:178]
[Callstack] 0x00007ff6f9d810ba UE4Editor.exe!GuardedMainWrapper() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
[Callstack] 0x00007ff6f9d840dd UE4Editor.exe!LaunchWindowsStartup() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:273]
[Callstack] 0x00007ff6f9d95984 UE4Editor.exe!WinMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:320]
[Callstack] 0x00007ff6f9d9853a UE4Editor.exe!__scrt_common_main_seh() [d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
[Callstack] 0x00007ffc6b8d7614 KERNEL32.DLL!UnknownFunction []
[Callstack] 0x00007ffc6d3a26a1 ntdll.dll!UnknownFunction []

Forgot to add the “config” specifier to a UPROPERTY in the developer settings, which resulted in this behavior.

2 Likes