Description

This is a trending crash coming out of the 4.18 release. The callstack shares similarities to [Link Removed], but seems different enough to warrant a separate Jira.

User Descriptions

  • Simple streaming level setup with streaming volumes. Placed a landscape in the level and moved components into streaming levels. Added a few props to the streaming level.
    Crash during PIE: Spawned inside the streaming level, during streaming level exit the crash occured

Source Context

 360       /**
  361        * Calculates the memory address for the data associated with this item's property.  This is typically the value of a UProperty or a UObject address.
  362        *
  363        * @param	StartAddress	the location to use as the starting point for the calculation; typically the address of the object that contains this property.
  364        *
  365        * @return	a pointer to a UProperty value or UObject.  (For dynamic arrays, you'd cast this value to an FArray*)
  366        */
  367       uint8* FObjectPropertyNode::GetValueBaseAddress( uint8* StartAddress )
  368       {
  369       	uint8* Result = StartAddress;
  370       
  371       	UClass* ClassObject;
  372 ***** 	if ( (ClassObject=Cast<UClass>((UObject*)Result)) != NULL )
  373       	{
  374       		Result = (uint8*)ClassObject->GetDefaultObject();
  375       	}
  376       
  377       	return Result;
  378       }
Steps to Reproduce

Repo steps from [Link Removed]

  1. Open QA Game
  2. Open the Instance_Construct blueprint
  3. Add a variable and change the type to Post Process Settings
  4. Compile the blueprint
  5. Without touching anything compile the blueprint again
  6. Crash with the supplied callstack
Callstack
Access violation - code c0000005 (first/second chance not available)

UE4Editor_PropertyEditor!FObjectPropertyNode::GetValueBaseAddress() [objectpropertynode.cpp:373]
UE4Editor_PropertyEditor!FItemPropertyNode::GetValueBaseAddress() [itempropertynode.cpp:39]
UE4Editor_PropertyEditor!FItemPropertyNode::GetValueAddress() [itempropertynode.cpp:104]
UE4Editor_PropertyEditor!FPropertyEditor::IsEditConditionMet() [propertyeditor.cpp:629]
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_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()

Have Comments or More Details?

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

10
Login to Vote

Cannot Reproduce
ComponentTools
Affects Versions4.184.18.1
CreatedNov 1, 2017
ResolvedOct 29, 2019
UpdatedJul 1, 2020
Pull Requests
4447 - klorberg