[Crash][UMG] Project Crashes on Launch After Compiling Blueprint

  • Editor Version: 4.4.0
  • OS: Mac OS X
  • 10.9.4 Hardware: Apple MacBook Pro 15" 2012 Retina

I was attempting to attach a nameplate widget to every Item in the game world. In the Item blueprint, it went something like this:

[In the Construction Script]

  1. Add Widget “Nameplate”
  2. Set Widget to Variable
  3. Set Widget Screen Alignment(0.5, 0.5)
  4. Set Widget Screen Size(120px, 40px)
  5. Set Widget Screen Location(used “Convert World Location to Screen Location” to get nameplate to show over item)
  6. Add Widget to Viewport (Absolute Layout checked)

When I attempted to compile the item blueprint, the editor crashed. On subsequent launches, my project crashes on opening.

Notes

What may be interesting is that I compiled my blueprint after adding each widget node, and my project only started crashing after I hooked up the “Add to Viewport” node.

Error Message

SIGSEGV: invalid attempt to access memory at address 0x3

EngineCrashHandler(FGenericCrashContext const&) Address = 0x643768f  (filename not found) [in UE4Editor]
PlatformCrashHandler(int, __siginfo*, void*) Address = 0x653f71f  (filename not found) [in UE4Editor-Core.dylib]
_sigtramp() Address = 0x916535aa (filename not found) [in libsystem_platform.dylib]

