Editor Crashes after stopping play

My editor crashes out after stopping play.

It has something to do with the UMG widgets ive been using but i cant figure out what.

This is the last part of the log, also full log file attached.[FullLog][1]

`[2015.04.23-18.06.53:475][749]LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0->UE4Editor-CoreUObject.dll!UGCObjectReferencer::AddReferencedObjects() (0x00007fffdd300cb0) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\misc\gcobjectreferencer.cpp:10]
[2015.04.23-18.06.53:475][749]LogReferenceChain: BlankButton_C /Engine/Transient.UnrealEdEngine_0:GameInstance_0.BlankButton_C_5->Owner
[2015.04.23-18.06.53:475][749]LogReferenceChain: CancelButton_C /Engine/Transient.UnrealEdEngine_0:GameInstance_0.CancelButton_C_1->Parent
[2015.04.23-18.06.53:475][749]LogReferenceChain: HorizontalBox /Engine/Transient.UnrealEdEngine_0:GameInstance_0.ItemClickedBar_C_4.WidgetTree_435.HorizontalBox->Outer
[2015.04.23-18.06.53:475][749]LogReferenceChain: WidgetTree /Engine/Transient.UnrealEdEngine_0:GameInstance_0.ItemClickedBar_C_4.WidgetTree_435->Outer
[2015.04.23-18.06.53:475][749]LogReferenceChain: ItemClickedBar_C /Engine/Transient.UnrealEdEngine_0:GameInstance_0.ItemClickedBar_C_4->OwningStation
[2015.04.23-18.06.53:475][749]LogReferenceChain: UpgradeStation_C /Game/StarterContent/UEDPIE_0_Minimal_Default.Minimal_Default:PersistentLevel.UpgradeStation_C_0->Outer
[2015.04.23-18.06.53:475][749]LogReferenceChain: Level /Game/StarterContent/UEDPIE_0_Minimal_Default.Minimal_Default:PersistentLevel->OwningWorld
[2015.04.23-18.06.53:475][749]LogReferenceChain: (target) World /Game/StarterContent/UEDPIE_0_Minimal_Default.Minimal_Default
[2015.04.23-18.06.53:659][749]LogWindows:Error: Windows GetLastError: The operation completed successfully. (0)
[2015.04.23-18.06.53:659][749]LogCrashTracker:

[2015.04.23-18.06.54:161][749]LogCrashTracker:

[2015.04.23-18.06.54:161][749]LogWindows: === Critical error: ===
Fatal error: [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.7\Engine\Source\Developer\MessageLog\Private\Model\MessageLogListingModel.cpp] [Line: 70]
Critical Error PlayerState /Game/StarterContent/UEDPIE_0_Minimal_Default.Minimal_Default:PersistentLevel.PlayerState_1 Object from PIE level still referenced. Shortest path from root: (Object is not currently rooted)

KERNELBASE.dll!UnknownFunction (0x00007ffff6448b9c) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() (0x00007fffdd918074) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor-Core.dll!FMsg::Logf__VA() (0x00007fffdd79774f) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:531]
UE4Editor-MessageLog.dll!FMessageLogListingModel::AddMessageInternal() (0x00007fffd15c3e29) + 150 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\developer\messagelog\private\model\messageloglistingmodel.cpp:70]
UE4Editor-MessageLog.dll!FMessageLogListingModel::AddMessages() (0x00007fffd15c3f33) + 96 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\developer\messagelog\private\model\messageloglistingmodel.cpp:89]
UE4Editor-Core.dll!FMessageLog::Flush() (0x00007fffdd72edf3) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\logging\messagelog.cpp:188]
UE4Editor-Core.dll!FMessageLog::~FMessageLog() (0x00007fffdd707370) + 5 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\logging\messagelog.cpp:91]
UE4Editor-UnrealEd.dll!UEditorEngine::EndPlayMap() (0x00007fffd9157aa4) + 414 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\playlevel.cpp:258]
UE4Editor-UnrealEd.dll!UEditorEngine::Tick() (0x00007fffd8eed234) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\editor.cpp:966]
UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() (0x00007fffd93a8306) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\unrealedengine.cpp:347]
UE4Editor.exe!FEngineLoop::Tick() (0x00007ff68da50263) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launchengineloop.cpp:2257]
UE4Editor.exe!GuardedMain() (0x00007ff68da4267c) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor.exe!GuardedMainWrapper() (0x00007ff68da426ea) + 5 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor.exe!WinMain() (0x00007ff68da52219) + 17 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor.exe!__tmainCRTStartup() (0x00007ff68da53159) + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
KERNEL32.DLL!UnknownFunction (0x00007ffff6f213d2) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007ffff8f45444) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007ffff8f45444) + 0 bytes [UnknownFile:0]

[2015.04.23-18.06.54:290][749]LogExit: Executing StaticShutdownAfterError
[2015.04.23-18.06.54:300][749]LogWindows: FPlatformMisc::RequestExit(1)
[2015.04.23-18.06.54:300][749]Log file closed, 04/23/15 19:06:54`

