Description

This is a trending crash coming out of 4.18.0. The issue appears similar to [Link Removed], which was just fixed in 4.18.

User Descriptions

  • Project was just imported from UE 4.17.2 , opened a blueprint and pressed COMPILE , crash

Source Code

617       {
  618       	check( ConditionProperty );
  619       
  620       	bool bResult = false;
  621       	bool bAllConditionsMet = true;
  622       
  623       	FPropertyNode* ParentNode = PropertyNode->GetParentNode();
  624       	FComplexPropertyNode* ComplexParentNode = ParentNode->FindComplexParent();
  625       
  626       	for (int32 ValueIdx = 0; bAllConditionsMet && ValueIdx < ConditionValues.Num(); ValueIdx++)
  627       	{
  628       		uint8* BaseOffset = ParentNode->GetValueAddress(ConditionValues[ValueIdx].BaseAddress);
  629       		check(BaseOffset != NULL);
  630       
  631 ***** 		uint8* ValueAddr = EditConditionProperty->ContainerPtrToValuePtr<uint8>(BaseOffset);
  632       
  633       		if (ConditionValues[ValueIdx].bNegateValue)
  634       		{
  635       			bAllConditionsMet = !ConditionProperty->GetPropertyValue(ValueAddr);
  636       		}
  637       		else
  638       		{
  639       			bAllConditionsMet = ConditionProperty->GetPropertyValue(ValueAddr);
  640       		}
  641       	}
  642       
  643       	bResult = bAllConditionsMet;
  644       
  645       	return bResult;
  646       }
Steps to Reproduce

repro steps currently unknown

Callstack
Assertion failed: BaseOffset != NULL [File:D:\Build\++UE4+Release-4.18+Compile\Sync\Engine\Source\Editor\PropertyEditor\Private\Presentation\PropertyEditor\PropertyEditor.cpp] [Line: 630]

UE4Editor_PropertyEditor!FPropertyEditor::IsEditConditionMet() [propertyeditor.cpp:632]
UE4Editor_PropertyEditor!SEditConditionWidget::OnGetEditConditionCheckState() [propertyeditorhelpers.cpp:373]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<1,SEditConditionWidget,0,enum ECheckBoxState __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Slate!TAttribute<enum ECheckBoxState>::Get() [attribute.h:137]
UE4Editor_Slate!SCheckBox::OnGetCheckImage() [scheckbox.cpp:244]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<1,SCheckBox,0,FSlateBrush const * __ptr64 __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Slate!TAttribute<FSlateBrush const * __ptr64>::Get() [attribute.h:137]
UE4Editor_Slate!SImage::ComputeDesiredSize() [simage.cpp:45]
UE4Editor_SlateCore!SWidget::CacheDesiredSize() [swidget.cpp:519]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_SlateCore!SWidget::SlatePrepass() [swidget.cpp:502]
UE4Editor_Slate!PrepassWindowAndChildren() [slateapplication.cpp:1343]
UE4Editor_Slate!FSlateApplication::DrawPrepass() [slateapplication.cpp:1391]
UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [slateapplication.cpp:1433]
UE4Editor_Slate!FSlateApplication::DrawWindows() [slateapplication.cpp:1190]
UE4Editor_Slate!FSlateApplication::TickApplication() [slateapplication.cpp:1777]
UE4Editor_Slate!FSlateApplication::Tick() [slateapplication.cpp:1595]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3378]
UE4Editor!GuardedMain() [launch.cpp:166]
UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134]
UE4Editor!WinMain() [launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [exe_common.inl:253]
kernel32!BaseThreadInitThunk()
ntdll!RtlUserThreadStart()

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-51724 in the post.

1
Login to Vote

Fixed
ComponentTools
Affects Versions4.18
Target Fix4.18.1
Fix Commit3725342
CreatedOct 27, 2017
ResolvedOct 30, 2017
UpdatedFeb 4, 2019
Pull Requests
4447 - klorberg