Announcement

Collapse
No announcement yet.

GC FSM - Event-driven, hierarchical finite state machines in blueprint

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    I'm also starting to run into the issue of the FSM stopping to work on my object but I'm not sure how to debug it properly. The output Log error I get is this -
    Code:
    LogGCFSM: Warning: Event FindTarget not triggered
    What would cause an issue like this? I've been trying to fix it on my end but any help would be super appreciated.
    Last edited by JasonLavoie; 01-30-2020, 09:12 PM.

    Comment


      I found the source of the regression that is causing bugs. This include the following cases:

      1) An FSM unexpectedly stops ticking
      2) "Event X not triggered" messages (that's because the target FSM has stopped, see point 1)
      3) "Assertion failed: !IsUnreachable()"

      I am testing a fix right now and I'm confident I can submit it today. FIY, the problems are triggered by changes in the garbage collection implemented in Unreal 4.24 I was unaware of. Those changes introduced a race condition in the GCFSM code, producing false answers to the question "is the context object of this FSM still reachable"? The code I was using was therefore induced to believe the context object was unreachable when it wasn't, thus stopping the FSM prematurely and causing 1 and 2, or induced to believed the context was still reachable when it wasn't, thus keeping the FSM ticking on an unreachable object and causing 3.
      Gamecentric

      Comment


        The fix was submitted. I'll post here when it's online. Thanks everyone for your patience.
        Gamecentric

        Comment


          The fix was submitted. I'll post here when it's online. Thanks everyone for your patience.
          Seems to be working now! Thank you for quick fix!

          Comment


            Originally posted by staskjs View Post
            Seems to be working now! Thank you for quick fix!

            Indeed, it went online quicker than I expected! So quick I had missed the notification from Epic and forgot to post here... Glad to hear that it works! Thanks to everyone for the reports.
            Just a note, please expect another minor fix this week. It seems that a non-critical, but very annoying, issue previously reported by Ghar has regressed. I already have a fix for that and will submit it soon.
            Gamecentric

            Comment


              Thank you so much for the fix gamecentric ! I've really been enjoying your plugin, it's made prototyping much faster!

              Comment


                Hi, the upcoming Unreal Engine 4.25 introduces a few API breaking changes. Nothing serious, but a few editor classes have been renamed, so the old code will no longer compile as-is. I am monitoring the situation and will publish a UE 4.25 version of GC FSM when the new editor version is officially released. However, for the brave of you that are already experimenting with the new engine and are able to to build the plugin from the sources, I have just pushed a new version, dubbed v1.7.5, of GC FSM. This version includes the necessary UE 4.25 compatibility fixes and no new features or bugfixes.
                Enjoy!
                Gamecentric

                Comment


                  Engine version UE 4.24
                  Plugin version 1.7.4
                  Hello. I have some issue in build. In Editor mode all work clear.
                  Code:
                   === Critical error: === Assertion failed: contextObjectPtr [File:/Plugins/GCFSM/Source/Runtime/Private/GCFSMState.cpp] [Line: 53]  
                  [Callstack] 0x00007ffec020a388 KERNELBASE.dll!UnknownFunction []  
                  [Callstack] 0x00007ff72d61bf76 MyProject.exe!ReportAssert() []  
                  [Callstack] 0x00007ff72d61f878 MyProject.exe!FWindowsErrorOutputDevice::Serialize() []  
                  [Callstack] 0x00007ff72d3f630d MyProject.exe!FOutputDevice::LogfImpl() []  
                  [Callstack] 0x00007ff72d386a07 MyProject.exe!FDebug::AssertFailed() []  
                  [Callstack] 0x00007ff72d388ec0 MyProject.exe!FDebug::CheckVerifyFailedImpl() []  
                  [Callstack] 0x00007ff72c842488 MyProject.exe!UGCFSMState::Initialize() [\plugins\gcfsm\source\runtime\private\gcfsmstate.cpp:53]  
                  [Callstack] 0x00007ff72c844a34 MyProject.exe!UGCFSMState::MakeStateObject() [\plugins\gcfsm\source\runtime\private\gcfsmstate.cpp:38]  
                  [Callstack] 0x00007ff72c84f904 MyProject.exe!UGCFSMState::execMakeStateObject() [\plugins\gcfsm\source\runtime\classes\gcfsmstate.h:47]  
                  [Callstack] 0x00007ff72d92e33f MyProject.exe!UObject::execCallMathFunction() []  
                  [Callstack] 0x00007ff72d93098a MyProject.exe!UObject::execLetObj() []
                  [Callstack] 0x00007ff72d90cef2 MyProject.exe!ProcessLocalScriptFunction() []  
                  [Callstack] 0x00007ff72d8e0a6a MyProject.exe!ProcessScriptFunction<void (__cdecl*)(UObject * __ptr64,FFrame & __ptr64,void * __ptr64)>() []  
                  [Callstack] 0x00007ff72d90caff MyProject.exe!ProcessLocalFunction() []  
                  [Callstack] 0x00007ff72d90cef2 MyProject.exe!ProcessLocalScriptFunction() []  
                  [Callstack] 0x00007ff72d90c771 MyProject.exe!UObject::ProcessInternal() []  
                  [Callstack] 0x00007ff72d705ba9 MyProject.exe!UFunction::Invoke() []  
                  [Callstack] 0x00007ff72d90c297 MyProject.exe!UObject::ProcessEvent() []  
                  [Callstack] 0x00007ff72c842c9c MyProject.exe!UGCFSM::InvokeEntryPoint() [\plugins\gcfsm\source\runtime\private\gcfsm.cpp:290]  
                  [Callstack] 0x00007ff72c8431d4 MyProject.exe!UGCFSMState::LaunchFSM() [\plugins\gcfsm\source\runtime\private\gcfsmstate.cpp:223]  
                  [Callstack] 0x00007ff72c843363 MyProject.exe!UGCFSMUtilities::LaunchFSM() [\plugins\gcfsm\source\runtime\private\gcfsmutilities.cpp:203]  
                  [Callstack] 0x00007ff72c84f2a3 MyProject.exe!UGCFSMUtilities::execLaunchFSM() [\plugins\gcfsm\source\runtime\classes\gcfsmutilities.h:14]  
                  [Callstack] 0x00007ff72d92e33f MyProject.exe!UObject::execCallMathFunction() []  
                  [Callstack] 0x00007ff72d90cef2 MyProject.exe!ProcessLocalScriptFunction() []  
                  [Callstack] 0x00007ff72d90c771 MyProject.exe!UObject::ProcessInternal() []  
                  [Callstack] 0x00007ff72d705ba9 MyProject.exe!UFunction::Invoke() []  
                  [Callstack] 0x00007ff72d90c297 MyProject.exe!UObject::ProcessEvent() []
                  [Callstack] 0x00007ff72fd66fee MyProject.exe!FLatentActionManager::TickLatentActionForObject() []  
                  [Callstack] 0x00007ff72fd4d24f MyProject.exe!FLatentActionManager::ProcessLatentActions() []  
                  [Callstack] 0x00007ff72fd641b8 MyProject.exe!UWorld::Tick() []  
                  [Callstack] 0x00007ff72fbde513 MyProject.exe!UGameEngine::Tick() []  
                  [Callstack] 0x00007ff72c561bab MyProject.exe!FEngineLoop::Tick() []  
                  [Callstack] 0x00007ff72c57407c MyProject.exe!GuardedMain() []  
                  [Callstack] 0x00007ff72c57413a MyProject.exe!GuardedMainWrapper() []  
                  [Callstack] 0x00007ff72c58456f MyProject.exe!WinMain() []  
                  [Callstack] 0x00007ff731587e02 MyProject.exe!__scrt_common_main_seh() [d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
                  [Callstack] 0x00007ffec0de4034 KERNEL32.DLL!UnknownFunction []
                  [Callstack] 0x00007ffec3043691 ntdll.dll!UnknownFunction []
                  It's happen after return from game level to menu level.
                  Last edited by Archizeff; 04-21-2020, 04:09 AM.

                  Comment


                    Hi Archizeff, it's hard to tell without seeing the project... However I can make some guesses. It seems there is a call to LaunchFSM being performed by a latent function on an object that is going to be destroyed soon. Could you at least share the blueprint that is calling LaunchFSM? If you don't feel like posting it in the forum, please request an invitation on the dedicated slack channel.
                    Gamecentric

                    Comment


                      Hi, any chance we could get a 4.25 version sometime soon?

                      Comment


                        A version targeting UE 4.25 has already been submitted to Epic. It should be available on the marketplace early next week.
                        Gamecentric

                        Comment


                          It took a bit longer than expected, but I just received notification that the new version targeting UE 4.25 is now available.
                          Gamecentric

                          Comment


                            Ugh - very irritating, I can select 4.25 when attempting to install, but hitting "Install" does nothing. Installing to 4.24 works fine...I'm guessing this is a problem on Epic's end.

                            Comment


                              We're having the same issue installing from Epic Launcher for 4.25.

                              We tried on another PC and we're getting a message "no compatible engines installed" even though 4.25 is installed.

                              Is there any way to get the 4.25 plugin outside epic?

                              Comment


                                Still waiting for a fix on this. Can't install to 4.25 via the Launcher.

                                Comment

                                Working...
                                X