39963-spaceshooter.log (95.5 KB)

Hey

After reviewing the error , I notice that there is an issue with BlankButton_C. I’d like to know whether or not you’re creating custom slate widgets for your project? This error typically wouldn’t happen with stock slate widgets. The reason that this error is occurring is because BlankButton_C is still referencing an object after the PIE is stopped, which is then keeping that object ‘alive’, causing the editor to crash.

  • What version of the Editor are you
    running out of?
  • Did you create any
    custom slate widgets for your
    project?
  • What does BlankButton_C do?
  • Are you referencing any other objects
    with this button that would be kept
    alive after stopping the project from
    playing?

Looking forward to hearing back from you, thanks! :slight_smile:

Yeah I’m creating custom widgets.

Running 4.7.6 atm.

It might be, i tried to setup a method of using inheritance with buttons.

Using an Interface I use blank button to send its click event to its Owner which is set when the widget is spawned.

BaseButton creates a blank button on spawn and receives the click event from the interface to call a function which can then be overrided in child BPs

BlankButton:

http://i.imgur.com/LoOlNkg.jpg

BaseButton:

http://i.imgur.com/oMQGs4k.jpg

This might be causing the problem but i have been using this for other things and its been working okay.

Hey

When you say that you’ve been using this set up for other things and it’s working okay, do you mean that you’re using the exact custom slate widget and blueprint set up in other projects without the garbage collection giving you an error?

Is there a possibility of any minor changes within this project that is not reflected in other projects that haven’t had any issues?

Would you mind migrating this blueprint and custom slate widget to a blank project and seeing if you encounter the same issue?

Basically, we need to figure out what BlankButton_C is holding on to after the editor stops PIE.

Thanks!

Quickly tested the older stuff (was in the same project) and this crashes as well. So i must of changed something and just not tested it properly.

Could this be that im creating buttons in a custom container widget (essentially a widget with a horizontal box and a function to add children to it).

These 2 buttons that are spawned extend from BaseButton in the above comment, so they are also spawning a BlankButton for themselves.

When these BaseButtons are pressed they do some logic and then remove their parent (the container box) using the remove from parent node.

I assume this removes the container and its children, but are the BlankButtons still trying to access their Owners (the BaseButtons) which have been removed?

Thanks for the quick support and I hope this is making sense, spent the majority of today trying to fix it.

Update:

The main root of the problem was trying to child the Created widget into something in its owner, even after deleting the cast i had crashes and different methods produced the same problem.

Fixed.

The Cast in this Setup Function (called on construct), was causing the crash.
Still working on finding a different way to order my widgets

http://i.imgur.com/oMQGs4k.jpg

Hey

I’m glad that you were able to track down the exact issue within your project. If you run into any further complications with this project, please do not hesitate to create a new question on AnswerHub! :slight_smile:

Have a wonderful weekend!