Git Product home page Git Product logo

Comments (7)

 avatar commented on June 3, 2024 3

OS: Ubuntu 18.04
ROS: Melodic
Flexbe_app: 2.2.1
Flexbe_behavior_enginer: 1.2.1

The problem is still here. If I update the Python code of a state and save it, flexbe app does not execute the updated state but the previous version of it. However, if I launch the flexbe app again, it executes the updated version. It makes it really difficult for debugging..
Any plan to fix it?

from flexbe_app.

pschillinger avatar pschillinger commented on June 3, 2024

The referenced update function is automatic and works in the background. Using Ubuntu's mechanism to receive updates about changed files, the state files are automatically re-loaded when such notifications are received. No need to do something manually, just save the state's python file.

from flexbe_app.

asierfernandez avatar asierfernandez commented on June 3, 2024

We are experiencing the same issue. We've tested it under Ubuntu 16.04 and Ubuntu 18.04, in both cases with flexbe_app version 2.2.4

If we edit a python script and save it, flexbe_app automatically detects it and its integrated console prompts and through this error:

ERROR: ENOENT: no such file or directory, open
`path_to_state.py.xxx____xxxx.py`

Even that error, the application can be launched, but changes made in the script are not available. We need to re-launch flexbe_app.

If more info is required, please let me know.

from flexbe_app.

pschillinger avatar pschillinger commented on June 3, 2024

I indeed found an issue that prevented the automated state reloading when using the Python parser: Since Python internally caches any previously imported module and does not reload it again, the state did not update despite being triggered correctly. This was not an issue for the (default) regex parser and should be fixed for the Python parser by the above commit. Does this help?

The file path path_to_state.py.xxx____xxxx.py from the error message looks weird, not sure where this could come from. What would be the correct path?

from flexbe_app.

asierfernandez avatar asierfernandez commented on June 3, 2024

Even applying aa61ea9, I continue having the same behavior.

I've figured out what path_to_state.py.xxx____xxxx.pyis.
path_to_python_script.py + md5sum of previous path + .py

I hope it helps!

from flexbe_app.

joao-aguizo avatar joao-aguizo commented on June 3, 2024

I think this issue was caused by this hotfix: team-vigir/flexbe_behavior_engine@bbe82cf, since only after applying it to an older version of flexbe_behavior_engine that I am using (https://github.com/team-vigir/flexbe_behavior_engine/tree/1.2.5), I have started watching the aforementioned issue.

UNRELATED: I had to apply this hotfix so that I can consistently run some behaviors. That being said, had I not applied this fix I would only be able to run some behaviors that rely on services once, being that the second time would fail with the following error:
ImportError: No module named srv

from flexbe_app.

dcconner avatar dcconner commented on June 3, 2024

Any status updates on this? Are people still experiencing issues?

If I understand correctly, you are editing the python state implementation files, and want those changes reflected when you run a behavior without rebuilding and restarting FlexBE.

I presume this is on a single machine running from devel in ROS 1.

from flexbe_app.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.