FMsg::Logf(char const*, int, FName const&, ELogVerbosity::Type, wchar_t const*, ...) Address = 0x65dd975  (filename not found) [in UE4Editor-Core.dylib]
FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...) Address = 0x65de634  (filename not found) [in UE4Editor-Core.dylib]
FName::ToString(FString&) const Address = 0x6732117  (filename not found) [in UE4Editor-Core.dylib]
FName::ToString() const Address = 0x6732024  (filename not found) [in UE4Editor-Core.dylib]
FText::FromName(FName const&) Address = 0x651e2da  (filename not found) [in UE4Editor-Core.dylib]
UKismetTextLibrary::Conv_NameToText(FName) Address = 0x78ea946  (filename not found) [in UE4Editor-Engine.dylib]
UKismetTextLibrary::execConv_NameToText(FFrame&, void*) Address = 0x87d9744  (filename not found) [in UE4Editor-Engine.dylib]
UFunction::Invoke(UObject*, FFrame&, void*) Address = 0x6adc3a2  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::CallFunction(FFrame&, void*, UFunction*) Address = 0x6baf3b6  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::ProcessContextOpcode(FFrame&, void*, bool) Address = 0x6bb5949  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::ProcessInternal(FFrame&, void*) Address = 0x6bb03e9  (filename not found) [in UE4Editor-CoreUObject.dylib]
UFunction::Invoke(UObject*, FFrame&, void*) Address = 0x6adc3a2  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::ProcessEvent(UFunction*, void*) Address = 0x6bb2c77  (filename not found) [in UE4Editor-CoreUObject.dylib]
TBaseUFunctionDelegateInstance_RetVal_NoParams<UObject, FText>::Execute() const Address = 0x2344d9bd (filename not found) [in UE4Editor-UMG.dylib]
SEditableText::SetText(TAttribute<FText> const&) Address = 0xae9d92d  (filename not found) [in UE4Editor-Slate.dylib]
UTextBlock::SyncronizeProperties() Address = 0x23421f4b (filename not found) [in UE4Editor-UMG.dylib]
UWidget::TakeWidget() Address = 0x233fecd3 (filename not found) [in UE4Editor-UMG.dylib]
UCanvasPanelSlot::BuildSlot(TSharedRef<SConstraintCanvas, (ESPMode::Type)0>) Address = 0x2340996f (filename not found) [in UE4Editor-UMG.dylib]
UCanvasPanel::RebuildWidget() Address = 0x2340a035 (filename not found) [in UE4Editor-UMG.dylib]
UWidget::TakeWidget() Address = 0x233fec59 (filename not found) [in UE4Editor-UMG.dylib]
UUserWidget::RebuildWidget() Address = 0x233fe8ed (filename not found) [in UE4Editor-UMG.dylib]
UWidget::TakeWidget() Address = 0x233fec59 (filename not found) [in UE4Editor-UMG.dylib]
UUserWidget::MakeViewportWidget(bool, bool, bool) Address = 0x23400473 (filename not found) [in UE4Editor-UMG.dylib]
UUserWidget::AddToViewport(bool, bool, bool) Address = 0x23400d7e (filename not found) [in UE4Editor-UMG.dylib]
UUserWidget::execAddToViewport(FFrame&, void*) Address = 0x234b85b1 (filename not found) [in UE4Editor-UMG.dylib]
UFunction::Invoke(UObject*, FFrame&, void*) Address = 0x6adc3a2  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::CallFunction(FFrame&, void*, UFunction*) Address = 0x6baf3b6  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::ProcessContextOpcode(FFrame&, void*, bool) Address = 0x6bb5949  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::ProcessInternal(FFrame&, void*) Address = 0x6bb03e9  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::CallFunction(FFrame&, void*, UFunction*) Address = 0x6baf97a  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::ProcessInternal(FFrame&, void*) Address = 0x6bb03e9  (filename not found) [in UE4Editor-CoreUObject.dylib]
UFunction::Invoke(UObject*, FFrame&, void*) Address = 0x6adc3a2  (filename not found) [in UE4Editor-CoreUObject.dylib]
UObject::ProcessEvent(UFunction*, void*) Address = 0x6bb2c77  (filename not found) [in UE4Editor-CoreUObject.dylib]
AActor::ProcessEvent(UFunction*, void*) Address = 0x762011c  (filename not found) [in UE4Editor-Engine.dylib]
AActor::ProcessUserConstructionScript() Address = 0x763792a  (filename not found) [in UE4Editor-Engine.dylib]
AActor::ExecuteConstruction(FTransform const&, FComponentInstanceDataCache const*) Address = 0x7628523  (filename not found) [in UE4Editor-Engine.dylib]
AActor::RerunConstructionScripts() Address = 0x76374f7  (filename not found) [in UE4Editor-Engine.dylib]
ULevel::IncrementalUpdateComponents(int, bool) Address = 0x78f2414  (filename not found) [in UE4Editor-Engine.dylib]
UWorld::UpdateWorldComponents(bool, bool) Address = 0x7d3f772  (filename not found) [in UE4Editor-Engine.dylib]
FUnrealEdMisc::CB_MapChange(unsigned int) Address = 0xbdb4a74  (filename not found) [in UE4Editor-UnrealEd.dylib]
TBaseRawMethodDelegateInstance_OneParam<FUnrealEdMisc, void, unsigned int>::ExecuteIfSafe(unsigned int) const Address = 0xbe37f4a  (filename not found) [in UE4Editor-UnrealEd.dylib]
UEditorEngine::Map_Load(wchar_t const*, FOutputDevice&) Address = 0xba72c25  (filename not found) [in UE4Editor-UnrealEd.dylib]
UEditorEngine::HandleMapCommand(wchar_t const*, FOutputDevice&, UWorld*) Address = 0xba87a4b  (filename not found) [in UE4Editor-UnrealEd.dylib]
UEditorEngine::Exec(UWorld*, wchar_t const*, FOutputDevice&) Address = 0xba84c78  (filename not found) [in UE4Editor-UnrealEd.dylib]
UUnrealEdEngine::Exec(UWorld*, wchar_t const*, FOutputDevice&) Address = 0xbdc38b6  (filename not found) [in UE4Editor-UnrealEd.dylib]
FEditorFileUtils::LoadMap(FString const&, bool, bool) Address = 0xbaf9a81  (filename not found) [in UE4Editor-UnrealEd.dylib]
FEditorFileUtils::LoadDefaultMapAtStartup() Address = 0xbb01220  (filename not found) [in UE4Editor-UnrealEd.dylib]
FUnrealEdMisc::OnInit() Address = 0xbdb3683  (filename not found) [in UE4Editor-UnrealEd.dylib]
EditorInit(IEngineLoop&) Address = 0xbda99c6  (filename not found) [in UE4Editor-UnrealEd.dylib]
GuardedMain(wchar_t const*) Address = 0x6431fd2  (filename not found) [in UE4Editor]
-[UE4AppDelegate applicationDidFinishLaunching:] Address = 0x6438832  (filename not found) [in UE4Editor]
__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__() Address = 0x91ad9e0c (filename not found) [in CoreFoundation]
_CFXNotificationPost() Address = 0x919cd82d (filename not found) [in CoreFoundation]
-[NSNotificationCenter postNotificationName:object:userInfo:] Address = 0x86bef7ba (filename not found) [in Foundation]
-[NSApplication _postDidFinishNotification] Address = 0x8fa17b69 (filename not found) [in AppKit]
-[NSApplication _sendFinishLaunchingNotification] Address = 0x8fa1789c (filename not found) [in AppKit]
-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] Address = 0x8fa14786 (filename not found) [in AppKit]
-[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] Address = 0x8fa141db (filename not found) [in AppKit]
-[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] Address = 0x86c0df0a (filename not found) [in Foundation]
_NSAppleEventManagerGenericHandler() Address = 0x86c0dd7d (filename not found) [in Foundation]
aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) Address = 0x8e185e1f (filename not found) [in AE]
dispatchEventAndSendReply(AEDesc const*, AEDesc*) Address = 0x8e185c32 (filename not found) [in AE]
aeProcessAppleEvent() Address = 0x8e185b36 (filename not found) [in AE]
AEProcessAppleEvent() Address = 0x879ba161 (filename not found) [in HIToolbox]
_DPSNextEvent() Address = 0x8fa100b6 (filename not found) [in AppKit]
-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] Address = 0x8fa0f89b (filename not found) [in AppKit]
-[NSApplication run] Address = 0x8fa0399c (filename not found) [in AppKit]
tchar_main(int, wchar_t**) Address = 0x643911b  (filename not found) [in UE4Editor]
main() Address = 0x6438b17  (filename not found) [in UE4Editor]
start() Address = 0x936ad5fd (filename not found) [in libdyld.dylib]

