Description

After creating an editor asset of a custom DataAsset class, if changes are made to to the class and hot reloaded, the editor will crash on close if the editor asset is not saved after the hot reload.

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add code to project based on DataAsset (MyDataAsset)
  3. In MyDataAsset.h, add the following:
    	UPROPERTY(EditAnywhere, Category = SomeCategory)
    	float someProperty1;
    
    	UPROPERTY(EditAnywhere, Category = SomeCategory)
    	float someProperty2;
    
  4. Compile
  5. In the editor, right click in the content browser and add Miscellaneous->Data Asset (Choose MyDataAsset as the class) (MyDAasset)
  6. In MyDAasset, set value of property1 and property2.
  7. Save the project
  8. With the editor/MyDAasset still open, add new property in code and compile (hot reload)
    	UPROPERTY(EditAnywhere, Category = SomeCategory)
    	float someProperty3;
    

    *Note that property values are no longer set after hot reload*

  9. After hot reload completes, close the editor without saving MyDAasset

Result:
Editor will crash during shutdown process

Repro Rate:
4/5

Callstack
MachineId:9FA88CA44B7C623122B0039D6C8BA1B0
EpicAccountId:67b2dfbf573f4ca89257ae6f4e56a46c

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

""

UE4Editor_CoreUObject!UObjectBaseUtility::GetOutermost() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\coreuobject\private\uobject\uobjectbaseutility.cpp:118]
UE4Editor_UnrealEd!FAssetEditorManager::SaveOpenAssetEditors() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\unrealed\private\toolkits\asseteditormanager.cpp:659]
UE4Editor_UnrealEd!FAssetEditorManager::OnExit() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\unrealed\private\toolkits\asseteditormanager.cpp:55]
UE4Editor_MainFrame!FMainFrameHandler::ShutDownEditor() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\mainframe\private\frame\mainframehandler.cpp:52]
UE4Editor_SlateCore!SWindow::RequestDestroyWindow() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slatecore\private\widgets\swindow.cpp:1094]
UE4Editor_Slate!SWindowTitleBar::CloseButton_OnClicked() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\public\framework\application\swindowtitlebar.h:404]
UE4Editor_Slate!TMemberFunctionCaller<SWindowTitleBar,FReply (__cdecl SWindowTitleBar::*)(void) __ptr64>::operator()<>() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstanceinterface_variadics.h:161]
UE4Editor_Slate!TTupleImpl<TIntegerSequence<> >::ApplyAfter_ExplicitReturnType<FReply,TMemberFunctionCaller<SWindowTitleBar,FReply (__cdecl SWindowTitleBar::*)(void) __ptr64> >() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\tuple.h:113]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SWindowTitleBar,0,FReply __cdecl(void)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:440]
UE4Editor_Slate!SButton::OnMouseButtonUp() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\widgets\input\sbutton.cpp:236]
UE4Editor_Slate!<lambda_4ba5b0c116ad939f50a9b616659f063a>::operator()() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4276]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_4ba5b0c116ad939f50a9b616659f063a> >() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:214]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4266]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4663]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4641]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:1416]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:1721]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:719]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:641]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:884]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\launchengineloop.cpp:2391]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
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 existingAnswerHub thread and let us know what's up.

0
Login to Vote

Fixed
ComponentCore
Affects Versions4.10.44.114.12
Target Fix4.11
Fix Commit2919509
Main Commit2941042
Release Commit2919509
CreatedMar 7, 2016
ResolvedMar 23, 2016
UpdatedFeb 5, 2017