CheckVariable / CheckEvent FSM transition race condition

Forums 💬 NodeCanvas ⚙️ Support CheckVariable / CheckEvent FSM transition race condition

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #18064
    zsoik
    Participant

      I could produce a FSM transition race condition by using the following condition:

      (All true)
      – A blackboard variable X is NULL
      – An event occurs, saving the parameter in the blackboard as X

      The transition never triggers because:

      – Frame the event occurs: Variable is null (Success!) and CheckEvent<T> stores variable in BB (Fail!) -> Fail
      – Frame after event occurs: Variable is not null (Fail!) and CheckEvent<T> yields (Success!) -> Fail

      [attachment file=”11-39-08–002070.png”]

      NC 2.6.4 / Unity 5.5.0p3

      #18066
      zsoik
      Participant

        Can be worked around by using a temporary blackboard variable and a second state that copies the temp to the actual variable:

        [attachment file=”11-46-12–002071.png”]

        #18065
        Gavalakis
        Keymaster

          Hey,
          That is a very special case scenario here, since the value that the event checked is setting, is also the value that is checked itself.
          It is interesting problem though. I will have to take a better look at how it could be solved if required. Definitely not an easy one 🙂

        Viewing 3 posts - 1 through 3 (of 3 total)
        • You must be logged in to reply to this topic.