pvanallen / delft-ai-toolkit

Tool for Prototyping AI Projects
30 stars 3 forks source link

SubGraph doesn't always pass control to next node #15

Closed pvanallen closed 5 years ago

pvanallen commented 5 years ago

When the SubGraph completes, it does not always pass control on to the next node, and does not deactivate itself. When this happens, it won't accept new activations and won't run at all.

This bug seems to always happen the second time the SubGraph is activated.

Siccity commented 5 years ago

Bug identified. Exit nodes do not exit themselves. Instead they hang as 'active'. A node that is active cannot be activated again, so when the subgraph finishes execution the first time, the Exit node correctly passes control to the parent graph in its OnEnter override. The second time the sub graph runs, the Exit node is already active, so its OnEnter is ignored, and the SubGraph node stalls.

Fixed by simply adding Exit() to the end of OnEnter in the Exit node.