-
Notifications
You must be signed in to change notification settings - Fork 34
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
Threading causes loss of variable when 'Refresh All' #895
Comments
Hi @brta-jc, thanks for the bug report! Looking at the console output it seems like refreshing of the SMs worked fine up until the point where RAFCON tries to re-arrange the tabs you had open in the GUI to the same constellation you had before pressing I noticed that before it is showing some warnings about a library path misconfiguration. Not sure if it is connected but surely would not hurt to set up these paths properly.
There is a small possibility this is the reason it cannot grab the SMs properly when refreshing (although I couldn't reproduce this right away). So likely you have to adjust your library paths in the If this doesn't help, maybe you can send a minimal example of one of your SMs that causes the problem so I can reproduce it locally and debug from there (also via DM if you prefer)? |
Hi Johannes, |
Hi @sillkjc, I tried to open it but it's using a library called |
rf_init_ros.zip |
So for me it works all fine. Opening and refreshing does not cause any problems (fyi, I placed the What version of RAFCON are you using? |
Hi @JohannesErnst, See the main function in the python script - rf we use the The failure in this example is a bit different to the one above, but I'm guessing could be the cause of that failure too? |
Hi @brta-hj, I quickly tested your setup and expectantly run into the same error. But, as you already mentioned, I think it's more of a
I recommend to setup some debug environment and try to find where the variable gets lost and in how far it is connected to the threading. Unfortunately, I cannot be of more help here as I haven't tried working with Is the only reason why you use |
Hi @JohannesErnst, Sorry for the delayed response. Yes, the main reason for now is to prevent the launch from blocking. However we are also looking into spawning parallel instance(s) of RAFCON from an already running state machine (not sure if this is possible via the API, but it looks like I can run more than one instance of the GUI and different state machines at the same time if launched from separate terminal windows). With regard to the error from the previous post, I tried to debug it and looks like
For now we have just pushed ahead with |
Thanks for the follow up. I'm glad you found a workaround for now! To summarize: Somehow, a variable (concretely I hope to come back to this when starting to work with I will rename the issue to better describe the error. |
We've had a bug appear a few times which occurs when pressing the 'Refresh All' button in the file menu. 'Refresh libraries' works fine.
This will happen reliably ever time we hit refresh, even after closing and reopening the GUI and SM. Vanilla new state machines are fine, so something seems to be corrupting the state machines we are authoring.
Any help diagnosing and preventing further corruption of our SM's would be very helpful!
Many thanks
The text was updated successfully, but these errors were encountered: