Description

Crash when element is added to a map variable with unhashable key. An error is thrown on compile but an element can still be added under the Details panel of the variable.

Crash Reporter: [Link Removed]

On the same crash report. Maybe this JIRA only fixed one instance of the bug? https://jira.it.epicgames.net/browse/UE-36637

User Description:

As the title says, the editor crashed every time I tried to add element on the map (by pressing the plus button) with Text as key and Integer as value.

EDIT : Okay I just found out that as long as the key is a Text it will crash the editor.

Steps to Reproduce

1. Open QA-Game
2. Create an actor class BP & open it
3. In the My Blueprint panel, add a Text variable
4. Set the Variable Type to Map (Dictionary)
5. Compile
6. In the Details panel > Default Value > Add an Element

Results: The editor will crash as soon as the Element is added

Expected: For the editor to not crash and keep the Element from being created. Or on compile with the error is thrown and the Default Value to be grayed out or removed (like when a variable is first created but the BP hasn't been compiled)

Callstack
LoginId:a1be990b4855275a6b8acdb5d49d864a
EpicAccountId:75f47e038a8442f0af6c18e1f38eeb85

Assertion failed: PropertyFlags & CPF_HasGetValueTypeHash [File:D:\Build\++UE4+Release-4.15+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Property.cpp] [Line: 1240] 



UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
UE4Editor_CoreUObject!UProperty::GetValueTypeHash() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\property.cpp:1241]
UE4Editor_CoreUObject!FScriptSet::Rehash() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\containers\set.h:1430]
UE4Editor_CoreUObject!FScriptMapHelper::Rehash() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\propertymap.cpp:1021]
UE4Editor_PropertyEditor!FPropertyNode::PropagateContainerPropertyChange() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\propertyeditor\private\propertynode.cpp:2827]
UE4Editor_PropertyEditor!FPropertyValueImpl::AddChild() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:1230]
UE4Editor_PropertyEditor!FPropertyHandleMap::AddItem() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:3861]
UE4Editor_PropertyEditor!FPropertyEditor::OnAddItem() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\propertyeditor\private\presentation\propertyeditor\propertyeditor.cpp:216]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FPropertyEditor,0,TTypeWrapper<void> __cdecl(void)>::Execute() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FPropertyEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:433]
UE4Editor_PropertyEditor!SDetailsViewBase::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\propertyeditor\private\sdetailsviewbase.cpp:1095]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_Slate!SBox::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\widgets\layout\sbox.cpp:237]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWindow::OnPaint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swindow.cpp:1831]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:779]
UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1158]
UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1398]
UE4Editor_Slate!FSlateApplication::DrawWindows() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1115]
UE4Editor_Slate!FSlateApplication::TickApplication() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1720]
UE4Editor_Slate!FSlateApplication::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1512]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3086]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Gameplay
Affects Versions4.15.14.16
Target Fix4.16
Fix Commit3377371
Main Commit3380073
CreatedMar 21, 2017
ResolvedApr 3, 2017
UpdatedApr 27, 2018