You can bind directly to properties too, no need to wrap them in getter functions if all they do is just return the value as is :slight_smile:

I’ll have to add some more checks to invalidate the bindings if the signature changes, because the vm is expecting the exact same signature it creates when it generates the binding.

Okay, I’ve found out the problem and the solution.

The problem

In my nameplate widget, I assumed I could bind the text property to a function with an input. Apparently adding an input variable to a bind function in a widget blueprint crashes UE4.

The solution

Instead of adding an input variable to my bind text function, I created a global variable in the widget blueprint called “ItemName” that I set the return value to.

In my Item blueprint, I cast the widget to a nameplate widget and set the “ItemName” variable in the widget. Done:

How did you you set widget location? I’ve been trying to figure something out for a game of mine.

This isn’t my blueprint, but this is how I did it: UMG Documentation for 4.4 Preview - UI - Unreal Engine Forums

Hope it helps!

This is great, thanks!

For me it crashes all the time (4.7.6). Tried the last two hours, to set a text from the parent actor.

  • Bind to property, set this from the actor on Begin Play → crash
  • Used getter function per binding → crash
  • Created blueprint script component to store params, inject those from the construction script of the parent actor -->crash
  • The same from Begin Play → crash
  • Tried to use a structure to save the params, created structure variable in widet blueprint, tried to save → crash

I’ve given up.

spyro

Hello Spyro

I was unable to reproduce the crashes that you listed above with the information provided. I have a few questions for you that will help narrow down what issue it is that you are experiencing. So that we can try and get a report for the issues that you listed.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a more detailed set of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any blueprints that may be involved with this issue?

Hello Spyro,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.

Thank you.