-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why is client behavior's OnExit
always called twice when exiting a state
#556
Comments
Nice find. I've narrowed it down to these lines, where the |
That indeed looks like some incorrect PR merge. But yes. that part of the code is quite sensitive but that call shouldnt be duplicated. |
Thank you for the investigation |
Is this fix live on the current I am running on the latest package there and I seem to get behaviour where When doing: void onExit() override {
log_info("onexit called");
} I get the print twice when the behaviour is exited due to state change. |
Hi @Crowdedlight, Thank you, |
Can you try apt show ros-humble-smacc2? Our current hypothesis is that you're using an older version of SMACC. Thank you, |
Hi Brett sorry, forgot to include it with the original reply.
The version says 2.3.18 which fits with the latest tag in here, but the tag on github here says it is from 2023, so quite old? |
Looks like that version was pushed on 11/27/24 |
I created a sample state machine
my_state_machine
with create-sm-package.bash. And I ran withros2 run my_state_machine my_state_machine_node
.I noticed that client behavior's
OnExit
is called twice when exiting a state.OnEntry
seems to be called only once but why is it called twice? Here is the log from my_state_machine.Especially these lines
Other sample state machines also do this, so I guess this is the correct behavior but I don't understand the reason behind it.
The text was updated successfully, but these errors were encountered: