keywords: UE4, Bind Function, Error

Testing Env:
v4.22

Callstack of error at binding function:

LogOutputDevice: Error: === Handled ensure: ===
LogOutputDevice: Error: Ensure condition failed: InvocationList[ CurFunctionIndex ] != InDelegate [File:f:\epicgames\ue_4.22\engine\source\runtime\core\public\UObject/ScriptDelegates.h] [Line: 556]
LogOutputDevice: Error: Stack: 
LogOutputDevice: Error: [Callstack] 0x00007ffd2030c2a9 UE4Editor-TestTD.dll!<lambda_1e25f1f41a60a8996b04cdc2c080bb35>::operator()() [f:\epicgames\ue_4.22\engine\source\runtime\core\public\uobject\scriptdelegates.h:556]
LogOutputDevice: Error: [Callstack] 0x00007ffd203033f1 UE4Editor-TestTD.dll!TMulticastScriptDelegate<FWeakObjectPtr>::Add() [f:\epicgames\ue_4.22\engine\source\runtime\core\public\uobject\scriptdelegates.h:327]
LogOutputDevice: Error: [Callstack] 0x00007ffd2030356b UE4Editor-TestTD.dll!ATestTDCharacter::BeginPlay() [f:\source\work\testtd\source\testtd\testtdcharacter.cpp:151]
LogOutputDevice: Error: [Callstack] 0x00007ffd2ff71af6 UE4Editor-Engine.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd3108c559 UE4Editor-Engine.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd305f2721 UE4Editor-Engine.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd31046fbe UE4Editor-Engine.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd305b97bf UE4Editor-Engine.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd2efeb924 UE4Editor-UnrealEd.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd2f00ab24 UE4Editor-UnrealEd.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd2f022c7f UE4Editor-UnrealEd.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd2eaffc4a UE4Editor-UnrealEd.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd2f31c836 UE4Editor-UnrealEd.dll!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6d31b6bb1 UE4Editor.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6d31c554c UE4Editor.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6d31c55ca UE4Editor.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6d31d316c UE4Editor.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ff6d31d5b8e UE4Editor.exe!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd8ef68102 KERNEL32.DLL!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007ffd8f17c5b4 ntdll.dll!UnknownFunction []
LogStats:                SubmitErrorReport -  0.000 s
LogStats:                    SendNewReport -  0.345 s
LogStats:             FDebug::EnsureFailed -  0.664 s

Reason:
Bug of Blueprint VM.

Solutions (1-out-of-m):

  • Use pure C++ Actor without Blueprint.
  • Or remove macro UFUNCTION of functoin in your headers.
  • Or renew Blueprint to replace old Blueprint.
  • Or use AddUniqueDynamic() instead of AddDynamic().(Thanks Artyom Sukhliak for sharing).
  • Or rename function.(Thanks Franco André Caballero Torres for sharing).

人类侥幸拥有了智慧,就应该善用它。——王小波