Description

Crash when using Set Collision Response on a Destructible component.

The repro is using the Construction Script but this also happens using Event Begin Play in the Event Graph on play. It crashing using the Set Collision Response to Channel and the Set Collision Response to All Channels

This is a Regression:

Working in 4.13.2-3172292
Not working in 4.14.1-3224400

Also tested in 4.16-3240727

User Description:

When I set the Collision Response on channel to a destructible component within a actor blueprint, the editor crashes.

Steps: 1. Create actor blueprint 2. Add destructible component 3. For example in the construction script: Set Collision Response to channel to the destructible component. 4. Compile leads to crash of the editor.

Steps to Reproduce

1. Open any project (blank blueprint project was used for testing)
2. Create an actor class bp & open it
3. In the Components tab, add a Destructible component
4. In the Construction Script, get a reference to the Destructible component
5. Drag off the get node > Set Collision Response to Channel
6. Connect the Construction Script execute pin
7. Compile the bp

Results: The editor will immediately crash on bp compile

Expected: For the bp to compile without issue and the collision response changed

Callstack
MachineId:A1BE990B4855275A6B8ACDB5D49D864A
EpicAccountId:75f47e038a8442f0af6c18e1f38eeb85

Access violation - code c0000005 (first/second chance not available)

UE4Editor_Engine!UDestructibleComponent::SetCollisionResponseToChannel() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\engine\private\components\destructiblecomponent.cpp:1229]
UE4Editor_Engine!UPrimitiveComponent::execSetCollisionResponseToChannel() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\engine\classes\components\primitivecomponent.h:108]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4474]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:700]
UE4Editor_CoreUObject!UObject::execVirtualFunction() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2245]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2139]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:925]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4474]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1308]
UE4Editor_Engine!AActor::ProcessEvent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\engine\private\actor.cpp:649]
UE4Editor_Engine!AActor::ProcessUserConstructionScript() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\engine\private\actorconstruction.cpp:819]
UE4Editor_Engine!AActor::ExecuteConstruction() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\engine\private\actorconstruction.cpp:735]
UE4Editor_UnrealEd!FActorReplacementHelper::Finalize() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:1195]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:1940]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReplaceInstancesOfClass() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:1464]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReinstanceInner() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:670]
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReinstanceObjects() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\kismet2\kismetreinstanceutilities.cpp:901]
UE4Editor_UnrealEd!FKismetEditorUtilities::CompileBlueprint() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\kismet2\kismet2.cpp:825]
UE4Editor_Kismet!FBlueprintEditor::Compile() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\kismet\private\blueprinteditor.cpp:3202]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl(void)>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:318]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:424]
UE4Editor_Slate!FUICommandList::ExecuteAction() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:92]
UE4Editor_Slate!SToolBarButtonBlock::OnClicked() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\multibox\stoolbarbuttonblock.cpp:300]
UE4Editor_Slate!TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void) __ptr64>::operator()<>() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:161]
UE4Editor_Slate!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void) __ptr64> >() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\tuple.h:116]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,0,FReply __cdecl(void)>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:318]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:522]
UE4Editor_Slate!SButton::OnMouseButtonUp() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\widgets\input\sbutton.cpp:275]
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator()() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5010]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:215]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4999]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5462]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5439]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:1652]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:2071]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:814]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:678]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:951]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2811]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\launch.cpp:152]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
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.

5
Login to Vote

Cannot Reproduce
ComponentUE - Simulation - Physics - Destruction
Affects Versions4.14.14.16
Target Fix4.14.2
Fix Commit3227377
CreatedDec 20, 2016
ResolvedDec 21, 2016
UpdatedApr 27, 2018