Description

After deriving a C++ class from another class and then closing the editor, the project will crash when reopened. This crash will continue until the project files are regenerated and the project is rebuilt in Xcode.

NOTE: 16.59.47 log is the C++ class being added, 17.13.07 log is the actual crash

This issue does NOT occur on Windows.

This issue also occurs in 4.17.1 and Main.

Workaround

  1. After closing the editor, navigate to the location of the project and find the .uproject file.
  2. Right click on the .uproject file and select Services > Generate Xcode Project from the context menu
  3. Open the .xcworkspace file and build the project scheme again
  4. The editor should now be able to open the project successfully and will still have the new C++ class in the Content Browser.
Steps to Reproduce
  1. Open QAGame in UE4 on Mac
  2. Click on the folder icon next to Content in the top bar of the Content Browser
  3. Scroll down to the bottom of the drop-down menu and navigate to C++ Classes > QAGame > Classes
  4. Double click the Classes folder to bring it up in the Content Browser
  5. Right click on QADeriveTest and select Create C++ class derived from QADeriveTest
  6. Name the class as you please and click Create Class
  7. Allow the editor to compile the new class and then confirm it appears in the Content Browser
  8. Close the editor and then reopen the project

Expected Result
Project reopens cleanly and successfully without crashing

Actual Result
Project crashes during opening

Callstack
UE4Editor-CoreUObject.dylib!UClassCompiledInDefer() 
UE4Editor-QAGame.dylib!<Unknown> 
???!Unknown() 
???!Unknown() 
???!Unknown() 
???!Unknown() 
???!Unknown() 
???!Unknown() 
???!Unknown() 
???!Unknown() 
libdyld.dylib!<Unknown> 
UE4Editor-Core.dylib!FMacPlatformProcess::GetDllHandle() 
UE4Editor-Core.dylib!FModuleManager::LoadModuleWithFailureReason() 
UE4Editor-Projects.dylib!FModuleDescriptor::LoadModulesForPhase() 
UE4Editor-Projects.dylib!FProjectManager::LoadModulesForProject() 
UE4Editor!FEngineLoop::LoadStartupModules() 
UE4Editor!FEngineLoop::PreInit() 
UE4Editor!GuardedMain() 
UE4Editor!<Unknown> 
UE4Editor-Core.dylib!<Unknown> 
Foundation!Unknown() 
libsystem_pthread.dylib!<Unknown> 
libsystem_pthread.dylib!<Unknown> 
libsystem_pthread.dylib!<Unknown> 

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Foundation - Cpp Tools - Hot Reload
Affects Versions4.17.14.17.24.18
Target Fix4.18
Fix Commit3658442
Main Commit3661409
Release Commit3658442
CreatedSep 13, 2017
ResolvedSep 22, 2017
UpdatedApr 27, 2018